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 -
   427   428   429   430   431   432   433   434   435   436   437