【问题标题】:RISCV VERILOG HDL codeRISCV VERILOG HDL 代码
【发布时间】:2016-05-01 06:02:38
【问题描述】:

在 Xilinx ISE 上编译 RISCV VERILOG HDL 时出现以下错误:

它说 以下代码中的“不支持的系统函数调用”在模块 vscale_pipeline 的第 296 行

295: ifndef SYNTHESIS
296: PC_WB <= $random;

【问题讨论】:

  • 请显示一些代码,然后人们可以帮助您改进/修复您的脚本。添加有关您的问题的更多详细信息。 stackoverflow.com/help/how-to-ask
  • 这听起来像是赛灵思 ISE 不支持您拥有的 verilog。我会联系该代码的提供者。
  • SYNTHESIS是在这行代码之前定义和定义的吗?编译顺序问题。
  • 非常感谢摩根的回复:我从网站下载了代码:github.com/ucb-bar/vscale
  • 我的信息来自:riscv.org/2015/09/risc-v-in-verilog .. 虽然无法联系他们的帮助服务.. 我可能遗漏了一些东西..

标签: verilog hdl riscv


【解决方案1】:

一些综合工具定义了SYNTHESIS宏,以便在综合使用中更容易跳过不可综合的代码

`ifdef SYNTHESIS
...
`endif

块,就像在这段代码中所做的那样。

Xilinx XST 默认不定义此宏,因此您必须手动配置 XST 以在综合过程中定义宏。有关如何执行此操作的详细信息,请参阅this Xilinx AR

【讨论】:

    【解决方案2】:

    $random 不可合成,所以取出来

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      相关资源
      最近更新 更多