module 10counter(ce,cp,cr,q)
input ce,cp,cr
output [3:0]q
reg[3:0]q
always@( posedge cp or negedge cr)
if(~cr)q<=4‘b0000
else if(ce)
begin if(q<=4‘b1001) q<=4‘0000
else q<=q 1’b1
and
else q<=q
endmoudule
分号没写,自己加
module
accu(clock,
reset,
enable,
out);input
clock;input
reset;input
enable;
output
[3:0]
out;reg
[3:0]
out;wire
[3:0]
outA
=
out
+
1;always
@(posedge
clock
or
negedge
reset)
begin
if(reset)
out
<=
4'd0;
else
begin
if(enable)
out
<=
outA;
endend
endmodule
这是一个4bit
累加器,很简单的小例子,抛砖引玉。
没有缺少啊
你看最后一句assign语句,若Cin=0,则不进位,否则则看是否计数到0-59,若是则进位,没错的
你说的意思恐怕是指在always快中没有对cin判断,是吧,
本就不需要判断,这是一个计数器,是始终自加1,并不需要判断是否为0,因为一到60,又会从0重新开始,你只要抓住这是个计数器,不是加法器。。。别混淆了,可能cin一直是进位位,把你一时搞混了吧
以上就是关于基于Verilog HDL的4位十进制加法计数器的源程序全部的内容,包括:基于Verilog HDL的4位十进制加法计数器的源程序、谁能帮忙编个Verilog,一个小程序,累加器的设计,谢谢了、Verilog HDL 模60 BCD码加法计数器 程序段如图所示 问题见补充;谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)