Передача аргумента из make-файла в тестовое окружение cocotb
Приведенный пример D-FF из cocotb / examples / dff /. Как правильно передать аргумент из Makefile
к тестовой скамье cocotb dff_cocotb.py
без изменения родных make-файлов cocotb?
Я попытался изменить строку 30 из cocotb / examples / dff / tests / Makefile:
sim:
$(MODULE).py testarg
соответственно
sim: $(MODULE).py
$(MODULE).py:
$(MODULE).py testarg
который не работает и показывает сообщение об ошибке:
usage: cocotb [-h] test
cocotb: error: too few arguments
2 ответа
Хм. Похоже, что Makefile запускает симулятор, который в свою очередь вызывает cocotb через хуки VPI в симуляторе. Если я правильно понимаю, он указывает целевой тестовый стенд для каркаса cocotb через переменные среды.
Это подразумевает, что вы также можете передавать свои аргументы в ваш $(MODULE).py, используя среду. Т.е. запустить make как:
MY_TB_ARGS=<whatver> make
и в $(MODULE).py, получить к ним доступ через
import os
myTbArgs = os.environ['MY_TB_ARGS']
Я бы сделал что-то вроде
make PLUSARGS="+my_arg1=123 +my_arg2=456"
и получить к нему доступ через
cocotb.plusargs
>>>print(cocotb.plusargs)
{'my_arg1': '123', 'my_arg2': '456'}