我们之前介绍过ecoAddRepeater可以实现on route插buffer,而且还可以解high fanout引起的transition violation。
但实际项目中经常会有如下图所示的实现要求:
● U0原来驱动的U1–>U16,需要一分为二,第一组是U1-U8,第二组是U9-U16
● 这两组fanout可以根据layout位置来选定(这个工具无法自动实现)
以上需求直接使用ecoAddRepeater是无法直接实现的。通过上面的图解我们实现的方法和步骤如下:
1)设置ecoMode将updateTiming关掉
setEcoMode -updateTiming false
2)关掉LEQ检查 (因为涉及到信号反向)
setEcoMode -LEQCheck false
3)对U1–>U8的D pin插buffer
ecoAddRepeater -term {U1/D U2/D U3/D U4/D U5/D U6/D U7/D U8/D} -cell BUFX2 -name eco_inst_1
4)将插入的buffer size成 inverter
ecoChangeCell -cell INVX2 -inst eco_inst_1
5)对U9–>U16的D Pin插b