【问题标题】:compiling entire Xilinx ISE unisims and XilinxCoreLib libraries (minus secure ip) with GHDL simulator使用 GHDL 仿真器编译整个 Xilinx ISE unisims 和 XilinxCoreLib 库(减去安全 ip)
【发布时间】:2019-05-10 16:29:45
【问题描述】:

我很好奇是否有人有幸为 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

【问题讨论】:

  • VITAL 不再受 IEEE 支持,VITAL TIMING 包不符合 VHDL 标准。 FUNCTION VitalTimingDataInit 返回类型 VitalTimingDataType 具有访问类型元素。不纯函数不是形式证明,需要大量重写或语义混淆。请参阅 ghdl issue 716,其中显示了成功分析timing_p.vhdl 所需的内容:ghdl -a --std=08 -frelaxed-rules timing_p.vhdl。命令行标志将对此问题产生警告而不是错误,并且可以在 Paebbel 的脚本中找到。
  • 您需要受保护的类型(VHDL -2002、-2008)以避免花招修复,其中 VITAL 2000 也与 -1993 一起使用,并且大多数历史 VITAL 使用是 VITAL 1995,它具有软件包vital_timing中的相同问题。

标签: vhdl xilinx-ise ghdl


【解决方案1】:

GHDl 随附用于预编译 Xilinx ISE 原始库(unisim、unimacro、uniprim 等)等库的脚本。

请参阅此文档:https://ghdl.readthedocs.io/en/latest/building/PrecompileVendorPrimitives.html

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

重击:

./compile-xilinx-ise.sh -d

PowerShell:

.\compile-xilinx-ise.ps1 -Debug

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-05
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    相关资源
    最近更新 更多