?? softdrink.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 + -