GHDL,预编译供应商基元和Cocotb

时间:2019-07-02 19:46:45

标签: ghdl lattice-diamond cocotb

我有一个设计,在其中我使用了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文件。在哪里使用我在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包括供应商原始文件。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

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

  

VHDL_SOURCES_lib

     

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

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

使用COMPILE_ARGS进行添加:

COMPILE_ARGS=-P=lattice/