Я запускаю автоматические тестовые узлы с помощью ghdl (0.32rc1). Некоторые из моих testbenches требуют unisim примитивов от Xilinx ISE.GHDL: Как связать компоненты?
Я подготовил два external files, если вы хотите проверить мой пример. Для запуска моего примера вам понадобится установка Xilinx ISE или Vivado, поэтому вы можете найти примитив MUXCY. Он находится в папке <InstallDir>\ISE_DS\ISE\vhdl\src\unisims\primitive
.
Я проанализировал три файла со следующей ghdl команд:
PS D:\Temp\ghdl> C:\Tools\GHDL\0.32RC1\bin\ghdl.exe -a --work=work C:\Xilinx\14.7\ISE_DS\ISE\vhdl\src\unisims\primitive\MUXCY.vhd
PS D:\Temp\ghdl> C:\Tools\GHDL\0.32RC1\bin\ghdl.exe -a --work=poc .\arith_prefix_and.vhdl
PS D:\Temp\ghdl> C:\Tools\GHDL\0.32RC1\bin\ghdl.exe -a --work=test .\arith_prefix_and_tb.vhdl
.\arith_prefix_and_tb.vhdl:96:16:warning: universal integer bound must be numeric literal or attribute
До сих пор без ошибок.
Теперь я начал моделирования, который только ghdl.exe -r на Windows (Linux: -e и -r):
PS D:\Temp\ghdl> C:\Tools\GHDL\0.32RC1\bin\ghdl.exe -r --work=test arith_prefix_and_tb
.\arith_prefix_and.vhdl:79:40:warning: 'mux' is not bound
.\arith_prefix_and.vhdl:43:14:warning: (in default configuration of arith_prefix_and(rtl))
Теперь ghdl сообщает, что mux
не могут быть связаны.
Я также пробовал параметры --syn-binding
и -P.
, но ничего не изменилось.
Что мне нужно сделать, чтобы связать компонент MUXCY?
P.S. Может ли кто-нибудь создать тег 'ghdl'? Я не хватает репутации :)
Эти файлы должны быть скомпилированы, например. Altera, который использует modelsim. Вы можете попробовать это, изменив VENDOR на Altera. В этом случае используется общая реализация привязки. Поскольку modelsim не знает unisim, я не могу добавить ссылку на библиотеку. Я знаю, что могу скомпилировать примитивы Xilinx для ModelSim, но не у каждого пользователя нашей библиотеки установлены XST или Vivado. – Paebbels
@Paebbels Я вижу вашу мысль. Как создать пустую библиотеку UNISIM в системах без Vivado или ISE, подходит ли это для вашего случая использования? Если для VENDOR установлено значение Altera, вам не нужно ничего в библиотеке, вам просто нужно, чтобы он существовал. –
Я рассматриваю этот ответ как решение ... (Жду дальнейших ответов) – Paebbels