错误(10023):在Conformal LEC模式下运行时无法使用综合指令或属性“read_comments_as_HDL”

某些Altera®知识产权(IP)(如Nios®II嵌入式处理器)使用综合指令read_comments_as_HDL打开和关闭,以指示Quartus®II集成综合使用注释的HDL代码进行综合。 IP使用这些指令以及综合指令translate_on和translate_off来指示不用于综合的HDL代码部分。

translate_on和translate_off指令通常在第三方工具中受支持,但是仅在Quartus II集成综合中支持onad_comments_as_HDL on和off指令。如果您在设计流程中使用Cadence Conformal LEC软件,Quartus II软件会在编译期间生成此错误,因为Conformal LEC工具不遵守这些指令。

此问题计划在Quartus II软件的未来版本中修复。

为避免此问题,如果不需要Cadence LEC但由于之前的项目设置而启用,请在Quartus II Settings对话框中选择<None>作为形式验证工具名称。如果形式验证是设计流程中的必需步骤,则必须编辑包含read_comments_as_HDL综合指令的所有IP源文件。

包含read_comments_as_HDL指令的文件,用于启用综合代码(但禁用它进行仿真),也使用综合translate_on和translate_off指令禁用综合代码(但启用它进行仿真)。

对于Verilog HDL设计,请执行以下步骤来编辑每个Verilog源文件:

  1. 找到一个综合translate_off指令的情况,然后相应的综合translate_on指令紧接着是read_comments_as_HDL on指令,然后是注释的代码行。
  2. 用`ifdef SIM替换综合translate_off指令。
  3. 用'else替换指令上的后续综合translate_on和read_comments_as_HDL。
  4. 在评论代码的每一行之前删除评论标签。
  5. 删除read_comments_as_HDL off指令(如果存在),并在注释行的末尾添加`endif。
  6. 对步骤1中描述的每种情况重复步骤1-5。

在如上所述编辑IP文件之后,在功能仿真脚本中使用编译器指令+ define + SIM来成功仿真设计。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-08-04 14:33:25 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它