⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 softdrink.v

📁 自动售货机实现
💻 V
字号:
module softdrink(coin_in,reset,clk,ledgreen,ledred,change_indicate);

     input coin_in,reset,clk;
     output ledgreen; // take away the drink
     output ledred;  //not enough money 
     output change_indicate; //take away the change
     reg   ledgreen,ledren,change_indicate;
     
     reg[2:0]currentstate,nextstate;
     
     parameter STA0=3'b000;
     parameter STA1=3'b001;
     parameter STA2=3'b010;
     parameter STA3=3'b011;
     
        
    
     
     
always@(posedge clk or negedge reset)
     if(!reset)
        currentstate<=STA0;
     else
        currentstate<=nextstate;
        
always@(reset or currentstate or conin_in)
    case(currentstate)
       STA0:
           if(conin_in)//COIN_10coin
             begin 
                 nextstate=STA2;
                 ledgreen=1'b0;
                 ledred=1'b0;
                 change_indicate=1'b0;
             end
           else//COIN_5coin
              begin
                  nextstate=STA1;
                 ledgreen=1'b0;
                 ledred=1'b1;
                 change_indicate=1'b0;
              end
       STA1:
           if(conin_in)//COIN_10coin
           begin
              nextstate=STA3;
              ledgreen=1'b0;
              ledred=1'b0;
              change_indicate=1'b0;
           end
           else  //COIN_5coin
           begin
              nextstate=STA2;
              ledgreen=1'b0;
              ledred=1'b0;
              change_indicate=1'b0;
           end
              
       STA2: 
           begin        
              nextstate=STA0;
              ledgreen=1'b1;
              ledred=1'b0;
              change_indicate=1'b0;
          end
           
       STA3:
            begin
              nextstate=STA0;
              ledgreen=1'b1;
              ledred=1'b0;
              change_indicate=1'b1;
            end
           
       default:
           begin
               nextstate=STA0;
               ledgreen=1'b0;
               ledred=1'b0;
                change_indicate=1'b0;
           end
            
   endcase
            
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -