【数字IC后端】引导时钟树CTS的生成方向之anchor driver
如何控制数字IC后端CTS的生成方向?我们可以引入anchor driver来实现引导。
景芯12nm车规APR实战中,我们可以看到,绝大部分的sink都受控于xxxx_tessent_occ_clk_cpu_inst/tessent_persistent_cell_clock_out_mux/C10_ctmi_1这个mux,这是景芯12nm车规后端项目DFT设计结果:
xxxx_tessent_occ_clk_cpu_inst/tessent_persistent_cell_clock_out_mux/C10_ctmi_1这个mux位置如下:
这里我们重新打开place的数据
Anchor,也就是锚。Anchor Driver 就是用来进行锚定的驱动器。
Clock Tree基于某些特殊的需求,我们可能需要人为地控制CTS的生成方向。于是,我们可以引入anchor driver来实现引导。
假设对于这个mux,我们想让CTS工具在生成Clock Tree的时候,先走到芯片的中央,再进行CTS。正如我们上面所说,我们需要在芯片的中央埋下一个anchor driver。
【思考】注意,景芯12nm车规后端项目给DFT cell划定了一个region如下,我们的occ模块在place阶段被设置的guide,导致anchor无法被place到指定的loc处。思考怎么处理?
我们在mux后插入一对inv:
添加完成后:
添加好的效果如下:
然后看下时钟树的整体效果:
这样一来,你就通过人为方式干预了 CTS 的生长方向。