我有一个设计,其中我使用的IP模块生成的晶格钻石。它使用随钻石提供的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文件。在这里,我使用了我在https://cocotb.readthedocs.io/en/latest/building.html找到的引用的命令VHDL_SOURCES_Lib
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包含供应商原语文件。
感谢您能提供的任何帮助。
发布于 2019-07-03 15:25:58
我认为您应该像文档所说的那样,在VHDL_SOURCES_Lib中添加确切的文件名:
VHDL_SOURCES_lib
要包含在VHDL库库中的VHDL源文件的列表(目前仅适用于GHDL库)。
但是要添加如您所示的预编译库,您必须向ghdl传递一个编译选项:-p=ghdl/
使用COMPILE_ARGS添加它:
COMPILE_ARGS=-P=lattice/https://stackoverflow.com/questions/56859124
复制相似问题