基于Verilog HDL的4位十进制加法计数器的源程序

如题所述

第1个回答  推荐于2018-03-29
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

分号没写,自己加本回答被提问者和网友采纳
第2个回答  2020-05-08
module CNT4_10(CLK,RESET,Q3,Q2,Q1,Q0,FULL);
input CLK,RESET;
output Q3,Q2,Q1,Q0,FULL;
wire FULL_0,FULL_1,FULL_2,FULL_3;
CNT10_tongbu u_D0(.CLK(CLK),
.ENABLE(1),
.RESET(RESET),
.FULL(FULL_0),
.Q(Q0)
);
CNT10_tongbu u_D1(.CLK(CLK),
.ENABLE(FULL_0),
.RESET(RESET),
.FULL(FULL_1),
.Q(Q1)
);
CNT10_tongbu u_D2(.CLK(CLK),
.ENABLE(FULL_0&FULL_1),
.RESET(RESET),
.FULL(FULL_2),
.Q(Q2)
);
CNT10_tongbu u_D3(.CLK(CLK),
.ENABLE(FULL_0&FULL_1&FULL_2),
.RESET(RESET),
.FULL(FULL_3),
.Q(Q3)
);
assign FULL=(FULL_0&FULL_1&FULL_2&FULL_3);
endmodule
有错误,大神来看看嘛,求。谢谢啦~
第3个回答  2012-11-22
兄弟,把你有错的程序贴上来,我相信有很多人愿意来帮忙解答的。
第4个回答  2021-11-25
module cnt4_10(clk,reset,enable,Q3,Q2,Q1,Q0,Full);
input clk,reset,enable;
output Full;
output [3:0]Q3,Q2,Q1,Q0;
wire FULL0,FULL1,FULL2,FULL3;
cnt10 U1(.clk(clk),.reset(reset),.enable(enable),.Q(Q0),.Full(Full0));
cnt10 U2(.clk(clk),.reset(reset),.enable(Full0),.Q(Q1),.Full(Full1));
cnt10 U3(.clk(clk),.reset(reset),.enable(Full0&Full1),.Q(Q2),.Full(Full2));
cnt10 U4(.clk(clk),.reset(reset),.enable(Full0&Full1&Full2),.Q(Q3),.Full(Full3));
assign Full=Full0&Full1&Full2&Full3;
endmodule

求:十进制减法计数器的Verilog HDL仿真测试程序
用的是VHDL 该程序实现的功能:设计一个至少4位的十进制计数器,具有加减计数功能和置数功能,并能通过数码管显示计数结果。减数为零时发声报警。加数为9999时报警 ---这个程序中clk接1KHZ时个位每秒变化一下--- ---D:\\VHDL\\test\\test\\four\\three\\4位数码管级联\\加计数--- library ieee;use iee...

Verilog HDL 模60 BCD码加法计数器 程序段如图所示:为什么要判断高位是 ...
因为高四位表征十位,低四位表征个位。这是一个模60的计数器,说明它的计数范围是0到59,所以在个位计数到9时,要判断十位是不是5了,如果是了,就需要归零

verilog HDL编程
实时时钟:用HEX5—HEX4,HEX3-HEX2,HEX1—HEX0,分别显示小时(0-23)、分(0--60)、秒(0-60)。SW15—SW0设定时间。... 实时时钟:用HEX5—HEX4,HEX3-HEX2,HEX1—HEX0,分别显示小时(0-23)、分(0--60)、秒(0-60)。SW15—SW0设定时间。 展开  我来答 1个回答 #热议# 职场上受委屈要不...

新手求助,verilog hdl要设计一个带异步清零和异步预置的8 位二进制...
新手求助,verilog hdl要设计一个带异步清零和异步预置的8 位二进制加法计数器,麻烦看看代码哪儿错了。。 10 想了半天了,编译错误里面总是提示 Error (10170): Verilog HDL syntax error at Verilog1.v(11) near text ? Error (10170): Verilog HDL syntax error at Verilog1.v(11) near text "?; expec...

用verilog hdl编写十六进制转换十进制的程序
input clk;input[7:0] data;output[3:0] Ten,One;reg[3:0] Ten,One;integer i;always@ (posedge clk)begin Ten = 4'd0;One = 4'd0;for (i=6;i>=0;i=i-1)begin if (Ten >= 5) Ten = Ten + 3;if (One >= 5) One = One + 3;Ten = Ten << 1;Ten[0] = One[3...

急求:Verilog HDL的8位或者16位计数器
reg[7:0] out;always @ (posedge clk )begin if(!rst)begin out<=8'b00000000;end else out<=out+1;end endmodule 以上是8位计数器,16位计数器相同道理 然后再加上个 显示电路 module dis(in,out);intpu[7:0] in;output[7:0] out;reg[7:0] out;always @ (in)begin case (...

求4位可自动转换量程的频率计EPM7128S可用的VHDL程序
当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进各锁存器REG4B中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存...

基于FPGA,用verilog hdl 编写的多路模拟开关
实际上,FPGA无法完成你需要的模拟开关的功能,但是,可以通过FPGA的数字IO控制外部的模拟开关器件来做模拟选择功能。

TMDS算法原理及Verilog HDL实现(附带源代码及仿真激励文件)
在Verilog HDL中,我们定义了端口信号,包括din、c0、c1和de,以捕捉输入数据。编码过程涉及暂存din、de、c0、c1的值,以及n1d和q_m的计数。编码逻辑在时钟上升沿触发,根据条件统计q_m的1和0,生成输出q_out,并处理cnt。激励代码示例,如modelsim中的仿真设置,包括定时器、复位信号和随机输入信号,...

FPGA中for语句问题
for(i=1;i<1000;i=i+1) counter<=counter+1;事实上,将例将会把一个加法器电路复制1000次,违反了设计原则。一般的FOR语句也是不会放到always语句里面的,通常把放到task中,还实现子程序类似功能。可参考下面的参考资料。参考资料:王钿《基于VerilogHDL的数字系统的设计》...

相似回答