Запуск теста в Questa из Makefile

Я написал Makefile для запуска тестов в questasim. Я использую следующие команды.

vsim -l расшифровка -voptargs=+acc test -do $(WAVEDIR)/$(WAVE_FILE)

Это помогает открыть окно квеста и смоделировать тестовый пример. С тонкой консолью questa мне нужно запустить run -a, чтобы завершить выполнение теста.

Есть ли какая-либо команда, которую я могу добавить в свой Makefile, которая будет выполнять тестовый пример без использования команды консоли questa.

заранее спасибо

С уважением С


person Saikat Chatterjee    schedule 23.07.2020    source источник
comment
Если вы можете заставить его работать из командной строки, вы можете заставить его работать из вашего Makefile. Так что вопрос в том, поддерживает ли vsim/questa эту функциональность. Вы можете изменить название вопроса, чтобы люди, знакомые с vsim/questa, посмотрели на ваш вопрос.   -  person rveerd    schedule 23.07.2020


Ответы (2)


Просто добавьте вторую опцию -do:

vsim -l transcript -voptargs=+acc test -do $(WAVEDIR)/$(WAVE_FILE) -do 'run -all'

Примечание: будьте осторожны при использовании make с Modelsim или Questa. Эти инструменты не являются параллельными безопасными. Если вы попытаетесь запустить несколько компиляций параллельно, вы, вероятно, повредите свои целевые библиотеки и получите странные ошибки.

Таким образом, если вы используете make также для компиляции, создания библиотек и т. д., вы должны гарантировать, что make не попытается запустить параллельно несколько заданий, изменяющих одну и ту же библиотеку или один и тот же файл конфигурации (например, modelsim.ini). С GNU make всегда добавляйте специальную цель .NOTPARALLEL: в свои файлы Makefile (есть более умные и эффективные способы решения этой параллельной проблемы с блокировками, но это выходит за рамки).

person Renaud Pacalet    schedule 27.07.2020
comment
Я пробовал это раньше, но это не сработало. Я получил следующие сообщения об ошибках. Ошибка: ** Ошибка: (vish-3296) Неизвестная опция '-a'. Ошибка: используйте параметр -help для полного использования vsim. Ошибка: StartupSetup: Bad options Неверные параметры при выполнении StartupSetup [string trimleft $argv vish] Ошибка загрузки дизайна make: *** [run] Ошибка 1 - person Saikat Chatterjee; 28.07.2020
comment
Очевидно, vsim интерпретирует -all как одну из своих коротких опций (-a + ll), а не как часть значения опции -do. Вы использовали точно -do 'run -all' с одинарными кавычками? Можете ли вы показать Makefile, который вызывает эту ошибку? - person Renaud Pacalet; 29.07.2020

Здесь я публикую пример Makefile ниже.

TEST = test_top_0006
WAVE_FILE = wave_test0006.do

PREFIX = europractice questa 10.6c
RTLDIR = ..
WAVEDIR = waves
TRANSCRIPT_FILE = transcript

GITBRANCH = feature

VSIM = $(PREFIX) vsim
VLOG = $(PREFIX) vlog
VCOM = $(PREFIX) vcom
VLIB = $(PREFIX) vlib

VLOG_OPTS = -suppress vlog-2583 +acc





compile: rtl tb

 

# compile all spu sources
spu = $(RTLDIR)/rtl/opcodeDefs_pkg.sv \
    $(RTLDIR)/rtl/au/fp_pkg.sv  \
    $(RTLDIR)/rtl/spu.sv  \
    $(RTLDIR)/rtl/spu_top.sv


rtl:
    if [ ! -d work ]; then $(VLIB) work; fi
     ${VLOG} -lint -work ${VLOG_OPTS} ${spu}
    

# compile verification environment
tb:
    if [ ! -d work ]; then $(VLIB) work; fi
    $(VLOG) $(VLOG_OPTS)    $(RTLDIR)/rtl/typedefs_pkg.sv
    $(VLOG) $(VLOG_OPTS)    $(RTLDIR)/rtl/harness.sv
    if [ ! -e "${TEST}.sv" ]; then false; fi
    ${VLOG} $(VLOG_OPTS) ${TEST}.sv

# run simulator in GUI mode 
run:
    ${VSIM} -l $(TRANSCRIPT_FILE) test -do $(WAVEDIR)/$(WAVE_FILE) -do 'run -all'


runc: tb
    ${VSIM} -c -l $(TRANSCRIPT_FILE) -voptargs=+acc test -do $(WAVEDIR)/nogui.do
    
    
# GIT commands

push:
        git push origin $(GITBRANCH)
        
pull:
        git pull
        
commit:
        git commit -a
        
stat:
        git status
    
    
clean:
    rm -rf work 
    rm -rf vsim.wlf 
    rm -f $(TRANSCRIPT_FILE)
person Saikat Chatterjee    schedule 30.07.2020