Page 186 - 3-2
P. 186
if(threed_idle)
threed_cnt<=0;
else
begin
threed_cnt<=threed_cnt+16'd1;
if(threed_cnt_max) threed_state<=~threed_state;
end
////////////////////////////////////////////
always @(posedge clk,negedge reset)
if(!reset) cs<=idle;
else
cs<=ns;
always @(cs)
case(cs)
idle : begin // 초기에 1 층까지 내려감
fnd_data=8'b11110111;
one_flag=0;
three_flag=0;
door_flag=0;
yellow=1;
green=0;
if(~bot_idle & bot_cnt_max & bot_state==1) begin
mo=2'b00;
ns=ones;
end
else begin mo=2'b11; ns=idle; end
end
ones : begin
// 현재 1 층
fnd_data=8'b11111001;
door_flag=1;// 문이 열렸다 닫힘
yellow=0;
green=0;
if(((~two_idle & two_cnt_max & two_state)||
(~twod_idle & twod_cnt_max & twod_state)||
(~twou_idle & twou_cnt_max & twou_state)||
(cf==2))&&(cnt==450000000)==1) begin
ns=M1F_2F;//2 층을 누를 때
end
else if(((~three_idle & three_cnt_max & three_state)||
(~threed_idle & threed_cnt_max & threed_state)||
(cf==3)) && (cnt==450000000)==1) begin
- 186 -