题解 | #加减计数器#

加减计数器

https://www.nowcoder.com/practice/9d50eb2addaf4a37b7cd5a5ee7b297f6

`timescale 1ns/1ns

module count_module(
	input clk,
	input rst_n,
	input mode,
	output reg [3:0]number,
	output reg zero
	);

	reg [3:0] num;

	always @(posedge clk or negedge rst_n)//非常莫名其妙的testbench,哪有上升沿有效的判断信号。
        if (!rst_n)
            begin 
                number <= 4'd0;
            end
        else 
            begin  
                number <= num;
            end

	always@(posedge clk or negedge rst_n)
		if(!rst_n)
			num<=0;
		else
			if(mode)
				if(num==4'd9)
					num<=0;
				else
					num<=num+1;
			else
				if(num==4'd0)
					num<=9;
				else
					num<=num-1;

	always@(posedge clk or negedge rst_n)
		if(!rst_n)
			zero<=0;
		else
			if((num==4'd0))
				zero<=1;
			else
				zero<=0;


endmodule

//非常莫名其妙的testbench,哪有上升沿有效的判断信号。

全部评论

相关推荐

08-23 21:29
已编辑
吉林师范大学 硬件开发
牛马人的牛马人生:前期急啥 前期神仙打架高端局ssp的高级大offer 都是佬们的战争
点赞 评论 收藏
分享
皮格吉:不,有的厂子面试无手撕,可以试试。都是一边学一边面。哪有真正准备好的时候,别放弃
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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