是的,Quartus® II 软件(版本 2.1 及更高版本)支持 translate_on
translate_off
和编译器指令。
您可以将合成指令(也称为编译指示或属性)输入 Verilog HDL 或 VHDL 代码作为注释。这些指令不是语言定义中包含的命令,但合成工具读取命令以以某种方式驱动合成过程。
这些 translate_on
translate_off
指令和指令告诉 Quartus® II 软件(或第三方合成工具)不要编译设计文件的特定部分。如果代码的一部分仅用于模拟而不用于合成,则此功能有用。这些特定于合成的指令在合成过程中会被读取和处理,但会被第三方模拟工具读取为评论而忽略。该 translate_off
指令表示合成过程中应忽略的部分的起始, translate_on
而指令表示合成应在该点恢复。
Quartus® II 软件支持以下不同的翻译编译器指令:
Verilog HDL:
// synthesis translate_off // synthesis translate_on
或
/* synthesis translate_off */ /* synthesis translate_on */
VHDL:
-- synthesis translate_off -- synthesis translate_on
除了 synthesis
上述关键字外,Verilog HDL 和 VHDL 都支持以下关键字,以便与其他合成工具兼容:
pragma synopsys exemplar
2.1 以上的 Quartus II 软件版本不支持编译器指令。如果在早期版本的软件中编译的设计包含这些指令,您将看到不同的 Quartus II 行为。由于先前版本的 Quartus II 编译器仅将选项视为评论,因此,由于该软件对选项非常尊重,因此您可能需要修改您的代码。
在一个常见案例中,您可能会看到与以前的 Quartus II 版本的不同之处在于,当您有一个 MegaWi®生成的 VHDL 或 Verilog HDL 宏功能,并且添加 translate_off
和 translate_on
编译指示以从第三方合成工具中隐藏内部详细信息。这些详细信息现在也隐藏在 Quartus II 软件中,当您使用 Quartus II 软件版本 2.1 或更高版本编译时,将无法实施超级功能。
有关合成指令的更多信息,请参阅Quartus II 手册卷 1 中的Quartus II 集成合成章节。