3

为了测试我的 Verilog 设计,我使用了两个不同的模拟器:IcarusVerilator。这是有效的,但它们之间存在一些差异。

例如,我无法使用 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

能够管理两个模拟器并进行比较。

4

1 回答 1

6

正在运行的模拟器名称(作为字符串)可以使用cocotb.SIM_NAME. 如果 cocotb 不是从模拟器加载的,它会返回None.

于 2020-07-31T06:39:50.460 回答