我已经成功地为我的设计建立了一个Cocotb验证环境,我很高兴它在RTL(在我的例子中是VHDL)中的工作方式。在
我的设计是使用泛型,我在python代码的几个地方(主要是在run_测试和模型中)检索这些泛型的值,遵循模板:
我的通用=dut.GEN_姓名.价值
不幸的是,这在门级模拟的情况下不起作用,因为我的合成设计不再有泛型,因此dut.GEN_姓名。值不存在。在
我应该朝着从模拟流(Cocotb的makefile)获取参数/泛型值的方向前进吗?在
如果是的话,最干净的方法是什么?使用环境变量?在
(顺便说一句,我使用Questa,即使我不希望这个方面依赖于模拟器…)
谢谢你的帮助和建议。。。在
将配置传递给Python Cocotb代码可能是可能的,但是很容易出错,因为必须确保传递的值与用于合成的值相同。在
另一种解决方案是将顶级实体的配置包存储在单独的文件中,例如,
top_config.vhdl
,其内容包括:这里定义的常量,然后用作顶级实体泛型的默认值,或者直接在顶级实体中使用。在
现在可以通过cocotbtestbench中的一些Python代码来解析包:
^{pr2}$不必打印匹配项,您可以将其添加到词典或执行其他操作。在
相关问题 更多 >
编程相关推荐