📄 新建 文本文档.txt
字号:
module trafficLight(clk_system,reset,snCar, ewCar, snRed, snYellow, snGreen, ewRed, ewYellow, ewGreen); input clk_system; input reset; input snCar; input ewCar; output snRed, snYellow, snGreen; output ewRed, ewYellow, ewGreen; reg snRed, snYellow, snGreen; reg ewRed, ewYellow, ewGreen; reg[3:0] state; reg[7:0] counter; reg enable; initial begin snRed <= 0; snYellow <= 0; snGreen <= 0; ewRed <= 0; ewYellow <= 0; ewGreen <= 0; state <= 4'b0001; counter = 0; enable = 0; end always@(posedge clk_system) if(reset) begin snRed <= 0; snYellow <= 0; snGreen <= 0; ewRed <= 0; ewYellow <= 0; ewGreen <= 0; state <= 4'b0001; counter <= 0; enable <= 0; end else case({snCar,ewCar}) 2'b01 : begin ewGreen <= 1; ewYellow <= 0; ewRed <= 0; snGreen <= 0; snYellow <= 0; snRed <= 1; state <= 4'b0001; counter <= 0; enable <= 0; end 2'b10 : begin ewGreen <= 0; ewYellow <= 0; ewRed <= 1; snGreen <= 1; snYellow <= 0; snRed <= 0; state <= 4'b0001; counter <= 0; enable <= 0; end 2'b00 : begin state <= 4'b0001; counter <= 0; enable <= 0; end 2'b11 : begin case(state) 4'b0001:begin if(counter >=50 ) begin state <= 4'b0010; counter <= 0; enable <= 0; end else if(enable == 0) begin ewGreen <= 1; ewYellow <= 0; ewRed <= 0; snGreen <= 0; snYellow <= 0; snRed <= 1; enable <= 1; counter <= counter + 1; end else counter <= counter + 1; end 4'b0010:begin if(counter >=20 ) begin state <= 4'b0100; counter <= 0; enable <= 0; end else if(enable == 0) begin ewGreen <= 0; ewYellow <= 1; ewRed <= 0; snGreen <= 0; snYellow <= 0; snRed <= 1; enable <= 1; counter <= counter + 1; end else counter <= counter + 1; end 4'b0100:begin if(counter >=50 ) begin state <= 4'b1000; counter <= 0; enable <= 0; end else if(enable == 0) begin ewGreen <= 0; ewYellow <= 0; ewRed <= 1; snGreen <= 1; snYellow <= 0; snRed <= 0; enable <= 1; counter <= counter + 1; end else counter <= counter + 1; end 4'b1000:begin if(counter >=20 ) begin state <= 4'b0001; counter <= 0; enable <= 0; end else if(enable == 0) begin ewGreen <= 0; ewYellow <= 0; ewRed <= 1; snGreen <= 0; snYellow <= 1; snRed <= 0; enable <= 1; counter <= counter + 1; end else counter <= counter + 1; end endcase end endcase endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -