vsim не принимает параметр-modelsimini в Windows

Я использую аргумент командной строки -modelsimini <modelsim.ini>, чтобы указать мой собственный modelsim.ini файл для большинства исполняемых файлов QuestaSim / ModelSim.

это отлично работает в Linux для vcom и vsim, а также vcom на Windows. Но окна! .. --5--> прерывается и выдает ошибку:

C:MentorQuestaSim64.4cwin64vsim.exe -do "do D:/git/PoC/sim/vSim.batch.tcl" -c -modelsimini D:gitPoCtempprecompiledvsimmodelsim.ini -error 3473 -t 1fs test.arith_prng_tb
Reading C:/Mentor/QuestaSim64/10.4c/tcl/vsim/pref.tcl

# 10.4c

# ** Error: (vsim-7) Failed to open -modelsimini file "{D:gitPoCtempprecompiledvsimmodelsim.ini}" in read mode.
#
# Invalid argument. (errno = EINVAL)
# Error loading design
Error loading design
# Errors: 1, Warnings: 0

на modelsim.ini файлы существуют и имеют следующий контент:

[Library]
others = $MODEL_TECH/../modelsim.ini

(этот файл будет содержать больше строк, если инструменты поставщика добавят свою библиотеку отображения.)

как я могу пройти свой собственный modelsim.ini конфигурационный файл vsim.exe?

2 ответов


сомнительно, следует ли это рассматривать как ошибку или нет, потому что TCL требует этого имена файлов задаются косыми чертами вместо обратных косых черт. Конечно, можно было бы ожидать, что имена файлов обрабатываются одинаково при вызове vcom или vsim. Таким образом, решение с этой точки зрения-указать путь с прямыми косыми чертами:

C:\Mentor\QuestaSim64.4c\win64\vsim.exe -do "do D:/git/PoC/sim/vSim.batch.tcl" -c -modelsimini D:/git/PoC/temp/precompiled/vsim/modelsim.ini -error 3473 -t 1fs test.arith_prng_tb

проверил его с ModelSim выступает 10.1 D под окнами и ModelSim выступает.ini в моем временном справочник.


некоторые эксперименты под vsim TCL консоль показывает, что -modelsimini имя файла обрабатывается по-разному vcom и vsim команды. Сначала обратная косая черта указывает на escape-последовательность, a \t в файле-имя раскрывается на вкладку например:

vcom -modelsimini c:\tmp\modelsim.ini test.vhdl
# ** Error: (vcom-7) Failed to open -modelsimini file "c:   mpmodelsim.ini" in read mode.
# 
# Invalid argument. (errno = EINVAL)
# D:/altera/13.1_web/modelsim_ase/win32aloem/vcom failed.

чтобы предотвратить это, аргумент можно поместить в фигурные скобки {} например:

vcom -modelsimini {c:\tmp\modelsim.ini} test.vhdl
# ** Error: (vcom-7) Failed to open -modelsimini file "c:\tmp\modelsim.ini" in read mode.
# 
# No such file or directory. (errno = ENOENT)
# D:/altera/13.1_web/modelsim_ase/win32aloem/vcom failed.

я указал несуществующий файл, так что можно увидеть расширение. Если я создам файл c:\tmp\modelsim.ini, vcom будет продолжаться, как ожидалось. Да, здесь разрешены обратные косые черты в именах файлов.

если мы дадим те же аргументы vsim сообщения об ошибках (и реальным поведением) будут отличаться:

vsim -modelsimini c:\tmp\modelsim.ini test
# vsim -modelsimini {{c:    mpmodelsim.ini}} test 
# ** Error: (vsim-7) Failed to open -modelsimini file "{c:  mpmodelsim.ini}" in read mode.
# 
# No such file or directory. (errno = ENOENT)
# Error loading design

vsim -modelsimini {c:\tmp\modelsim.ini} test
# vsim -modelsimini {{c:\tmp\modelsim.ini}} test 
# ** Error: (vsim-7) Failed to open -modelsimini file "{c:\tmp\modelsim.ini}" in read mode.
# 
# Invalid argument. (errno = EINVAL)
# Error loading design

аргумент file-name будет обработан так же, как и раньше. Но тогда vsim скрипт добавляет еще одну пару фигурных скобок вокруг расширен


QuestaSim это vsim исполняемый файл в Windows не может справиться с путями Windows (используя \ как знак разделителя пути) в -modelsimini переключатель командной строки. Путь должен быть в записи posix (используя / разделители).

насколько я вижу, vcom не имеет проблем с правильным знаком разделителя пути.