资源描述:
《verilog交通灯设计教学内容.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、…………………………………………………………最新精品资料推荐……………………………………………………modulejtd(zhi,clk,u,i);inputzhi,clk;output[2:0]u,i;reg[2:0]u,i;regd;always@(posedgeclk)beginif(zhi)beginu[2:0]<=3'b100;i[2:0]<=3'b001;endelsebegind<=d+1;if(d==30)u[2:0]<=3'b010;if(d==34)beginu[2:0]<=3'b001;i[2:0]<=3'b100;endif(d=
2、=64)beginu[2:0]<=3'b001;i[2:0]<=3'b010;endif(d==68)beginu[2:0]<=3'b100;i[2:0]<=3'b001;d<=0;end…………………………………………………………最新精品资料推荐……………………………………………………9…………………………………………………………最新精品资料推荐……………………………………………………modulejtd(zhi,u,i,clk,rst);inputzhi,clk,rst;output[2:0]u,i;reg[2:0]u,i;reg[4:0]state
3、;reg[5:0]d;initiald=0;parameters0=5'b00001,s1=5'b00010,s2=5'b00100,s3=5'b01000,s4=5'b10000;always@(posedgeclk)beginif(!rst)beginstate<=s0;u[2:0]<=3'b100;i[2:0]<=3'b001;endelsebegincase(state)s4:beginu[2:0]<=3'b100;i[2:0]<=3'b001;if(zhi)beginstate<=s0;endelsestate<=s4;ends0:begin
4、u[2:0]<=3'b100;i[2:0]<=3'b001;d=d+1;if(d==30)beginstate<=s1;d=0;endelsestate<=s0;ends1:beginu[2:0]<=3'b010;i[2:0]<=3'b001;d=d+1;if(d==4)beginstate<=s2;d=0;endelsestate<=s1;ends2:beginu[2:0]<=3'b001;i[2:0]<=3'b100;d=d+1;if(d==30)beginstate<=s3;d=0;endelsestate<=s2;ends3:beginu[2:
5、0]<=3'b001;i[2:0]<=3'b010;d=d+1;if(d==4)beginstate<=s4;d=0;endelsestate<=s3;enddefault:state<=s4;endcaseendendendmodule…………………………………………………………最新精品资料推荐……………………………………………………9…………………………………………………………最新精品资料推荐……………………………………………………黄灯闪modulejtde(zhi,u,i,clk,rst);inputzhi,clk,rst;output[2:0]
6、u,i;reg[2:0]u,i;reg[4:0]state;reg[6:0]d;initiald=0;parameters0=5'b00001,s1=5'b00010,s2=5'b00100,s3=5'b01000,s4=5'b10000;always@(posedgeclk)beginif(!rst)beginstate<=s4;u[2:0]<=3'b100;i[2:0]<=3'b001;endelsebegincase(state)s4:beginu[2:0]<=3'b100;i[2:0]<=3'b001;if(zhi)beginstate<=s0
7、;endelsestate<=s4;ends0:beginu[2:0]<=3'b100;i[2:0]<=3'b001;d=d+1;if(d==30)beginstate<=s1;d=0;endelsestate<=s0;ends1:begind=d+1;if(d==1)beginu[2:0]<=3'b000;i[2:0]<=3'b001;state<=s1;endif(d==2)beginu[2:0]<=3'b010;i[2:0]<=3'b001;state<=s1;endif(d==3)beginu[2:0]<=3'b000;i[2:0]<=3'b0
8、01;state<=s1;endif(d==4)beginu[2:0]<=3'b010;i[2