modelsim仿真时,有Hiz值或输出为红线时的一种可能原因 |
您所在的位置:网站首页 › simulink接线是红色的 › modelsim仿真时,有Hiz值或输出为红线时的一种可能原因 |
关于modelsim中出现红线或有值为Hiz的问题 最近在写verilog,写了一个多模块的工程并仿真,但遇到这样一个问题: 自己设置的时钟信号能够正常变化,顶层的输入正常,但复位信号rst的值一直为Hiz,输出的值也为x,波形图显示为一条红色直线。 解决问题 在csdn上翻看了大量大佬的文章并自己试着修改之后发现了问题所在: 仿真时,我只是将输入的值初始化了,并没有将输出的值也一并初始化,导致仿真时系统不知道输出的初值而判定为不定态,而不定态在仿真波形图中正是一条红色直线。 在testbench文件中将输出也一并初始化(通常是用复位信号rst)再进行仿真,得到了正确的仿真图 testbench文件中貌似不能直接给输出赋初值,故一般用中间变量的形式,让rst这个复位信号去赋予输出变量初值。 下面是一个用复位信号rst给输出一下初值的简单例子 input rst; output a,b; //两个输出变量 always @(posedge rst) //检测敏感信号,视具体情况而定 begin a = 1'b0; b = 1'b0; end在这之后只需在testbench文件中给rst赋初值即可。 结尾语 这只是其中一种原因,且是我自己的一个个例,但仍然有其意义。以后在仿真时应该试着在testbench文件中初始化所有的输入输出。 其他的原因在csdn上有很多大佬已经找出来了,可以去耐心查阅一番。 verilog全靠自学和翻看csdn上大佬们的文章,如有不对和不恰当的地方还请指正。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |