Vivado综合属性之SHREG_EXTRACT

2023-03-21 13:34:47 浏览数 (1)

本文给出了当SHREG_EXTRACT设置为yes和no时,Schematic的差异,也验证了如下结论:

SHREG_EXTRACT有2个值,yes和no。

当为yes时,等效于SRL_STYLE设置为reg_srl_reg;

当为no时,等效于SRL_STYLE设置为register。

SHREG_EXTRACT设置为yes

测试代码

代码语言:javascript复制
module top(
    input clk_i,
    input data_i,
    output data_o);
    parameter SHIFT = 4;
    (*shreg_extract = "yes"*) reg[SHIFT-1:0] reg_shift;

    always @(posedge clk_i)
    begin
        reg_shift <={data_i,reg_shift[SHIFT-1:1]};
    end
    assign data_o = reg_shift[0];
endmodule

原理图

SRL_STYLE设置为reg_srl_reg时,第一和最后一级深度用FF(Flip Flop,触发器),其他用LUT,与上图结构一致。

SHREG_EXTRACT设置为no

测试代码

代码语言:javascript复制
module top(
    input clk_i,
    input data_i,
    output data_o);
    parameter SHIFT = 4;
    (*shreg_extract = "no"*) reg[SHIFT-1:0] reg_shift;

    always @(posedge clk_i)
    begin
        reg_shift <={data_i,reg_shift[SHIFT-1:1]};
    end
    assign data_o = reg_shift[0];
endmodule

原理图

 当SRL_STYLE设置为register,用FF(Flip Flop,触发器)生成SRL,与上图的结构一致。

sh

0 人点赞