Page 431 - 3-2
P. 431
assign lamp_led = (led_dipsw == 1)? 2'b11: 2'b00; // dipsw 가 1 이면
켜짐
assign road_led = (led_dipsw == 1)?(cnt_1 >= 25000000)?8'hff:8'h00:8'h00; // dipsw 가 1 이면
1 초동안 깜빡거림
assign fnd_on = (c_state == PERSON)?1'b1:1'b0; // 사람 통행이면
FND 를 켜라
parameter CAR = 2'b00, CHANGE = 2'b01, PERSON = 2'b10; // CAR -> 차 통행 CHANGE
-> 바뀌는 시점 PERSON -> 사람 통행
always@(posedge clk, negedge rst)
begin
if(!rst) cnt_1 <= 0;
else
begin
if(cnt_1 >= 50000000) cnt_1 <= 0;
else cnt_1 <= cnt_1 + 1;
end
end
always@(posedge clk, negedge rst)
begin
if(!rst) cnt_3 <= 0;
else
begin
if(c_state == CHANGE)
begin
if(cnt_3 >= 50000000*3) cnt_3 <= 0;
else cnt_3 <= cnt_3 + 1;
end
else cnt_3 <= 0;
end
end
always@(posedge clk, negedge rst)
begin
if(!rst) cnt_15 <= 0;
- 431 -