Передача аргумента из 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'}
Другие вопросы по тегам