自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 sta的反标问题

net有不完整的RC network:是有这种浮空的path wire,

2025-02-27 11:50:25 197

原创 memory染色问题,无法染色

在N7工艺中,所有cell在lef内部会进行相应染色(mask)定义,但是std-cell的染色和hard macro的染色不一样,在完成摆memory的floorplan之后,我们可以进行染色,coloerizePowermesh,这个时候memory上pinshape的颜色可能会发生改变,但是染完之后和lef中对应不上,后面在跑gds就可能会出问题,这个时候,有两个解决方法。

2024-07-03 11:35:23 283

原创 跑dummy时遇到的精度问题

在innovus出数据的时候streamout -unit 和跑dummy pv的时候规则文件精度全部统一了,为什么会在跑dummy以及后面的流程说,database precision精度是2000,跑不了lvs,确实在tlef里面定义的2000,但是出数据都是1000,后面每个阶段都会提示这个问题。在这里全部检查了还是有问题,那就是flow的问题,需要改选项。精度是否完全同一需要打开每版gds是否是统一的精度。

2024-05-09 17:01:55 273 1

原创 pv的lvs在读cdl时有error

在跑lvs的时候显示 NOT COMPARED ,没进行比对,原因是我这个cdl少了一段,对这个器件的定义没有,需要增加一段cdl文件。

2024-05-09 16:41:39 830 2

原创 对于ip出的clock pin的导致的drc问题

问题:1.一般我们在clock阶段会给clock net统一设置ndr,对于内部有时钟的ip,在出pin时可能会被认定为trunk net,于是在ndr的2w2s作用下会直接连成2倍的net,可能会导致有metal short。2.而且如果添加了shield net,又没有加blockage,shield net就会从ip上覆盖一小段,导致lvs的short,线和ip内部无法看见的线短路。2.写脚本修,直接给所有的出pin位置加一段金属,再ecoRoute。到处rpt抓出net再进行删除。

2024-04-30 09:48:23 472

原创 esd的drc问题

这个错代表esd的方向反了,在esd中H的cell是需要竖着摆,V的cell是横着摆的,和字面意思不同,比如同层的金属打开发现方向不一致。这里把cell替换过来就行。

2024-04-30 09:30:30 260

原创 remove_buffer删一对inverter删不动

这两个inverter是连着的cdb的cell,我以为它是一对,问题表示 62 63 不是一对,换一下cell 61 62的,在dsma的pt中 ,remove_buffer " inv1 inv2" 要用双引号括起来。remove_buffer删一对inverter删不动。

2024-04-23 10:37:46 549

原创 pv的时候遇到的Userguide问题

解决:Rule deck规则文件没找对,查找innovus出数据用的gds layer map和rule deck文件里面的数据层是否能对上(gds layer map也要和tech lef对应上)搜索M9查看datatype,之前的规则文件这里是40,由于我都gdslayermap换成了2z的map文件数据层发生改变。1.Userguide出现了问题,在pv规则文件中找不到解释,只是说数据层被禁止了。

2024-04-23 10:32:50 461

原创 关于latch的fm过不了

在加入dft之后,fm发现这种lockup_latch的latch没过,在init阶段电路结构是正确的,place阶段就发生了改变,是因为。reorder 设为true会方便我们修时序,设了过不了是要把latch忽略掉了,在这里设dont verify。在scan reorder的时候会改变连接关系,

2024-04-15 11:56:43 546 3

原创 如何dbug clock,cluster怎么用

可以先查看sdc和spec,看看有没有关于这个IP的描述,有可能是由于IP内部有时钟出来,所以穿过IP,这里其实是有问题的路径,一般来说这个时钟应该是有IP内部出来的代表PLL,再到各个reg,这样就不存在穿进和穿出了,树就短了。3)这IP和后面的 reg从skew group里面挪出 ,modify_ccopt_skew_group -remove_sinks。要想找出时钟树为什么做这么长的原因,首先要找到最长的那条路是否存在detour,跑一次cluster去看最长的怎么走了。抓出最长路径高亮出来。

