0

我正在使用 ghdl (0.32rc1) 运行自动化测试平台。我的一些测试平台需要来自 Xilinx ISE 的 unisim 原语。

我准备了两个外部文件,如果一个想测试我的例子。要运行我的示例,您需要安装 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

到目前为止没有错误。
现在我开始了模拟,这只是 Windows 上的 ghdl.exe -r(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-bindingand -P.,但没有任何改变。

我要怎么做才能绑定 MUXCY 组件?

PS有人可以创建一个'ghdl'标签吗?我没有足够的声誉:)

4

1 回答 1

2

以下是我将如何解决此问题:

首先,MUXCY按预期分析 unisim 库中的 ,如下所示:

ghdl -a --work=unisim C:\Xilinx\14.7\ISE_DS\ISE\vhdl\src\unisims\primitive\MUXCY.vhd

请注意该--work=unisim命令中的 。

然后,确保在文件library UNISIM;顶部添加arith_prefix_and.vhdl

那应该这样做。

我认为这里发生的事情是,由于您在分析时将workpoc的名称覆盖到,因此它看不到在名为的实际库中分析的实体,因此它找不到要绑定的默认实体组件。--work=pocarith_prefix_and.vhdlMUXCYworkMUXCY

于 2015-01-13T18:44:00.827 回答