Vhdl 使用GHDL模拟器编译整个Xilinx ISE unisims和XilinxCoreLib库(减去安全ip)

Vhdl 使用GHDL模拟器编译整个Xilinx ISE unisims和XilinxCoreLib库(减去安全ip),vhdl,xilinx-ise,ghdl,Vhdl,Xilinx Ise,Ghdl,我很好奇是否有人有幸为GHDL模拟器编译了整个Xilinx ISE unisims库?我试图只编译unisims的包文件,但它给了我一个错误 我想知道它是否可以通过注释掉VHDL代码中不受支持的部分来编译。。。或者需要做一些其他的事情,比如编译一个不同的重要库或者使用不同的版本——std。 因为我知道我可以抽出一个unisims组件,用ghdl编译。。。只是想知道如何完成其余90%的组件 $ ghdl -a --std=08 --work=unisims C:/Xilinx/14.7/ISE_D

我很好奇是否有人有幸为GHDL模拟器编译了整个Xilinx ISE unisims库?我试图只编译unisims的包文件,但它给了我一个错误

我想知道它是否可以通过注释掉VHDL代码中不受支持的部分来编译。。。或者需要做一些其他的事情,比如编译一个不同的重要库或者使用不同的版本——std。 因为我知道我可以抽出一个unisims组件,用ghdl编译。。。只是想知道如何完成其余90%的组件

$ ghdl -a --std=08 --work=unisims C:/Xilinx/14.7/ISE_DE/ISE/vhdl/src/unisims/unisim_VCOMP.vhd

$ ghdl -a --std=08 --work=unisims C:/Xilinx/14.7/ISE_DE/ISE/vhdl/src/unisims/unisim_VPKG.vhd

ERROR: ../../src/vital2000/timing_p.vhdl:152:14: result subtype of a pure function cannot have access subelements

GHDl与脚本一起提供给预编译库,如Xilinx ISE基元库(unisim、unimacro、uniprim等)

请参阅本文档:

您可以在详细或调试模式下运行脚本,以查看对GHDL的所有命令行调用以及应用的参数

狂欢节:

PowerShell:

.\compile-xilinx-ise.ps1 -Debug

IEEE不再支持VITAL,VITAL计时包不符合VHDL标准。函数VitalTimingDataInit返回类型VitalTimingDataType具有访问类型元素。不纯函数不是形式证明,需要大量重写或语义上的花招。请参阅ghdl,其中显示了成功分析计时所需的内容:
ghdl-a--std=08-frelaxed rules timing\u p.vhdl
。命令行标志将对此问题产生警告,而不是错误,并且可以在Paebbel的脚本中找到。您需要受保护的类型(VHDL-2002,-2008)来避免手工修复的花招,其中VITAL 2000也与-1993一起使用,并且大多数历史上的VITAL用途都是VITAL 1995,它在包VITAL_计时方面存在相同的问题。
.\compile-xilinx-ise.ps1 -Debug