题解 | #自动贩售机1#
自动贩售机1
https://www.nowcoder.com/practice/dcf59e6c51f6489093495acb1bc34dd8
`timescale 1ns/1ns module seller1( input wire clk , input wire rst , input wire d1 , input wire d2 , input wire d3 , output reg out1, output reg [1:0]out2 ); //*************code***********// reg [3:0] din; always@(posedge clk or negedge rst)begin if(!rst)begin out1 <= 1'b0; out2 <= 2'b0; din <= 4'b0; end else begin if(d1)//0.5 din <= din + 1; else if(d2)//1 din <= din + 2; else if(d3)//2 din <= din + 4; else if(din >= 3)begin//¥1.5 out1<= 1'b1; out2<= din - 3; din <= 0; end else begin out1 <= 1'b0; out2 <= 2'b0; end end end //*************code***********// endmodule
