📄 stamp_seller.v
字号:
// Module Declaration
module stamp_seller
(
// {{ALTERA_ARGS_BEGIN}}
RESET, DEAL, CLK, IN_PUT, Coin_In_LED0, Coin_In_LED1, Coin_Out_LED
// {{ALTERA_ARGS_END}}
);
// Port Declaration
// {{ALTERA_IO_BEGIN}}
input RESET;
input DEAL;
input CLK;
input [3:0] IN_PUT;
output Coin_In_LED0;
output Coin_In_LED1;
output [4:0] Coin_Out_LED;
// {{ALTERA_IO_END}}
reg Coin_In_LED0,Coin_In_LED1;
reg [4:0]Coin_Out_LED;
reg [3:0]STATE;
parameter S0=4'b0000, S1=4'b0001, S2=4'b0010, S3=4'b0011,
S4=4'b0100, S5=4'b0101, S6=4'b0110, S7=4'b0111,
S8=4'b1000, S9=4'b1001, S10=4'b1010, S11=4'b1011,
S12=4'b1100, S13=4'b1101, S14=4'b1110, S15=4'b1111;
always @( posedge CLK )
begin
STATE=IN_PUT;
if(!DEAL)
begin
case(STATE)
S0,S1:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11111;
STATE<=S0;
end
S2,S3:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11110;
STATE<=S0;
end
S4,S5:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11010;
STATE<=S0;
end
S6:
begin
Coin_In_LED0<=0;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11111;
STATE<=S0;
end
S7:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11001;
STATE<=S0;
end
S8:
begin
Coin_In_LED0<=0;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11011;
STATE<=S0;
end
S9:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=0;
Coin_Out_LED[4:0]<=5'b11101;
STATE<=S0;
end
S10:
begin
Coin_In_LED0<=0;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11010;
STATE<=S0;
end
S11:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=0;
Coin_Out_LED[4:0]<=5'b11100;
STATE<=S0;
end
S12:
begin
Coin_In_LED0<=0;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b10110;
STATE<=S0;
end
S13:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=0;
Coin_Out_LED[4:0]<=5'b11000;
STATE<=S0;
end
S14:
begin
Coin_In_LED0<=0;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b10101;
STATE<=S0;
end
S15:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=0;
Coin_Out_LED[4:0]<=5'b10111;
STATE<=S0;
end
default:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11111;
STATE<=S0;
end
endcase
end
else if(!RESET)
begin
case(STATE)
S0,S1:
begin
Coin_Out_LED[4:0]<=5'b11111;
end
S2,S3:
begin
Coin_Out_LED[4:0]<=5'b11110;
end
S4,S5:
begin
Coin_Out_LED[4:0]<=5'b11010;
end
S6,S7:
begin
Coin_Out_LED[4:0]<=5'b11001;
end
S8,S9:
begin
Coin_Out_LED[4:0]<=5'b10101;
end
S10,S11:
begin
Coin_Out_LED[4:0]<=5'b10100;
end
S12,S13:
begin
Coin_Out_LED[4:0]<=5'b10000;
end
S14,S15:
begin
Coin_Out_LED[4:0]<=5'b01111;
end
default:
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11111;
STATE<=S0;
end
endcase
STATE<=S0;
end
else
begin
Coin_In_LED0<=1;
Coin_In_LED1<=1;
Coin_Out_LED[4:0]<=5'b11111;
STATE<=S0;
end
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -