数字逻辑电路和pld设计

数字逻辑电路和pld设计

ID:18700251

大小:251.00 KB

页数:12页

时间:2018-09-20

数字逻辑电路和pld设计_第1页
数字逻辑电路和pld设计_第2页
数字逻辑电路和pld设计_第3页
数字逻辑电路和pld设计_第4页
数字逻辑电路和pld设计_第5页
资源描述:

《数字逻辑电路和pld设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数字逻辑电路和PLD设计报告题目:红绿灯交通管理器的设计学院:通信与信息工程学院学号:09123904姓名:辛蔚桌号:13课程时间:2011-6-24~2011-6-27课程设计:红绿灯交通管理器一、设计要求:设计十字路口的交通管理器,该管理器控制甲乙垂直道路的红黄绿三色灯显示情况和各自显示时间,指挥车辆和行人安全通行,要求用VHDL语言对其进行描述。二、设计内容:该设计采用分层描述方法,以图形输入和原理输入混合方式建立VHDL描述文件。交通管理器顶层图形输入文件有控制器和三个各位模26、模30、模5的定时器组成,分

2、别控制两个道口的通行时间和公共停车时间,系统由两组红黄绿指示灯和三组七段显示器作倒计时显示,由BCD码驱动,控制器按照流程图中状态的变化来控制红黄绿灯的变换以及计数器的计时,当某个计数器工作技术信号W1、W2或W3,由“0”转为“1”时,表示计满,控制器转向下一个状态并开始计时,各定时器连接控制器的C1、C2或C3,当为“1”时,该计数器计时结束,整个系统循环互联。当计数器计数时,各个减法器同时做倒计时,输出接七段译码显示器做倒计时显示。各减法器具有置数控制端,当控制端为“1”时,预置30、26、5。可以将时钟信号和

3、置数信号一同设为进程敏感信号,减法计数器的使能端也对应控制器的C1、C2和C3上升沿开始倒计时。三、工作流程图甲道禁止,乙道通行甲道禁止,乙道停车甲道通行,乙道禁止甲道停车,乙道禁止W1=1?W2=1?W3=1?W2=1?YNNNNYYYS0S1S2S3R1=1C1=1G2=1R1=1C2=1Y2=1G1=1C3=1R2=1Y1=1C2=1R2=100011110图中R1、Y1、G1是甲道红黄绿灯;R2、Y2、G2是乙道红黄绿灯。C1、C2、C3是定时器工作信号。四、VHDL程序设计及波形仿真结果1)顶层文件图及波形

4、仿真结果图2)“trafficcontrol”模块程序设计及波形仿真结果图libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;entitytrafficcontrolisport(clk:instd_logic;c1,c2,c3:outstd_logic;w1,w2,w3:instd_logic;r1,r2:outstd_logic;y1,y2:outstd_logic;g1,g2:outstd_logic;reset:instd_logic);endtrafficcontrol;archi

5、tectureaoftrafficcontrolistypestate_spaceis(s0,s1,s2,s3);signalstate:state_space;beginprocess(clk)beginifreset='1'thenstate<=s0;elsif(clk'eventandclk='1')thencasestateiswhens0=>ifw1='1'thenstate<=s1;endif;whens1=>ifw2='1'thenstate<=s2;endif;whens2=>ifw3='1'then

6、state<=s3;endif;whens3=>ifw2='1'thenstate<=s0;endif;endcase;endif;endprocess;c1<='1'whenstate=s0else'0';c2<='1'whenstate=s1orstate=s3else'0';c3<='1'whenstate=s2else'0';r1<='1'whenstate=s1orstate=s0else'0';y1<='1'whenstate=s3else'0';g1<='1'whenstate=s2else'0';r2

7、<='1'whenstate=s2orstate=s3else'0';y2<='1'whenstate=s1else'0';g2<='1'whenstate=s0else'0';enda;1)模30加法器程序设计及波形仿真图libraryieee;useieee.std_logic_1164.all;entitycount30isport(clk:instd_logic;enable:instd_logic;c:outstd_logic);endcount30;architectureaofcount30isbegi

8、nprocess(clk)variablecnt:integerrange30downto0;beginif(clk'eventandclk='1')thenifenable='1'andcnt<30thencnt:=cnt+1;elsecnt:=0;endif;endif;ifcnt=30thenc<='1';elsec<='0';endif

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。