一些Altera®知识产权 (IP),例如,Nios® II 嵌入式处理器使用合成指令 read_comments_as_HDL on
和 off
指示 Quartus® II 集成合成,以使用评论的 HDL 代码进行合成。IP 使用这些指令与合成指令, translate_on
并 translate_off
指出并非用于合成的 HDL 代码的一部分。
第 translate_on
translate_off
三方工具通常支持这些指令和指令,但 read_comments_as_HDL on
off
仅在 Quartus II 集成合成中支持这些指令和指令。如果您在设计流程中使用 Cadence 一致性 LEC 软件,Quartus II 软件在编译过程中生成此错误,因为一致性 LEC 工具不尊重这些指令。
此问题计划在 Quartus II 软件的未来版本中解决。
为了避免此问题,如果 Cadence LEC 不是必需的,但是由于先前的项目设置而已启用,请选择 Quartus II 设置对话框中的正式验证工具名称。如果正式验证是设计流程中的强制步骤,您必须编辑包含合成指令的所有 IP 源文件 read_comments_as_HDL
。
包含 read_comments_as_HDL
该指令的文件可以启用经过评论的代码进行合成(但禁用其用于模拟),这些文件还使用合成 translate_on
和 translate_off
指令禁用用于合成的代码(但将其启用在模拟中)。
对于 Verilog HDL 设计,执行以下步骤以编辑每个 Verilog 源文件:
- 查找有指令的用例
synthesis translate_off
,然后按照指令synthesis translate_on
完美地遵从相应read_comments_as_HDL on
指令,然后评论代码行。 - 替换
synthesis translate_off directive
为else
. - 在评论的
//
代码的每行之前,请删除评论标签。 - 移除
read_comments_as_HDL off
指令 (如果存在), 并添加pragma protect ????_block encoding'
** Error: /quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(26): Pragma protect keyword expected
** Error: /quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(28): A key_method must be specified.
** Error: /quartus/eda/sim_lib/mentor/stratixv_atoms_ncrypt.v(28): near ",": syntax error, unexpected ',', expecting "class"为了避免这些错误,请使用 Quartus II 软件版本支持的 ModelSim SE 软件版本。要查看支持哪一版本的 ModelSim SE 软件,请参阅Quartus II 软件发行说明 (PDF)的 EDA 接口信息 部分,了解当前版本的 Quartus II 软件或有关旧版本 Quartus II 软件版本的 文档存档页面。例如,Quartus® II 软件版本 11.0 SP1 支持 ModelSim SE 软件版本 6.6d。