modelsim仿真时,有Hiz值或输出为红线时的一种可能原因

您所在的位置:网站首页 simulink接线是红色的 modelsim仿真时,有Hiz值或输出为红线时的一种可能原因

modelsim仿真时,有Hiz值或输出为红线时的一种可能原因

#modelsim仿真时,有Hiz值或输出为红线时的一种可能原因| 来源: 网络整理| 查看: 265

关于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