原创 HDL综合保留属性

2023-9-5 12:29 791 5 5 分类: FPGA/CPLD 文集: QuartusII
使用ALTERA器件和其编译软件设计逻辑电路的时候,经常会遇到逻辑单元被综合优化掉的事情。这时候可以通过添加综合“保留”属性来将不希望被综合优化掉的信号节点保留下来。具体做法对于VHDL来说是这样的:
signal a_sig,b_sig,regout:std_logic_vector(511 downto 0);
  • attribute keep:boolean;
  • attribute keep of a_sig: signal is true;
  • attribute keep of b_sig: signal is true;
  • 复制代码

    而对于Verilog而言,如果信号为wire型,则
    wire w1 /*synthesis syn_keep*/;
    复制代码

    如果信号为reg型,则
    reg r1 /*synthesis syn_preserve*/ ;
    复制代码

    或者
    reg r1 /*synthesis syn_noprune*/ ;
    复制代码
    当前在使用VHDL添加综合保留属性的时候遇到一个问题,即同样的代码在QII13.0+CycloneVGX时候没有问题,但是在Quartus Prime 22.4 + Cyclone10GX的时候失去了效果,给出下述警告信息的同时将这些节点全部综合优化掉了。
    Warning(14284): Synthesized away the following node(s): 
    Warning(14285): Synthesized away the following node(s) of type LCELL buffer: 
    Warning(14320): Synthesized away node "inst18" 
    Warning(14320): Synthesized away node "inst19" 
    Warning(14320): Synthesized away node "inst3|u_TDL_CC_Top|a_sig[511]" 
    Warning(14320): Synthesized away node "inst3|u_TDL_CC_Top|a_sig[510]" 
    ........................................................................................................................................

    作者: coyoo, 来源:面包板社区

    链接: https://mbb.eet-china.com/blog/uid-me-1010859.html

    版权声明:本文为博主原创,未经本人允许,禁止转载!

    PARTNER CONTENT

    文章评论0条评论)

    登录后参与讨论
    我要评论
    0
    5
    关闭 站长推荐上一条 /3 下一条