文章目录
引言
本篇博文是介绍DFT ug的第七章 Runing Test DRC Debugger,Designer会用Design Vision解决一些violation,直接在DC里面查看violation也是非常方便的。
所以,本篇博文会基于DFTug的第七章来重点介绍一下DRC violation。
GUI可以提供pre-DFT DRC的violation,post-DFT DRC violations and CTL models violation。
How to Browse violation
如下图所示,我打开axr的lab1,include就是代表这些vioaltion里面的pin包含的名字,注意需要打上*。
如下图所示,我们可以看到model的violation是因为不知道这个pll模块的功能。
如下图所示,蓝色箭头指的就是定位的D1 violation的cell,于是需要思考为什么这两个cell有D1violation,说到D1 violation那就要去查看这两个cell的时钟端。如下图红色箭头所指的这种具有阴影的port是用set_dft_signal定义过的port。这里仅仅打开了D1-1,但是可以按住shift键,同时inspect 这些violation。
如图所示,这些黄色的小菱形是什么意思,代表hierarchy。
我看了properity,明白你的意思了,箭头向上就是图中2是1的上一层的net,4是3的下一层。
所以图中2 ,3 位于top层,1,4位于top下面的分别两个block层
如下图所示,对于有CTL的cell,会用阴影表示。
Pin data type
通过选择不同的Pin data, 可以选择有不同的pin data type,而不同的pin data type将会导致pin data annotations的变化。大多数你选择的pin data type有一个三个字符,但是如果你选择的是test_setup 会因为数据非常长,所以无法显示在pin data annotation上面,但是下图中的wave view会变得可以选择。
使用命令inspect violation
Pin Data Example
由于DFTug没有对Pin data pin进行更多的介绍,所以一下内容具体参考TetraMAX help。
在TMAX的GSV界面下,你可以点击SETUP按钮,而SWV(simulation wave viewer)仅仅支持Debug Sim Data\Sequential Sim Data\TEST Setup 三种data type.
下面是对其中比较常用到的pin data type介绍。
Clock Cone:
pin data annotation分为:C E CE N
Typical Use: debug clock violation。
Data Displayed: cone of influence and effect cones for the selected clock。
该pin data annotation用于查看时钟的影响范围和效果范围。
如图所示:
C:代表时钟的一个影响区域,我可以觉得可以理解为时钟可以control的区域。C起源一个单独的点,然后通过组合门电路,最终终止于时序电路的clock input端。
E :代表是时钟的效果域,他起源于时序电路的输出口,结束于时序电压,同样通过组合逻辑门。
CE:CE代表控制和效果,C和E都存在,存在于feed back path。
N:代表该pin data既不是clock cone也不是effect cone。
Display Clock Off Data
如下图所示,当选择时钟关闭的时候,不受时钟影响的net,全都用X表示。而时钟和复位端都会被置位为0,
注意下图中第59个cell,因为复位有反向器,而不满足低电平复位,所以there is a logic 0 value on this pin, which resulets in a C1 violation (unstable scan cells when clock s off), The solution to the problem 就是把反向器拿掉。然后,重新执行run_drc。
Display Load Data
如果,你想要查看load_unload procedure的逻辑值,选择Load作为Pin data type后。通常会以AAA{}SBB这样的格式来表示。
AAA代表了一个或者多个逻辑状态,它是在load_unload开始之前的值。
假如说,在load_unload开始之前有三个cycle,如果输入端口input port被force 1,则input port就会show111{}1, 如果这个port是一个pulse,并且再第三个test cycle是一个低电平的port,那么这个port将会显示逻辑值,11101{}1。因此,在这个case中,第三个cycle被扩展为三个时间事件(time events) 因此可以表示为 --101{}-
{ }代表的是shift的值