EDA设计交通信号灯.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA设计交通信号灯 EDA设计交通信号灯 EDA设计交通信号灯 实验四:交通信号灯的设计 实验要求: 1)当东西走向的绿灯亮时,南北走向的红灯亮,并保持3个clock; 2)当东西走向的黄灯亮时,南北走向的红灯亮,并保持1个clock; 3)当东西走向的红灯亮时,南北走向的绿灯亮,并保持3个clock; 4)当东西走向的红灯亮时,南北走向的黄灯亮,并保持1个clock; 实验原理 程序设计 仿真实验 Verilog HDL代码如下: module traffic (clock,reset,red1,yellow1,yellow2,green1,red2,green2); input clock,reset; output red1,yellow1,green1,red2,yellow2,green2; parameter st0 = 0,st1 = 1,st2= 2,st3 = 3,st4=4,st5=5,st6=6,st7=7; reg[2:0]state,nxstate; reg red1,yellow1,green1,red2,yellow2,green2; always@(posedge clock or posedge reset) begin if(reset) state=st0; else state = nxstate; end always@(state) begin red1=1b0;yellow1=1b0;green1= 1b0; red2=1b0;yellow2=1b0;green2=1b0; case(state) st0:begin green1= 1b1; red2=1b1; nxstate = st1; end st1:begin green1= 1b1; red2=1b1; nxstate= st2; end st2:begin green1= 1b1; red2=1b1; nxstate= st3; end st3:begin yellow1= 1b1; red2= 1b1; nxstate=st4; end st4:begin red1= 1b1; green2= 1b1; nxstate = st5; end st5:begin red1= 1b1; green2= 1b1; nxstate = st6; end st6:begin red1= 1b1; green2= 1b1; nxstate = st7; end st7:begin red1= 1b1; yellow2= 1b1; nxstate = st0; end endcase end endmodule 建立波形编辑文件进行功能仿真,仿真结果(局部)如下图所示 生成的RTL电路如下 实验总结 从实验要求瞧出红绿灯转换只有三个状态,但从代码中可以得知,程序中共设置了七个状态,但总的时钟不变,还就是8个时钟。实质上就就是状态一与状态四的时钟延长至3个,从而满足了实验要求。

文档评论(0)

锦绣中华 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档