问题标签 [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.
uvm - 在 Questasim 10.2 窗口中安装 UVM 1.2
我已经从 Accellera 网站下载了 UVM 1.2。我使用的是 Questasim 10.2,我的 UVM 版本是 1.1d。
现在我将 UVM 1.2 文件夹复制到C:\questasim_10.2c
. 然后我改变了
排队modelsim.ini
到
但是现在 Questasim 显示找不到库的错误。如何解决这个问题并在 Questasim 中安装 UVM 1.2?
tcl - 使用 tcl 在 Modelsim 中查找某个信号何时具有特定值
我正在尝试加快调试速度。在大跟踪中,我正在搜索信号的特定值。我在 linux 下使用 QuestaSim 10.0b。
我已经发现可以使用以下命令在 Modelsim/QuestaSim 中完成
不幸的是,当它具有值“XX”时,它也匹配信号“流”,但我只希望它匹配 0x20。我怎样才能确保它只匹配十六进制值,而不是未定义的值?
system-verilog - 在约束中循环遍历多维关联数组的低维的语法
在这段代码中,我在 QuestaSIM 中面临 2 个问题。
在约束中,我使用了 (i%2),但它仍然显示此警告:
警告:(vsim-3829)不存在的关联数组条目。返回默认值。
如何在约束中循环遍历二维关联数组中的低维?
foreach(slba_previous[, i])
不管用。
system-verilog - 如何在 QuestaSIM 的 Coverage 中获取采样箱的来源
我正在使用 QuestaSIM 并从回归中获得合并的覆盖率报告。
从我的合并覆盖率报告中,我如何将采样箱追溯到其模拟(测试名称和种子值)?
system-verilog - 覆盖系统verilog中的动态覆盖点
在这段代码中,我需要使用与受尊重的 num_ns 结构相关联的范围来覆盖 slba。
但在此代码中,范围将仅根据 num_ns[0] 进行划分。
那么如何根据采样时间的变量值重用相同的覆盖点来生成动态范围呢?
struct - Systemverilog:将结构作为模块输入\输出传递时的模拟错误
我试图将一个结构作为输入传递并在另一个结构中获取输出。但是我在模拟过程中遇到了一些问题。以下示例代码在 questasim 中编译得很好,但是模拟给出了以下错误:
连接类型“core_tb_sv_unit.struct”与端口(struct_in)的“core_sv_unit.struct”不兼容:结构/联合类型必须匹配。
MyStruct.sv
核心.sv
core_tb.sv
我错过了什么?
我知道接口是这里建议的工作流程,但是模型的输入将使用 DPI 传递给 C 例程。DPI 接口支持结构,我不认为它支持接口。这就是为什么我想坚持简单的结构。
vhdl - 在 Questasim 中模拟 .xci 文件
我在 Linux 上,我正在使用questasim 2012.2b
. 我用VHDL写了以下内容:
每次我尝试用 questasim 模拟上述内容时,它都会在编译时抛出一个错误:
它指的是上面失败的代码。
在翻找时,我确实找到了一个名为 : 的文件dsp_c.vhd
,它看起来像是该.xci
文件的模拟包装器。
然后我尝试找到该库,我找到了一个文件夹xbip_dsp48_macro_v3_0
,里面有两个文件:xbip_dsp48_macro_v3_0.vhd
xbip_dsp48_macro_v3_0_vh_rfs.vhd
所以我也将那些包含在项目中,它给了我错误:
xbip_dsp48_macro_v3_0.vhd(46)): in protected region
知道可能出了什么问题或我可能需要包括什么吗?我的questasim可能太旧了吗?
更多信息
尝试通过 tcl 以这种方式获取编译文件:
生成所有 IP 及其相应编译块的文件夹。现在我虽然最初可以添加到.dep:
我在运行 make project 时得到了这个:
所以我尝试包括库:
说它受到保护:
更多更多信息
我让 vivado 生成位于文件夹 dsp_c 中的库:
我的 tcl 脚本如下所示:
结果
修改为:
然后跑了...
system-verilog - Questasim 中的 vsim 命令用于测试通过/失败信息
.ucdb 文件中是否记录了 Questa 模拟的通过/失败测试信息?如果是这样,是否有vsim
提取该信息的命令?
system-verilog - 翻转后 Questa 中出现意外的不存在关联阵列警告
通常在关联数组中,工具会处理翻转问题。但是在 QuestaSIM 中,我遇到了这个问题,比如如果关联数组的键是 64 位变量,那么在溢出后,它不能正确存储数据。
假设 index 是65'h1_0000_0000_0000_0002
,那么理想情况下它应该使用 index 存储这些数据64'h2
,因为键的大小(即使这样做,因为我也打印了整个关联数组和存在方法的输出),但我仍然收到不存在的警告关联数组(如输出中所示)。
这是代码:(我尝试了 bounded_address 方法,具有 3 种不同的逻辑,但在所有情况下我都得到相同的结果)
system-verilog - 覆盖 systemverilog 中的内置示例方法
我的问题是通过多个线程同时采样覆盖点(在覆盖内置采样方法之后)是否会产生任何副作用。
更详细地,考虑以下代码:
我的理解是两个线程将竞争以更新覆盖点'a'的覆盖组,并且方法'sample'将为两个线程执行(使用单独的数据堆栈)。当两个线程同时尝试更新覆盖组/覆盖点时,您认为这会产生任何副作用吗?(如果是这样,显而易见的解决方案当然是使用信号量)。
干杯,斯塔斯特