在合成过程中,如果移位寄存器宽且深,同步化将优化移位寄存器到分布式RAM实现,以节省寄存器资源。这种实现的缺点是移位寄存器将相对于性能产生不利影响。如果性能比区域具有更高的优先级,则可以通过为移位寄存器添加SypLimice属性“SythSrLyStase=寄存器”来禁止优化。例如,
在Verilog中:
Reg [15:0] AyReG/*合成SythSRLyType =“寄存器”*/;
在VHDL:
信号AYRG:STDYLogLogic向量(15下降到0);
属性SythSRLoStry:字符串;
AyReg的属性SythSRLL样式:信号是“寄存器”;
如果在设计中有很多大移位寄存器,则必须将属性添加到每个实例化中。
另一种方法是在整个设计中添加.sDC约束文件中的属性。例如:
定义EndoSeCopySO集合Fo{{查找*-HIE-Field:Ayt==SEQSHIFT}
定义属性{{$Fo}{{SythSRLyStudi}}{} }
当“SythSRL样式”属性设置为“寄存器”时,SypRIFIt将使用寄存器资源实现移位寄存器,而不是使用分布式RAM。
没有回复内容