2024-03-26 15:54:35 808

原创 约束trans的方法(innovus)

因为这些命令是sdc内的命令,包括(set_max_transition,set_disable_timset_propagated_clock等)3.在cts阶段可以设置set_ccopt_property max_source_to_sink_net_length 220。4.设置max_fanout 30 时钟树上的set_ccopt_property max_fanout 30。普通路径set_max_fanout 30 [current_design]注意在设置DRV约束时打开开关。

2024-03-07 14:45:19 1846

原创 routetype的ndr设置以及查看

超过指定fanout 数量的net,叫top ,top 需要使用命令手动指定,默认不会产生top。leaf的net定义,sink点到前一级之间net。看具体routetype的ndr设置。除开leaf的net都是trunk。

2024-02-23 14:44:19 916 1

原创 如何快速跑lvs来dbug

1.改lvs的脚本如果只是想通过修改规则文件来消除lvs,就可以反复用之前出过的layout.spice来对比,一般来说lvs是先把merge的gds转化成layout.spice,dbug可以省去这个步骤。3.在执行calibre -lvs -hier -spice layout.spice -hyper -turbo 1 -64 -hcell hcellfile lvs.cmd。改成:LAYOUT PATH "layout.spice"原来:LAYOUT PATH "merge.gds"

2024-02-22 10:06:16 1107 1

原创 如何查看innovus中的global参数,flow的参数

set global的参数查看方法。

2024-02-20 15:52:41 729 1

原创 innovus中delay为0

1.如果自己擅自改sdc,或者spec没有重新生成新的spec去跑ccopt_design,可能会出现错误,可以在跑前检查一下ccopt_design.2.用reset_ideal_network [get_ports [get_attr [all_clocks ] sources,可以显示delay。在cts阶段时序报告突然就没有delay了是怎么回事?

2024-02-18 15:08:54 669

原创 手动实例化单元(verilog的映射文件)

根据电路结构来说, latch+ and算是一个ICG, 电平触发。TSMC提供的是OR+latch_and. 边沿触发,直接例化。给这段rtl代码改成以下格式,可以添加一个新文件,也可以直接进行修改,如果不确定逻辑功能是否一样,可以把这两个文件做一个formal对比。如何添加呢,打开rtl需要实例化的代码(icg的关键字:clock gating cell)TE是给dft用的,TE端接0,例化icg。

2024-01-19 16:56:26 710 1

原创 set_ideal_network的设置

clock cell delay在设置后都会变为0,可以看看如果树平setup和hold会有多少margin。在pt工具里,设置某条timing path上的指定clock的 network为ideal network。

2024-01-17 17:12:30 958

原创 pt报告的悲观消除

可以加选项-type allow_path/asynchronous。查看cppr的公共路径以及消除量。

2024-01-16 17:53:34 644 1

原创 MMMC环境配置:

3.scan:ac capturedc capture4.jtag:边界扫描I/O。

2024-01-16 17:30:01 1154 1

原创 pba gba在修时序中的使用

是最悲观的算法,其次是exhausitive,最后是path这个选项,最乐观,一般在eco修时序时不要带上-pba_mode path这个选项,这样工具修的就是按最悲观的情况来修,就会修掉更多违例。在report_timing指令中有一个-pba_path这个选项,不选该选项代表默认用的是-pba_mode none。pba gba模式具体在pt里面是怎么实现打开的。

2024-01-15 16:06:58 802

原创 DSMA工具修setup hold的方法

5.在后期setup hold互卡的时候,如果不管hold,只修setup,而又都是最高驱动低阈值,可以使用-methods {remove_buffer}这个选项修setup,删去多余的buffer。2.修hold的时候用的delay cell用的阈值比较高,它对setup太敏感了,如果后期使用,尽量用LVT的delay cell。其他的cell同理尽可能用低阈值的cell。4.有的寄存器用的HVT的cell,他对setup的影响很大,换成LVT会好很多(后期修不动的情况)

2024-01-15 13:34:36 1888 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除