下面我们通过下图所示的电路结构来解析drive adjustment。为了模拟连接到输入端口的外部驱动器的驱动能力,我们这个例子通过 set_driving_cell 命令指定模块input的driver驱动为BUFX2,且这个信号到达的时间为5ns。create_clock –period 10 [get_ports clk1]set_input_delay 5 –clock clk1 [get_ports in1]set_dri...
get所有连接到tie cell的instTerm名字 dbGet [dbGet -p [dbGet -p2 top.insts.cell.subClass coreTieLo].instTerms.net.allTerms.isInput 1].name 更改net的route属性(比如从 FIXED 到ROUTED) dbSet [dbGet -p top.nets.name netName].wires.status route 获得设计的状态 dbGet top.statusIoPlaced dbGet to...
1.时钟路径上存在fixed的clock cell且cell摆放位置不合理 get_db [get_db clock_trees .insts -if { .place_status == fixed }] .name 2. floorplan相关 比如memory的channel留的不好,比如channel的blockage类型加的不对等。3.power domain相关 比如跨power domain的情况。数字IC后端时钟树综合专题(OCC电路案...
8.将clock tree上小尺寸的cell换成正常尺寸 将时钟树上已存在的clock cell抓出来,如果尺寸小于X6则替换成X6的cell。如果lib中没有X6尺寸的cell,则替换成X4的,没有X4则替换成X3的,没有X3则替换成X2的。 set clocks [get_clocks clk] set sources [get_attribute $clock sources] set pins [add_to_collecti...
get_db net:$net_name .route_rule.name 或者Instance的ref name get_attr [get_cells $inst_name] ref_name get_db inst:$inst_name .base_cell.name get_property [get_cells $inst_name] ref_name 定义proc的属性和参数 define_proc_attributes ...
# 把指定的cell inst高亮成红色,下面几个写法作用相同 highlight -index 1 U123 highlight -color red U123 highlight -color #FF0000 U123 # 所有sparecell都高亮成黄色 highlight -color yellow [get_cells spr_1/spr_gate*] # 所有sparecell中INV都高亮成紫色 highlight -color magenta [dbGet [dbGet -...
可以看到Innovus里面这个地方有个Cell: 相应的GDS里面自然也有: 如果gui里面直接用delete删除: 导出GDS之后,可以看到GDS里面已经没有了(打叉的地方就是缺少的Cell): GUI里面的删除Cell不影响Nelist: 两个版本的netlist里面都是有这个Cell的: 另外,虽然GUI里面删除了,但是dbGet还能get到: ...
reportPowerDomain verifyPowerVia verifyPowerDomain 可以用命令 "verifyPowerDomain -bind" 来检查是否所有的cell 都被link 到了对应的库上。 可以用命令 "verifyPowerDomain -place" 来检查cell 和power domain placement 的问题,如power domain 是否有 overlap, cell 是否放入了正确的power domain. ...
dbGet -u top.insts.cell.name Note: The "-u" parameter filters out the duplicate objects. Get the size of block placement halos dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloTop dbGet [dbGet -p2 top.insts.cell.subClass block*].pHaloBot ...
set macro_list [get_db [get_db $hier .insts -if {.base_cell.base_class == "block"}] .name] if {$macro_list != ""} { selectInst $macro_list highlight -index $i deselectAll if {$i < 63} { incr i } else { set i 1 ...