字体:  

自己写的计数器,希望大家提意见!

clarke 发表于: 2006-5-08 10:19 来源: DICDER -- 博客专栏

/*+FHDR-------------------------------------------------------- file name: counter4.v Author:   Clarke.Lee E-mail:   clarke.lee@163.com -------------------------------------- Keywords: Counter //-FHDR---------------------------------------------------------*/ module counter4(clk,                 reset,                 cout,                 out);         input clk; input reset; output cout; output [1:0] out; wire cout; wire [1:0] out; reg [1:0] counter; assign cout = ~(counter[1]|counter[0]); assign out = counter; always@(posedge clk or negedge reset)   if(!reset)     begin     counter <= 0;     end   else if(counter<3)     begin     counter <= (counter + 1);     end   else     begin     counter <= 0;     end   endmodule

最新回复

yiturn at 2006-5-10 00:21:12
1,对于小于3的判断不需要。 2,应该增加清零的条件。以便于进行计数器的restart。   当然,如果复位后,本身就是需要它每个cycle加1,也可不需要增加清零使能。 3,cout的输出,最好用成寄存器输出。因为一般的代码风格都要求寄存器输出,否则在后端设计中可能对时序构成威胁。
rvisk at 2006-5-22 10:26:31
good 继续努力
clarke at 2006-5-22 12:53:24
收到!呵呵,谢谢兄弟。

QUOTE:

引用第1楼yiturn06-05-10 00:21发表的“”: 1,对于小于3的判断不需要。 2,应该增加清零的条件。以便于进行计数器的restart。   当然,如果复位后,本身就是需要它每个cycle加1,也可不需要增加清零使能。 3,cout的输出,最好用成寄存器输出。因为一般的代码风格都要求寄存器输出,否则在后端设计中可能对时序构成威胁。
clarke at 2006-5-24 13:51:54
2,应该增加清零的条件。以便于进行计数器的restart。 当然,如果复位后,本身就是需要它每个cycle加1,也可不需要增加清零使能。 什么意思啊?能不能讲清楚一点。我不是有reset吗?
浪客公子禅心 at 2006-6-06 21:23:40
恩,同步复位比异步复位可靠。
yuyin2546 at 2006-11-17 16:11:17
呵呵   有点烦   不用那么多的begin  和 end
heaoo at 2006-12-12 23:01:57
仔细考虑一下,你会有很多收获!!!