11.2 XST  – “错误:HDLC编译器:940  – ”。vhd“行xx:无法匹配的pragma translate / synthesis_off pragma found”-Altera-Intel社区-FPGA CPLD-ChipDebug

11.2 XST – “错误:HDLC编译器:940 – ”。vhd“行xx:无法匹配的pragma translate / synthesis_off pragma found”

问题描述

我正在使用Virtex-6 / Spartan-6重定向我的设计,并且它在Synthesis中出错,出现以下错误。当我针对旧器件时,此设计通过了XST综合。为什么?

错误:HDLC编译器:940 – “ex_0005.vhd”第16行:找到无与伦比的编译指示翻译/ synthesis_off编译指示。需要一对匹配的具有相同关键字的translate_off和translate_on指令。

VHDL示例代码

库;

使用ieee.std_logic_1164.all;

实体ex_0005是

port(clk:in std_logic;

d:在std_logic中;

q:out std_logic);

结束ex_0005;

ex_0005的架构是

开始

过程(clk)

开始

if(clk’event和clk =’1’)然后

q <= d;

pragma translate_off

q <=不(d);

– translate_on

万一;

结束过程;

结束;

Verilog示例代码

文件:ex_0005_v.v

编译库:工作

模块ex_0005_v(clk,d,q);

输入clk,d;

输出q;

reg q;

永远@(posedge clk)

开始

q <= d;

// pragma translate_off – 注意:此处有错误点

q <=不(d);

// translate_on

结束

endmodule

解决/修复方法

11.2 XST为Virtex-6和Spartan-6系列引入了新的VHDL / Verilog解析器。有关此更改的更多信息,请参阅(Xilinx答复32927)

使用XST为Virtex-6和Spartan-6系列编译设计时,translate_off和translate_on指令必须具有相同的关键字。支持以下关键字:综合,synopsys,pragma,范例,verific。您可以使用没有关键字的translate_off / _on指令。

要解决此问题,请对translate_off / _on指令使用相同的关键字。

例如,在上面的代码中,您可以将源编辑为:

库;

使用ieee.std_logic_1164.all;

实体ex_0005是

port(clk:in std_logic;

d:在std_logic中;

q:out std_logic);

结束ex_0005;

ex_0005的架构是

开始

过程(clk)

开始

if(clk’event和clk =’1’)然后

q <= d;

– pragma translate_off – 注意:错误点在这里

q <=不(d);

– pragma translate_on

万一;

结束过程;

结束;

文件:ex_0005_v.v

编译库:工作

模块ex_0005_v(clk,d,q);

输入clk,d;

输出q;

reg q;

永远@(posedge clk)

开始

q <= d;

// pragma translate_off – 注意:此处有错误点

q <=不(d);

// pragma translate_on

结束

endmodule

请登录后发表评论

    没有回复内容