如何知道 cocotb 测试台使用的是哪个模拟器?
Posted
技术标签:
【中文标题】如何知道 cocotb 测试台使用的是哪个模拟器?【英文标题】:How to know which simulator is used in cocotb testbench? 【发布时间】:2020-07-31 05:38:05 【问题描述】:为了测试我的 Verilog 设计,我使用了两个不同的模拟器:Icarus 和 Verilator。这是可行的,但它们之间存在一些差异。
例如,我无法使用 verilator 读取模块参数,但 Icarus 可以。
有没有办法知道python testfile中使用的是哪个模拟器?
我想写这样的东西:
if SIM == 'icarus':
self.PULSE_PER_NS = int(dut.PULSE_PER_NS)
self.DEBOUNCE_PER_NS = int(dut.DEBOUNCE_PER_NS)
else:
self.PULSE_PER_NS = 4096
self.DEBOUNCE_PER_NS = 16777216
能够管理两个模拟器并进行比较。
【问题讨论】:
【参考方案1】:可以使用cocotb.SIM_NAME
确定正在运行的模拟器名称(作为字符串)。如果 cocotb 不是从模拟器加载的,则返回 None
。
【讨论】:
以上是关于如何知道 cocotb 测试台使用的是哪个模拟器?的主要内容,如果未能解决你的问题,请参考以下文章
SystemVerilog测试台模拟(VCS)的非活动停止开关