给出cocotb/examples/dff/的D-FF示例。在不修改本地cocotb makefile的情况下,将参数从Makefile
传递到cocotb testbench dff_cocotb.py
的正确方法是什么?
我尝试修改cocotb/examples/dff/tests/Makefile的第30行:
sim:
$(MODULE).py testarg
分别
sim: $(MODULE).py
$(MODULE).py:
$(MODULE).py testarg
不起作用并显示错误消息:
usage: cocotb [-h] test
cocotb: error: too few arguments
答案 0 :(得分:4)
嗯。看起来Makefile启动模拟器,模拟器又通过VPI钩子将cocotb调用到模拟器中。如果我理解正确,它通过环境变量指定cocotb框架的目标测试平台。
这意味着您也可以使用环境将参数传递给$(MODULE).py。即,启动make as:
MY_TB_ARGS=<whatver> make
并在$(MODULE).py中,通过
访问它们import os
myTbArgs = os.environ['MY_TB_ARGS']
答案 1 :(得分:0)
我会做类似的事情
make PLUSARGS="+my_arg1=123 +my_arg2=456"
并通过 cocotb.plusargs
>>>print(cocotb.plusargs)
{'my_arg1': '123', 'my_arg2': '456'}