问题标签 [questasim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
system-verilog - systemverilog 中的参数数组
我尝试实例化参数数组,例如
但是当我尝试在 questasim 中编译这个模块时,我得到了这种错误
-- 编译模块顶部**错误:(vlog-13069)parameters_array.sv(3):靠近“[”:语法错误,意外'[',期待';' 或者 ','。
对这个主题的搜索使我找到了以下主题,回答者说 systemverilog 确实允许这种构造。
我真的不想使用长参数向量,因为它会导致新的困难,并且这种构造正在 Vivado 中编译(但为了验证,我需要使用 Questa)。
code-coverage - 如何加载coverage_db?
我正在尝试为我的设计编写功能覆盖。我编写了所需的封面组,但现在我面临着在测试运行之间传输我的覆盖范围的困难。这里有几个代码示例:
如果我尝试在上面运行测试,我会收到此错误:
** 错误:(vsim-6844) Covergroup '/t/test/cg' 没有在模拟中创建实例,忽略它
显然,问题在于 cg 在测试开始后创建,而 config_db 在尚未创建时加载。所以我这样$load_coverage_db
放置run_phase
:
现在,我收到了这种类型的警告:
** 警告:(vsim-6841) Covergroup 实例 '/t::test::cg ' 存在于模拟中但未在数据库中找到
我需要做什么,才能让我的旧覆盖率在测试中?
verilog - Questasim - 是否可以在新设计上记录和重新加载信号?
我正在运行一个包含很多组件的测试(UVM)。这是一个顶级测试,但是我正在调试一个内部模块,我只对连接到该模块的接口的信号感兴趣。因为它是一个 TL,所以我需要很长时间才能到达我感兴趣的时间点。这些信号是其他模块的产物,但我现在对那些不感兴趣。
目前我正在使用 Questa sim,所以我想知道是否有一种方法可以存储这些信号中的事件,以便我可以只重新运行这些信号。因此我的意图是更改模块,重新编译并直接使用新版本的输入,而不必实际运行整个测试并等待那么长时间。
modelsim - 从命令行创建 questasim/modelsim 项目
我正在尝试编写一个 makefile 来编译和模拟一些 vhdl 代码。
有没有办法从 linux/windows 命令行创建项目?
如果您打开该工具并运行“新项目”,这很简单,但没有从命令行执行此操作的文档。
tcl - 如何在 VHDL 中检查所有组件层次结构级别的信号值
通常,我使用 TCL 和模拟器命令执行此操作,以确保在复位期间所有信号都初始化为有效值,但我想知道是否有办法在纯 VHDL 中完成此操作。
这是一个基于 TCL 的示例。使用起来非常方便,*
并与模拟器命令foreach
一起循环捕获所有信号名称。每当我想检查所有信号是否有效时,我都会find
调用该过程。check_sigs
我知道我可以在 VHDL-2008 中使用分层名称,但是以这种方式写出每个信号太麻烦了。
有谁知道用纯VHDL做到这一点的方法?
modelsim - 从 Questasim 的代码覆盖范围中排除某些设计单元
我在 questasim 上运行了代码覆盖率,并得到了 ucdb 文件作为输出。但是我需要排除连接到顶部模块的一些模块的代码覆盖率。我不需要覆盖一些模块,这可以改善覆盖率报告。
如果不再次运行模拟,我该如何做到这一点?谢谢。
linux - 使用 shell 脚本和 make 实用程序运行回归
我想使用 shell 脚本运行回归,该脚本应该通过make
命令启动每个测试。以下是我的脚本的简单版本:
上述脚本的问题在于,当 make 命令启动一个程序时,该脚本会进入下一个迭代,而无需等待上一个迭代中该程序的完成,并继续从文件中读取下一行。
make 实用程序中是否有任何选项可以确保它等待程序完成?也许我错过了其他东西。
这是 Makefile 的相关部分:
modelsim - 在 Modelsim/Questasim 中有没有办法增加波浪线的厚度?
使用带有 4K 显示器的 Modelsim/Questasim 10.6b 很难看到信号的线路,尤其是 std_logic 信号,矢量要好一些。
我能够通过编辑->首选项增加文本大小,但没有发现任何类似的波浪“重量”或“厚度”。
system-verilog - 我正在为一个模拟原理图的模块编写一个 SystemVerilog 测试台,但不知道为什么脚本窗口说没有连接到端口 Y?
下面的示意图是我为我的模块建模的。这是一个 SystemVerilog 硬件分配,我们必须使用连续分配。签名模型给了我们。请注意,电路中没有延迟。我遇到的问题是我真的不知道自己在做什么,因为我是 SystemVerilog 的新手,这是我第一次必须编写自己的测试台。 示意图到模型
这是模块代码:
到目前为止,这就是我的测试平台代码:
作业要求“该电路的测试平台应在一个初始块中设置 $monitor() 语句,并生成所有可能的输入组合,在更改输入之间有 #5 ns 的延迟。” 我们使用 QuestaSim 或 ModelSim 进行模拟,这里是成绩单和波形窗口。 tb 项目窗口 截图 tb 波形窗口截图
我必须添加时钟吗?为什么它说端口 Y 缺少连接?我的波形窗口看起来正确吗?