GHDL:如何绑定组件?

时间:2015-01-13 17:54:35

标签: vhdl xilinx-ise ghdl

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

我准备了两个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

到目前为止没有错误。
现在我开始模拟,在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-binding-P.,但没有任何改变。

如何绑定MUXCY组件?

P.S。有人可以创造一个&#39; ghdl&#39;标签?我没有足够的声誉:)

1 个答案:

答案 0 :(得分:2)

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

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

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

应该这样做。

我认为这里发生的是,因为在分析work时,您使用poc覆盖--work=poc库的名称为arith_prefix_and.vhdl,但它不会请参阅名为MUXCY的实际库中分析的work实体,因此无法找到要绑定MUXCY组件的默认实体。