DC物理综合遇到的问题
时间:10-02
整理:3721RD
点击:
我在做物理综合的时候,遇到一个问题。内核top.ddc综合完成后,在顶层网表中直接例化PAD,例化语句如下:PIW ipad_1_01 (.PAD(rpad_plldiv34bsel),.C(plldiv34bsel));PIW ipad_1_02 (.PAD(rpad_hblclktocore),.C(hblclktocore));
PIUW ipad_1_03 (.PAD(rpad_rst_n_i),.C(rst_n_i));
PISW ipad_1_04 (.PAD(rpad_CLK_DSP),.C(CLK_DSP));
然后使用DC-TOPO将综合好的内核ddc文件直接link进去,读入顶层网表,导入floorplan写出的def文件,读入时序约束,然后进行compile_ultra -inr的编译。综合后的结果没有时序违例,却出现了很多的max fanout的违例,而且都是在输入PAD上,如下:
RequiredActual
NetFanoutFanoutSlack
-----------------------------------------------------------------
rpad_DSP_ACEn32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[0]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[1]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[2]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[3]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[4]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[5]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[6]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[7]32.00671.00-639.00(VIOLATED)
rpad_hblclktocore32.00671.00-639.00(VIOLATED)
rpad_img_fval32.00671.00-639.00(VIOLATED)
rpad_imgdata[0]32.00671.00-639.00(VIOLATED)
rpad_imgdata[1]32.00671.00-639.00(VIOLATED)
rpad_imgdata[2]32.00671.00-639.00(VIOLATED)
rpad_imgdata[3]32.00671.00-639.00(VIOLATED)
rpad_imgdata[4]32.00671.00-639.00(VIOLATED)
rpad_imgdata[5]32.00671.00-639.00(VIOLATED)
rpad_imgdata[6]32.00671.00-639.00(VIOLATED)
rpad_imgdata[7]32.00671.00-639.00(VIOLATED)
rpad_imgdata_valid32.00671.00-639.00(VIOLATED)
rpad_pll_en32.00671.00-639.00(VIOLATED)
rpad_plldiv34bsel32.00671.00-639.00(VIOLATED)
rpad_srx_pad_i32.00671.00-639.00(VIOLATED)
选用的PIW是直接调用库中的PAD。没分析出来是什么问题导致的。请教一下各位。
PIUW ipad_1_03 (.PAD(rpad_rst_n_i),.C(rst_n_i));
PISW ipad_1_04 (.PAD(rpad_CLK_DSP),.C(CLK_DSP));
然后使用DC-TOPO将综合好的内核ddc文件直接link进去,读入顶层网表,导入floorplan写出的def文件,读入时序约束,然后进行compile_ultra -inr的编译。综合后的结果没有时序违例,却出现了很多的max fanout的违例,而且都是在输入PAD上,如下:
RequiredActual
NetFanoutFanoutSlack
-----------------------------------------------------------------
rpad_DSP_ACEn32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[0]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[1]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[2]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[3]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[4]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[5]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[6]32.00671.00-639.00(VIOLATED)
rpad_DSP_DATA[7]32.00671.00-639.00(VIOLATED)
rpad_hblclktocore32.00671.00-639.00(VIOLATED)
rpad_img_fval32.00671.00-639.00(VIOLATED)
rpad_imgdata[0]32.00671.00-639.00(VIOLATED)
rpad_imgdata[1]32.00671.00-639.00(VIOLATED)
rpad_imgdata[2]32.00671.00-639.00(VIOLATED)
rpad_imgdata[3]32.00671.00-639.00(VIOLATED)
rpad_imgdata[4]32.00671.00-639.00(VIOLATED)
rpad_imgdata[5]32.00671.00-639.00(VIOLATED)
rpad_imgdata[6]32.00671.00-639.00(VIOLATED)
rpad_imgdata[7]32.00671.00-639.00(VIOLATED)
rpad_imgdata_valid32.00671.00-639.00(VIOLATED)
rpad_pll_en32.00671.00-639.00(VIOLATED)
rpad_plldiv34bsel32.00671.00-639.00(VIOLATED)
rpad_srx_pad_i32.00671.00-639.00(VIOLATED)
选用的PIW是直接调用库中的PAD。没分析出来是什么问题导致的。请教一下各位。
应该问题不大, 到后端再看吧,有highfanout 在dc阶段是正常的,
你可以自己query那个net啊,
all_connected -leaf [get_netsrpad_pll_en]
谢谢小编解答,我用了query_net_pors rpad_DSP_ACEn ,报出的是 ipad_2_05/PADrpad_DSP_ACEn,都可以看到是直接连到输入PAD的PAD端口,然后直接送到内核中。为什么明明只挂了一个输入PAD,却这么大的max_fanout违例。
如果,在这里忽略了这个max_fanout违例,是要在ICC中做到placement,仍然存在这个问题的话,会不会影响后面的布线什么的?