牛客網自動售賣機
阿新 • • 發佈:2022-05-31
描述:
請設計狀態機電路,實現自動售賣機功能,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