大规模数字逻辑课程设计-交通灯设计

上传人:aa****6 文档编号:29989918 上传时间:2018-01-26 格式:DOC 页数:10 大小:128KB
返回 下载 相关 举报
大规模数字逻辑课程设计-交通灯设计_第1页
第1页 / 共10页
大规模数字逻辑课程设计-交通灯设计_第2页
第2页 / 共10页
大规模数字逻辑课程设计-交通灯设计_第3页
第3页 / 共10页
大规模数字逻辑课程设计-交通灯设计_第4页
第4页 / 共10页
大规模数字逻辑课程设计-交通灯设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《大规模数字逻辑课程设计-交通灯设计》由会员分享,可在线阅读,更多相关《大规模数字逻辑课程设计-交通灯设计(10页珍藏版)》请在金锄头文库上搜索。

1、大规模数字逻辑课程设计题目:交通灯设计学 号: xxx 姓 名: xxx 班 级: xxx 2011 年 12 月 4 日2目录1.交通信号灯控制的实验要求与思路 31.1 实验要求 31.2 实验思路 32.系统逻辑设计: 43.源程序代码 4(1)分频器部分 4(2) 控制模块 54.实验步骤: 75. 实验原理图: 76.分配管脚 87.运行界面: 88.总结与体会 109.参考文献 1031. 交通信号灯控制的实验要求与思路1.1 实验要求(1)在交通灯控制系统中,要求东、西、南、北都有绿灯、黄灯、红灯。当控制系统启动执行时,南北方向绿灯亮 10s,过后由绿灯变为黄灯并亮5s,而同时在

2、这 15s 内,东西方向为红灯并保持 15s;当 15s 过后,南北方向由黄灯变为红灯并亮 15s,东西方向绿灯先亮 10s,然后换为黄灯亮 5s;按照这个控制步骤就可以实现系统的单次循环,重复以上四个状态就可以实现交通灯控制系统的循环运作。(2)南北向的红灯、黄灯、绿灯分别对应开发板上的LED0,、LED1、LED2;东西向的红灯、黄灯、绿灯分别对应开发板上的LED3、LED4、LED5;(3)时间分配表1.2 实 验思路由上图的时间分配可以列出其状态列表南、北向灯 东、西向灯状态绿灯 黄灯 红灯 绿灯 黄灯 红灯S0 1 0 0 0 0 1S1 0 1 0 0 0 1S2 0 0 1 1

3、0 0状态 0 状态 1 状态 2 状态 3南北绿(10 秒) 黄(5 秒) 红(10 秒) 红(5 秒)东西红(10 秒) 红(5 秒) 绿(10 秒) 黄(5 秒)4S3 0 0 1 0 1 0根据设计要求,系统状态转换图如图所示。状态转换图2. 系统逻辑设计:根据以上的设计要求,运用模块化的设计思路,我们在 Quartus II8.0 软件系统中设计了交通灯控制模块、分频器模块,并通过各个模块程序之间的端口合理连接和协调,成功设计出交通信号灯控制电路,得到逻辑结构原理图,即为整个交通信号灯控制电路的逻辑结构。使用 VerilogHDL 语言设计相应的模块。3.源程序代码(1)/ 分频器部

4、分 ,获得便于试验观察的时钟信号module clk_div(clk_out,clk_in);input clk_in;output clk_out;reg clk_out;reg25:0 counter; /50_000_000=1011_1110_1011_1100_0010_0000_00parameter cnt=50_000_000; / 50MHz is the sys clk,50_000_000=2FAF080S0S1S2S35always (posedge clk_in)begincounter=counter+1;if(counter=cnt/2-1)beginclk_ou

5、t=!clk_out;counter=0;endendendmodule(2)/控制模块:module traffic(clk,reset,red1,yellow1,green1,red2,yellow2,green2);input clk,reset;output red1,yellow1,green1,red2,yellow2,green2; parameter st0=0,st1=1,st2=2,st3=3;reg4:0 state,nxstate;reg red1,yellow1,green1,red2,yellow2,green2;always (posedge clk or pos

6、edge reset)beginif(reset)state=st0;elsestate=nxstate;endalways (state)case(state)6st0:begin/S0:南北绿(10 秒),东西 红(10 秒)red1=1b0;green1=1b1;yellow1=1b0;red2=1b1;green2=1b0;yellow2=1b0;nxstate=st1;endst1:begin/S1 南北黄(5 秒),东西红(5 秒)red1=1b0;green1=1b0;yellow1=1b1;red2=1b1;green2=1b0;yellow2=1b0;nxstate=st2;

7、endst2:begin/S2:南北红(10 秒),东西绿(10 秒)red1=1b1;green1=1b0;yellow1=1b0;red2=1b0;green2=1b1;yellow2=1b0;nxstate=st3;endst3:begin /S3:南北红(5 秒),东西黄(5 秒)red1=1b1;green1=1b0;7yellow1=1b0;red2=1b0;green2=1b0;yellow2=1b1;nxstate=st0;endendcaseendmodule4.实验步骤:将 MODUL_SEL 拨码开关组合为 1,2,8 拨上 3,4,5,6,7 拨下,是数码管显示为 C1

8、.1建立工程,对建立的工程命名、文件命名,选择相应的芯片及配置,然后在打开的工程下建立 VerilogHDL 语言编写的文件:文件名分别是traffic、 clk_div,将这两个文件同时加入此工程内。2将相应的文件转换为符号文件,并创建一个 block,生成电路原理图,然后将此文件保存到当前工程下,并将文件名命名为 Block,然后将其设置为顶层实体。3将步骤 2 中生成的 Block 文件先进行综合,待综合无误之后进行管脚分配,之后进行全编译生成我们需要下载到开发板上的 sof 文件,然后加入下载界面,选择相应的设置,且在 JTAG 模式下,然后下载该 sof 文件来观察开发板上 LED

9、的变化现象。5. 实验原理图:8从图中可以看出开发板的系统时钟在经过预分频后会由 50MHZ 分频到我们所需要的 1HZ,然后在时钟的控制下,信号灯会一次按照指定的顺序来亮或者灭,从而达到信号灯的循环控制。6.分配管脚芯片引脚设计端口EP2C35F484C7开发平台模块clk_in PIN_L1red1 PIN_Y13 LED0yellow1 PIN_U14 LED1green1 PIN_W16 LED2red2 PIN_AA16 LED3yellow2 PIN_AA17 LED4green2 PIN_V14 LED5reset PIN_U227.运行界面:(1)根据 traffic 文件代码

10、创建符号文件:9(2)根据 clk_div 文件代码创建符号文件:(3)综合时显示框(4)全编译时显示框(5)下载文件的界面:108.总结与体会通过这次的课程设计,使我对一些基础知识进一步的理解,熟练了软件Qutars II8.0 中的一些基本操作,并且对一个设计实例中的整个运作流程有所了解,知道了每个操作步骤的具体作用,这样可以是自己避免一些常规的错误。在此编写控制信号的代码时候,其中有些语法知识需要认真理解,当编译代码时候发生错误时需要一步一步地来进行调试,只有这样才能够得到我们所需要的理想值。9.参考文献VerilogHDL 综合实用教程 J.Bhasker 著 孙海平 译清华大学出版社 2004. 1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号