集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1215|回复: 2

modelsim 连调的问题

[复制链接]
zxopen88 发表于 2012-6-7 17:38:08 | 显示全部楼层 |阅读模式
//counter.v
module counter(clk,rst,counter_out);
input clk;
input rst;
output [3:0] counter_out;
reg [3:0] counter_out;
initial begin counter_out=0; end
always @(posedge clk or negedge rst)
  if(!rst)
    counter_out <= 0;
  else
    counter_out <=counter_out+1'b1;
endmodule

我的这个代码,通过quartuse 与modesim 连调的时候,CLK 一直没有变化,后来我force clk 0 0,1 50 -r 100这样,才会有CLK,但是counter_out 一直不计数,后来,我加上了
initial begin counter_out=0; end
counter_out 才开始计数的,
这个是为什么呢??请教各位大虾了!!
@HDL现场 该用户已被删除
@HDL现场 发表于 2012-6-8 00:19:47 | 显示全部楼层
第一个问题,我不知道你的clk在你的tb文件中是否写好逻辑,不好说;
第二个问题,为什么counter_out初始化0后它才计数,这个问题很多人有疑问。这里给个说明。
因为仿真是计算机软件执行,如果你没有初始化,计算就无法明白你开始的数据是多少,所以就不会显示计数。但如果是硬件,如果你不初始化,它本身会是一个值。计数肯定会开始。
所以,在进行仿真的时候必须明确这些值!OK
fxwmeic 发表于 2012-6-13 22:02:36 | 显示全部楼层
回复 2# @HDL现场

学习了!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-7-1 05:46 , Processed in 0.063732 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表