首页 > 其他分享 >牛客进阶题目14:自动贩售机1

牛客进阶题目14:自动贩售机1

时间:2023-01-08 20:24:32浏览次数:37  
标签:cnt wire 进阶 牛客 贩售 input d2 d3 d1

用计数器对输入金额进行计数,大于等于1.5元时出货并找零。

注意在出货的同时也可能投币,并且不支持同时投入三种货币

`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[2:0] d_cnt ;
wire	 d_cur ;

assign d_cur = d1 ? d1 : (d2 ? d2 : (d3 ? d3 : 0));

always @(posedge clk or negedge rst) begin
	if(!rst)
		d_cnt <= 'd0 ;
	else if(d_cnt+d_cur>=3)
		d_cnt <= d_cur ;
	else if(d1)
		d_cnt <= d_cnt + 1 ;
	else if(d2)
		d_cnt <= d_cnt + 2	;
	else if(d3)
		d_cnt <= d_cnt + 4	;
	else 
		d_cnt <= d_cnt ;
end

always @(posedge clk or negedge rst) begin
	if(!rst) begin
		out1 <= 'd0 ;
		out2 <= 'd0 ;
	end
	else if(d_cnt+d_cur>=3) begin
		out1 <= 1'b1 ;
		out2 <= d_cnt + d_cur - 3 ;
	end
	else begin
		out1 <= 1'b0 ;
		out2 <= 'd0 ;
	end
end



//*************code***********//
endmodule

标签:cnt,wire,进阶,牛客,贩售,input,d2,d3,d1
From: https://www.cnblogs.com/icwangpu/p/17035259.html

相关文章

  • 牛客小白月赛64 C-Karashi的生日蛋糕(思维)
    https://ac.nowcoder.com/acm/contest/49244/C题目大意:Karashi决定将水果摆放成n圈,第i圈必须有i个水果。一共k个人,Karashi需要把蛋糕沿半径均分成k块,任意两块蛋糕包含......
  • 牛客进阶题目13:时钟分频(偶数)
    用计数器来翻转即可`timescale1ns/1nsmoduleeven_div(inputwirerst,inputwireclk_in,outputwireclk_out2,outputwir......
  • 牛客小白月赛65 D-牛牛取石子(博弈论)
    https://ac.nowcoder.com/acm/contest/49888/D题目大意:一共有两堆石子,第一堆a个,第二堆b个,牛牛(先手)和牛妹轮流取石子:2种方案种挑一种1.第一堆取1个,第二堆取2个2......
  • 牛客进阶题目12:重叠序列检测
    注意看波形,flag相对于data的输入延迟两拍。也就是在输入1011后,第一拍进行检测,第二拍拉高flag。`timescale1ns/1nsmodulesequence_test2( inputwireclk, inputw......
  • 牛客2022跨年场
    B.分赃首先统计只有一个的数字个数,如果是偶数就平均分给两个人,然后把剩下的数字全部分给任意一个人。如果是奇数个,就看时候有数字的数量大于三,如果有,就把这个数字的其中......
  • MySQL18 - 基础操作进阶
    INSERT插入多条记录INSERTINTOt_user (id,name,birth,create_time)VALUES (3,'hehe','1990-01-01',NOW()), (4,'haha','1990-01-01',NOW()), (5,'@@',......
  • 【学习笔记 / 数据结构】线段树进阶
    扫描线【洛谷模板题传送门】思想以一条法线从下往上扫描整个图形,图形面积并即为\(\sum\limits_{i=1}^{n-1}len_i\times\left(h_{i+1}-h_i\right)\),其中\(len_i\)......
  • 牛客进阶题目11:非重叠的序列检测
    可以用状态机也可用移位寄存器注意题目给rst的命名不带n后缀,但其实还是下降沿触发`timescale1ns/1nsmodulesequence_test1( inputwireclk, inputwirerst,......
  • 牛客进阶刷题10:整数倍数据位宽转换8to16
    比非整数倍简单`timescale1ns/1nsmodulewidth_8to16( input clk , input rst_n , input valid_in , input [7:0] data_in ,......
  • 牛客进阶刷题9:非整数倍数据位宽转换8to12
    输入位宽8bit,输出位宽12bit,也就是说每三个输入数据可以生成两个完整输出。注意给出的波形是data_lock而不是data_in,这是陷阱。data_lock是data_in打了一拍的结果。用一......