Verilog 计数器问题 100

我用verilog写了一个计数器代码如下:modulecounter(RST,CLK,D,Q);inputwireRST,CLK,D;output[7:0]Q;reg[7... 我用verilog写了一个计数器代码如下:
module counter(RST,CLK,D,Q);
input wire RST,CLK,D;
output [7:0]Q;
reg [7:0]Q;
always @(posedge CLK or negedge RST) begin
if(!RST) Q<=0;
else if(D) Q<=Q+1;
end
endmodule

D是一个使能位。我用FPGA模拟出来后,把D连着一个开关。可是当我把开关从off调整到on时(从GND到VCC),计数器没有计数。只有一开始把开关调到on(VCC),才能计数,这是为什么?我换了好几块板了都不行。大神帮我看看是哪里写错了
展开
 我来答
dtimes6
2016-07-13 · TA获得超过691个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:129万
展开全部
因为你的D不是边沿触发的,你是直接接到开关上的。

再写一段逻辑保证你的D是边沿触发的就是了。

module counter(RST,CLK,D,Q);
input wire RST,CLK,D;
output [7:0]Q;
reg [7:0]Q;
reg en;
always @(negedge D or negedge RST) begin
if(!RST) en <= 1'b0;
else en <= 1'b1;
end

always @(posedge CLK or negedge RST) begin
if(!RST) Q<=0;
else if(en) Q<=Q+1;
end
endmodule
Sievers分析仪
2025-01-06 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式