我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?
常见的VCLP错误无非是两种,接错电/插错buffer,接错电很好理解,UPF中定义了instance要接什么PG,但是PG netlist中连接错误,插错buffer也有两种,isolation cell前插buffer,以及always on信号被插入了普通buffer。
ISO_BUFINV_STATE
Description: Elsectriaclly unprotected path requiring in supply connection for buffer/inverter [Instance] with supply [InstanceInfo] between source [SourceInfo] and sink [SinkInfo]
ReasonCode:SourceOffInstanceOn
示例如上图:
这颗buf的与其输入信号处于两个不同的power domain,工具认为当其输入断电了,但是这个buf还可能是开启的。
在VCLP或PR中去trace这个buf的前后级会发现,从OFF domain出来的信号原本是有ISO隔离的(图中PivotInstance即为从PD_OFDM输出的iso)。
看instance name可知,这是是PT修trans在ISO前面插的buffer(low power design PT修timing最好读入UPF和voltage area信息)
ReasonCode:InstanceOffSinkOn
示例如上图:
这是一个retention mem,它的retention信号中间插了两级buf(来源同样是PTECO 修transition,看length of chain是2),这个retention信号需要保持常开,那么要么插入always on buffer要么删除掉这两个普通 。
PG_CSN_CONN
Description:UPF connect_supply_net [PFSupply] does not match design supply net [DesignNet] on pin [CellPin] of [CellType] instance [Instance] {[Cell]}
这个是典型的pg connect接错与UPF定义相违背的情况,可以看到这个是switch cell的VDD Pin接错了,UPF中的VDD_MEM3,pg netlist接的是VDD_MEM3_CE。
ISO_SINK_STATE
Description:Sink supply on,buf instance [Instance] or driver [DriverNode] power off
这个错和前面ISO_BUFINV_STATE中InstanceOffSinkOn就很像了,说的是输出是On state时这个instance或其driver可能处于off domain。