题解 | #可置位计数器#

可置位计数器

https://www.nowcoder.com/practice/b96def986e29475e8100c213178b73a8

`timescale 1ns/1ns

module count_module(
	input clk,
	input rst_n,
	input set,
	input [3:0] set_num,
	output reg [3:0]number,
	output reg zero
	);
    reg [3:0] out;
	always @(posedge clk or negedge rst_n)
	begin
	if(!rst_n)
	begin
	out<=4'd0;
	number<=4'd0;
	end
	else
	begin
	if(set)
	begin
	out<=set_num;
	end
	else
	begin
	out<= out==4'd15 ? 4'd0 : out +4'd1;
	end
	number<=out;
	end
	end
		always@(posedge clk or negedge rst_n)
		begin
			if(!rst_n)
			begin
				zero<=1'b0;
			end
			else
			begin
				zero<= out ==4'd0 ;

			end
		end

endmodule

`timescale 1ns/1ns
module testbench();
    reg rst,mode;
	reg clk=1;
	wire [3:0]number;
	reg[3:0] set_num;
	wire  zero;
	 count_module u1(
	. clk(clk),
	.set(mode),
	.set_num(set_num),
	.rst_n(rst),
    .number(number),
	.zero(zero)
);
	always #5 clk = ~clk;  // Create clock with period=10 
  initial begin
  rst=0;
  set_num=4'd0;
 #10 rst=1;mode=0;
 #200 mode=1;set_num=4'd10;
  #10 mode=0;
 #200 ;
 $finish;
end  
    
endmodule

仿真波形图如下:

全部评论

相关推荐

12-01 12:34
已编辑
广东工业大学 Java
如题,fw🐭🐭,加上准备的太晚,大三上已找不到日常实习,导致连锁反应,下学期的暑期实习找不到好的实习,导致秋招找不到中大厂,现在是中小厂Java还有考公的选择,由于有些中小厂工作强度比肩大厂,钱还少,感觉不如考公如果🐮u们是我现在这种情况,会怎么选?
负债的混子:关注你一段时间了,突然发现你头像名字都改了,想必是这段时间压力很大。关于就业还是考公的选择,就像很多牛友说的:不要美化自己没走过的路。你现在想往互联网发展,发现这条路很难走,然后想往考公发展,但是你没走过考公这条路,所以你不知道这条路的压力如何。你今年大三了,还有时间给你做选择,我希望你能够尽快的决定自己的方向,然后一条路走到黑,而不是在这里徘徊,每个人的道路是不一样的,你无法复刻别人的路,你能做的就是尽力的完善自己。 最后,我想说的是,加油,陌生人!
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务