Page 432 - 3-2
P. 432
else
begin
if(c_state == CAR || c_state == PERSON)
begin
if(cnt_15 >= 50000000*15) cnt_15 <= 0;
else cnt_15 <= cnt_15 + 1;
end
else cnt_15 <= 0;
end
end
always@(c_state)
begin
case(c_state)
CAR:
begin
if(cnt_15 >= 50000000*15) n_state <= CHANGE;
else n_state <= CAR;
end
CHANGE:
begin
if(cnt_3 >= 50000000*3) n_state <= PERSON;
else n_state <= CHANGE;
end
PERSON :
begin
if(cnt_15 >= 50000000*15) n_state <= CAR;
else n_state <= PERSON;
end
default: n_state <= CAR;
endcase
end
always@(posedge clk, negedge rst)
begin
if(!rst) c_state <= CAR;
- 432 -