2

我有一个使用 Lattice Diamond 生成的 IP 模块的设计。这使用了作为供应商库的 diamond 附带的 Macxo3l 库。

使用 GHDL,我可以使用https://ghdl.readthedocs.io/en/latest/building/PrecompileVendorPrimitives.html中的说明然后是命令来编译包括这个库的设计。

ghdl -i --ieee=synopsys -P=lattice/ --workdir=work cores/*.vhd
ghdl -i --workdir=work src/*.vhd

但是我一直无法使用 cocotb 进行编译。下面是我的make文件。我在哪里使用命令 VHDL_SOURCES_Lib,我在https://cocotb.readthedocs.io/en/latest/building.html找到了参考

TOPLEVEL_LANG ?= vhdl

PWD=$(shell pwd)

ifeq ($(OS),Msys)
WPWD=$(shell sh -c 'pwd -W')
PYTHONPATH := $(WPWD)/../model;$(PYTHONPATH)
else
WPWD=$(shell pwd)
PYTHONPATH := $(WPWD)/../model:$(PYTHONPATH)
endif

VHDL_SOURCES_Lib = $(WPWD)/../lattice/
VHDL_SOURCES = $(WPWD)/../cores/Adder.vhd $(WPWD)/../cores/Counter.vhd $(WPWD)/../cores/Multiplyer.vhd $(WPWD)/../cores/SinCos.vhd  $(WPWD)/../src/top.vhd



TOPLEVEL := top
MODULE   := test_of_top

include $(shell cocotb-config --makefiles)/Makefile.inc
include $(shell cocotb-config --makefiles)/Makefile.sim

然而,编译这个给了我错误:

make results.xml
make[1]: Entering directory '/HDL/cocotbTest'
make[1]: *** No rule to make target '/HDL/cocotbTest/../cores/Adder.vhd', needed by 'analyse'.  Stop.
make[1]: Leaving directory '/HDL/cocotbTest'
/home/anaconda3/lib/python3.6/site-packages/cocotb/share/makefiles/Makefile.sim:84: recipe for target 'sim' failed
make: *** [sim] Error 2

我能够使用 GHDL 运行 cocotb 示例。我应该如何指示 cocotb 包含供应商原始文件。

感谢您提供任何帮助。

4

1 回答 1

1

我认为您应该在 VHDL_SOURCES_Lib 中添加确切的文件名,如文档所述:

VHDL_SOURCES_lib

要包含在 VHDL 库 lib 中的 VHDL 源文件列表(当前仅 GHDL )

但是要添加预编译库,您必须将编译选项传递给 ghdl : -P=lattice/

使用 COMPILE_ARGS 添加它:

COMPILE_ARGS=-P=lattice/
于 2019-07-03T07:25:57.603 回答