Page 190 - 3-2
P. 190

yellow = 1;
                                            green = 0;
                                            if(~mid_idle & mid_cnt_max & mid_state==1) begin
                                    // 2 층 도달
                                                    mo = 2'b00;
                                                    ns = twos;
                                            end
                                            else if(~one_idle & one_cnt_max & one_state) begin
                                    // 2 층 누르고 1   층도 누름
                                                    one_flag = 1;
                                            end
                                            else begin mo = 2'b11; ns = M3F_2F; end
                                            end


                    Mtwou : begin // 1  층에서 3   층으로 이동중에 외부 2         층이 눌려졌을 때
                                            fnd_data = 8'b11111110;
                                            door_flag = 0;
                                       if(~mid_idle & mid_cnt_max & mid_state==1) begin
                                                    yellow = 0;
                                                    green = 0;
                                                    mo = 2'b00;
                                                    ns = MM2F_3F;
                                            end
                                       else if(~top_idle & top_cnt_max & top_state==1) begin
                                                    yellow = 0;
                                                    green = 0;
                                                    mo = 2'b00;
                                                    ns = threes;
                                            end
                                       else begin yellow=0; green=1; mo=2'b10; ns=Mtwou; end
                                       end


                    Mtwod : begin // 3  층에서 1   층으로 이동 중에 외부 2         층이 눌려졌을 때
                                            fnd_data = 8'b11110111;
                                            door_flag=0;
                                       if(~mid_idle & mid_cnt_max & mid_state==1) begin
                                                    yellow = 0;
                                                    green = 0;
                                                    mo = 2'b00;
                                                    ns = MM2F_1F;
                                            end
                                       else if(~bot_idle & bot_cnt_max & bot_state==1) begin
                                                    yellow = 0;
                                                    green = 0;
                                                    mo = 2'b00;


                                                         - 190 -
   185   186   187   188   189   190   191   192   193   194   195