0
点赞
收藏
分享

微信扫一扫

Vivado综合属性之SHREG_EXTRACT


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

SHREG_EXTRACT有2个值,yes和no。

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

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

SHREG_EXTRACT设置为yes

测试代码

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

原理图

Vivado综合属性之SHREG_EXTRACT_SRL_STYLE

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

SHREG_EXTRACT设置为no

测试代码

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

原理图

Vivado综合属性之SHREG_EXTRACT_SHREG_EXTRACT_02

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

Vivado综合属性之SHREG_EXTRACT_no_03

 

举报

相关推荐

0 条评论