综合报告 时序报告的时序不满足
[attach]530200[/attach]
上面的是我的综合报告,-0.018显然是时序违规了,但是违规是保持时间违规 还是建立时间违规呢?
如果是保持时间违规,为什么我将 FDP 这个输入加上buf,综合后依然违规呢,还是-0.018,那位大神给指点一下啊,多谢啊,非常感激啊。
always @(posedge rd_clk)
begin
if(!rst_n || empty == 1'b1)
begin
rd_en <= 1'b0 ;
end
else if(valid_temp == 1'b1)
begin
rd_en <= 1'b1 ;
end
else
begin
rd_en <= 1'b0 ;
end
end
这个是我的rd_en处的代码
不好意思 图片没有显示:下面是我的综合报告一处违规:
Timing constraint: Default OFFSET IN BEFORE for Clock 'pll_2clk_inst/CLKOUT1_BUF'
Total number of paths / destination ports: 2 / 2
-------------------------------------------------------------------------
Offset: 0.803ns (Levels of Logic = 3)
Source: pll_inst/PLL_ADV_INSTOCKED (PAD)
Destination: framedeinterleave_matcher_blockdeintrleave_inst/prachblockdeinterleave_inst/rd_en (FF)
Destination Clock: pll_2clk_inst/CLKOUT1_BUF falling
Data Path: pll_inst/PLL_ADV_INSTOCKED to framedeinterleave_matcher_blockdeintrleave_inst/prachblockdeinterleave_inst/rd_en
Gate Net
Cell:in->out fanout Delay Delay Logical Name (Net Name)
---------------------------------------- ------------
PLL_ADVOCKED 62 0.000 0.000 PLL_ADV_INST (LOCKED_OUT)
end scope: 'pll_inst'
begin scope: 'framedeinterleave_matcher_blockdeintrleave_inst'
begin scope: 'prachblockdeinterleave_inst'
LUT3:I1->O 1 0.094 0.000 rd_en_rstpot1 (rd_en_rstpot)
FD -0.018 rd_en
----------------------------------------
Total 0.803ns (0.803ns logic, 0.000ns route)
(100.0% logic, 0.0% route)
: L都变成了 D都变成了
你的buf是怎么加的?是不是优化掉了?
我直接使用assign rd_en = signal_name ; 做延时
没有使用D触发器
这样做肯定不行的。你要加入综合干预命令让综合器不对这个信号进行优化加入buff,定义信号的时候像这样写:module buffer(din,
dout
);
parameter SIGNAL_WIDTH = 1;
input[SIGNAL_WIDTH-1:0] din;
output[SIGNAL_WIDTH-1:0] dout/*synopsys keep=1*/;
assign dout = din;
endmodule
例化该模块,就会成功加入buf,当然,你也可以不另加一个模块,直接定义信号的时候加入/*synopsys keep=1*/这个东东就行了!
多谢小编啊!
直接定义信号的时候加入/*synopsys keep=1*/这个东东就行了! 恕我新手啊,有点不懂,怎么直接定义啊?
是这样定义 wire dout/*synopsys keep=1*/ ; ?
然后赋值;
assign dout = din;
再请小编答疑啊 多谢
是的,这样定义就可以,
module buffer(a,
b);
input a;
output b;
wire b1/*synopsys keep=1*/;
assign b1=a;
assign b = b1;
endmodule
这样综合器就会加上一个cell进行延时。
多谢小编啊 可以加你的QQ嘛 便于直接向你请教啊?