合成translate_off如何工作?

Far*_*wal 2 implementation synthesis fpga vhdl

我有一个具有以下结构的代码

-- synthesis translate_off
... some sort of memory implementation/coding
-- synthesis translate_on
Run Code Online (Sandbox Code Playgroud)

如果删除这段代码会影响我FPGA implementation代码的最终输出,请告诉我.

谢谢,最好的问候,法拉斯

Mor*_*mer 5

的metacomments synthesis translate_off... _on不是VHDL合成标准(IEEE P1076.6)的一部分,因此行为是工具相关的.

例如,Altera公司的Quartus II文档描述translate_off和translate_on VHDL综合指令,称

...直接分析和综合忽略部分设计代码......指令之间的文本被视为每行前面都有一行注释分隔符....

因此删除指令之间的代码不会影响最终的合成输出.

有关一般适用的元模型的讨论,您可以阅读Sigasi的这个描述:已知VHDL元模型编译指示的列表.

VHDL综合标准(IEEE P1076.6)规定使用rtl_synthesis off... on,但根据Sigasi,这似乎没有得到很好的支持.

最后,应谨慎使用ignore指令,因为它们可能(将)导致仿真中的设计和综合设计的行为不同,从而阻碍了设计的验证和调试.