题解 | #可置位计数器#

可置位计数器

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] num;

	always@(posedge clk or negedge rst_n)
		if(!rst_n)
			number<=0;
		else
			number<=num;

//本题非常奇怪是序列是由控制信号的上升沿触发,在一般的电路中,控制信号由时序电路产生,因此在下降沿有效。


	always@(posedge clk or negedge rst_n)
		if(!rst_n)
			{num,zero}<={4'b0,1'b0};
		else
			if(set)
				{num,zero}<={set_num,!set_num};
			else if(num==4'd15)
				{num,zero}<={4'b0,1'b0};
			else if(num==4'd0)
				{num,zero}<={4'b1,1'b1};
			else
				{num,zero}<={num+4'b1,1'b0};

endmodule

//本题非常奇怪是序列是由控制信号的上升沿触发,在一般的电路中,控制信号由时序电路产生,因此在下降沿有效。

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-20 14:01
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务