vivado仿真位数问题
·
今天分享一个使用vivado仿真时,定义的变量明明是16位(如图1),但是仿真波形中该变量只有1位(如图2)的问题。
图1
图2
这种问题有两个解决方法:
1.在testbench中定义此wire型变量(如图3)
图3
上述问题就是因为在功能模块中定义了此wire变量,但是在testbench中未定义,仿真波形默认列出testbench中出现的变量,未定义的变量就会被默认只有一位。
2.因为仿真波形默认列出的是testbench中出现的变量,而我们在功能模块中已经定义了此变量(如图1),只需要将功能模块中的变量添加到仿真波形中(如图4),就不会出现变量只有1位的问题。
图4
上述变量的添加方法:
1.在scope界面,点击功能模块,会出现该模块定义的变量,右击想要添加的变量,选择
Add to Wave Window,就可以将变量添加进仿真波形界面(如图5,6)。
图5,6
结尾,大家还是老老实实把出现的变量定义一下wire/reg类型,特别是下面列举的情况:
图7
图7圈出来的两个变量是从一个模块输出到另外一个模块中,由于博主没有对这两个变量进行定义,导致功能无法实现。
更多推荐






所有评论(0)