1. 程式人生 > 其它 >牛客網自動售賣機

牛客網自動售賣機

描述:

請設計狀態機電路,實現自動售賣機功能,A飲料5元錢,B飲料10元錢,售賣機可接收投幣5元錢和10元錢,每次投幣只可買一種飲料,考慮找零的情況。

電路的介面如下圖所示。sel訊號會先於din訊號有效,且在購買一種飲料時值不變。

  • sel為選擇訊號,用來選擇購買飲料的種類,sel=0,表示購買A飲料,sel=1,表示購買B飲料;
  • din表示投幣輸入,din=0表示未投幣,din=1表示投幣5元,din=2表示投幣10元,不會出現din=3的情況;
  • drinks_out表示飲料輸出,drinks_out=0表示沒有飲料輸出,drinks_out=1表示輸出A飲料,drinks_out=2表示輸出B飲料,不出現drinks_out =3的情況,輸出有效僅保持一個時鐘週期;
  • change_out表示找零輸出,change_out=0表示沒有找零,change_out=1表示找零5元,輸出有效僅保持一個時鐘週期。

介面電路圖如下:

輸入描述:

   input                clk   ,
   input                rst_n ,
   input                sel   ,//sel=0,5$dranks,sel=1,10&=$drinks
   input          [1:0] din   ,//din=1,input 5$,din=2,input 10$

輸出描述:

   output   reg  [1:0] drinks_out,

   output    reg        change_out