- 博客(51)
- 收藏
- 关注
原创 数字集成电路物理设计[陈春章]——知识总结与精炼02
一直以来大家苦恼于数字后端无法入门,繁杂且枯燥的书籍令人望而却步,价格昂贵的培训班也让人望洋兴叹。小编近期将持续总结陈春章版《数字集成电路物理设计》,归纳精炼重点知识点,帮助大家阅读这本数字后端基础宝典。《时序圣经》《集成电路静态时序分析与建模》等,也在加紧创作中,诸位敬请期待!由于小编知识和精力有限,如遇疏漏和错误还请诸位多多包涵,也欢迎大家不吝赐教!
2024-05-15 17:43:15
968
原创 7nm项目之模块实现——02 Placeopt分析
注意:warnning暂时可以不用过于关注,如果特别的warning出现问题,在其他方面也会体现。
2024-05-14 21:05:17
358
原创 数字集成电路物理设计[陈春章]——知识总结与精炼01
一直以来大家苦恼于数字后端无法入门,繁杂且枯燥的书籍令人望而却步,价格昂贵的培训班也让人望洋兴叹。小编近期将持续总结陈春章版《数字集成电路物理设计》,归纳精炼重点知识点,帮助大家阅读这本数字后端基础宝典。《时序圣经》《集成电路静态时序分析与建模》等,也在加紧创作中,诸位敬请期待!由于小编知识和精力有限,如遇疏漏和错误还请诸位多多包涵,也欢迎大家不吝赐教!
2024-05-14 15:33:00
464
原创 7nm项目之模块实现——01 数据导入和floorplan
The Ll Data Tag应靠近L1 Data data;The L1 Data dirty应靠近L1 data;Port应放在某一个边;网表、lib等文件库根据flow指令读入,然后read_def 将顶层规划里切分好的ca53_cpu的def读入,即可开始第一版的floorplan。上下:比较保险的距离是2.4um以上;左右:除了考虑pin绕线所占据的空间外,还要考虑vdd和vss可以在channel打一组,以确保后期channel里的st cell能正常供电。写出至tunes目录下。
2024-04-29 20:33:55
321
原创 7nm项目之顶层规划——04 power routing and pushdown
写出的def 信息重要信息包括:area、 pin位置 、 special net。
2024-01-05 21:32:21
543
原创 Tcl语言语法精炼总结
本文分享了TCL语言的基本概念、基本语法和实例演示,包括置换符号、变量、数组、列表、运算、控制流、过程函数和正则匹配等。以帮助读者理解和掌握Tcl语言的用法。另外,TCL语言是一种强大的字符串语言,可以作为脚本语言开发数字IC设计,帮助你获取 Tcl 的魅力和应用。
2023-12-13 23:00:00
3544
1
原创 7nm项目之顶层规划——02模块规划
drc要求: width = 0.057*2n;这里的def有可能是更高层级的top给的,可能记录了block大小,pin的位置等。shift + r 移动 A/ESC退出。手动调整block后,保存数据write_db。查看每个block有多少pin。
2023-12-12 21:35:36
200
原创 7nm项目之顶层规划——01数据导入
注:tunes下的CORTEXA53.tunes.json文件可以覆盖一些master.json的设置。mcmm文件(库lib),tlef ,lef ,netlist等。创建workspace后,在其目录下产生。文件是将有默认配置的文件。、有library的。
2023-12-01 22:05:29
295
原创 第二章 Python基础语法之变量和数据类型
算术运算符:+(加) - (减) *(乘) /(除) //(取整) % (取余) **(指数)复合赋值运算符:+= -= *= /= %= //= **=三引号定义:以变量接受""" """,即使字符串,如 a = """1111""";数字(number):整数(int) 浮点数(float) 复属(complex)布尔(bool):控制宽度(很少会用) 即总体长度,包括小数点和小数位数,若m比数字本身还要小,m宽度设置无效。
2023-11-23 22:23:04
308
原创 第一章 初识Python
答:Python赶上数据科学和人工智能,这几年的发展更是进入编程语言前三,上升趋势不减,未来可期。在CMD命令行中调用pyhon,本质上就是调用那个安装的文件 python.exe。第三方集成开发工具 IDE ---PyCharm。答:龟叔在圣诞节打发无聊时间开发出来。功能:翻译代码+提交给计算机运行。"Python是如何诞生的"?Python的应用前景?
2023-11-21 22:06:02
312
1
原创 TSMC 7nm Cortex-A53——merge 和 fill 解析与常用PV工具介绍
金属的密度在不同位置可能不同,不同的金属密度可能导致刻蚀对金属线产生不同影响,为保证所有金属线周围的环境相似,引入metal fill的概;metal fill会在空旷位置填充金属块,先进工艺不仅在金属层需要fill,部分底层layer也要fill。增大了金属线寄生电容 -- delay --- timing。FEOL FILL:底层layer的fill。BEOL FILL:金属层的fill。
2023-09-11 11:37:30
212
原创 7nm项目——route&routeopt步骤和重点解析
如果在route或者route_opt加入可能会将原有优化timing绕线破坏掉,或者由于decap M1 pin可能引入新的DRC,所以需要route_detail -incremental。主要用在驱动比较大的cell output pin上,因为可以让output load一层层叠上去,有利于其长距离走线带来时序的好处,也有EM的好处,缺点是带来绕线资源浪费。如果在route之前加入decap 工具选择优化的时候没有较多空位移动cell或者插buffer 优化timing效果可能会不好。
2023-08-26 19:03:35
396
1
原创 7nm项目——CTS步骤重点解析
clock buffer / inverter的area (功耗) (好的clock tree 不仅是时序的问题 还涉及 clock power ,EM , IR Drop 问题,不同clock check等)实验小试:1.可以再把target skew调整 2.再换换inverter buffer(s clock 比较balance)类型。根据SDC来的,MMMC文件里有一个mode,有时候可能有多个SDC,所以一定要确保时钟树定义是全的。一、时钟树的定义在哪里?二、时钟树的目标看什么?
2023-08-20 19:03:26
462
原创 7nm项目——PlaceOpt的相关步骤解析
对于place阶段的scenario,只需要开启setup的约束即可,PVT corner选择的是ssgnp0p675v0c 0.675V 0℃ ,RC corrner 选择的是cworst_ccworst,最后综合出来func_ssgnp0p675v0c_cworst_ccworst_0c_max。工具自带的可以优化 A53_cpu的特定模式。一、对于scenario (MCMM)六、细分group path。
2023-08-20 11:33:26
273
原创 跑place的时候log里的max displacement
因为不管是placer,还是optimizer,把cell放在当前位置都有它的理由,要么是对timing好,要么是对congestion好。但是积少成多,积微成著嘛,10个零点几ps,就累积成了几ps了,对时序就有了影响。所以,我们的目标是:让挪动距离越小越 好。一般超过这个值,可能就是一开始 place 的时候 stdcell 摆得不好,可能是局部 density 太高导致的,这个时候就可以给他打上 partition blockage,或者创建 region 去指导工具进行布局。
2023-08-18 22:43:56
126
原创 7nm项目——初步PlaceOpt初步检查
5.desity map 和 congestion map。3.report 详细group path的时序报告。二、timing report。6.在gui查看path的分布。7.高亮module分布。4.place 的drc。2.有没有error。
2023-08-16 21:05:14
144
原创 7nm项目——Floorplan 迭代修DRC
分析:这几类高亮后发现都是power via的问题,主要是macro位置压在了via上使得via有space\enclusure的问题。解决:移动macro
2023-08-15 15:58:49
170
原创 “借东风”——修复由于clock skew导致的时序违例
同时这条路径上也存在比较多还不是最大驱动的cell,说明时序还有进一步优化的空间,那么我们就可以考虑往前一级借时序,通过把黄色圈圈这个timing path给再做短,相当于把当前timing path的launch clock path做短,前一级的capture clock path做短,这样就可以把前一级的时序余量借给后一级,来解决后一级的setup violation问题。
2023-08-14 10:47:35
350
原创 数字后端设计问题总结:5道面试题
如果是block level设计,10层金属留给顶层打power,8-9层为power stripe,一层为power rail为st cell 供电。4.摆放macro:根据准则和要求摆放并调整布局,比如出pin方向,macro之间的位置,channel,预留的st cell 摆放区为正方形等。floorplan 之后:总的来说就是,各个模块cell的分布符合data flow, congestion map 和cell density适度, drc相对clean。检查log中是否有ERROR;
2023-08-14 10:38:03
1104
原创 IC后端基础——温度反转效应
因此,在先进工艺中,setup signoff的corner不仅仅是cworst_125,更需要检查cworst_m40这个corner,而且cworst_m40这个corner下cell delay是最大的。在40nm及以上工艺时,由于供电电压比较高,虽然Vth随着温度的升高而减小,但Vgs-Vth足够大,几乎为固定常数,因此此时Vth对Id的影响可以忽略不计,迁移率u的变化对Id占主导作用。因此,随着温度的升高,漏电流Id变大,delay变小。1.在40nm及以上工艺时,Id减小(delay变大)
2023-08-12 11:29:26
1297
原创 IC后端基础——闩锁效应(Latch up)
Latch up 是指cmos晶片中, 在电源power VDD和地线GND(VSS)之间由于寄生的PNP和NPN双极性BJT相互影响而产生的一低阻抗通路, 它的存在会使VDD和GND之间产生大电流。(ii) 两个晶体管反馈回路(feedback loop)增益的乘积大于1( \beta_{1}\times\beta_{2}\ge1 )。Latch up 最易产生在易受外部干扰的I/O电路处, 也偶尔发生在内部电路。(i) 当两个BJT都导通,在VDD和GND之间产生低阻抗通路;
2023-08-11 20:55:39
1554
1
原创 7nm项目——floorplan
cell出pin依赖于M1 track小箭头。value值是以后摆放st cell 依据。pin和track对齐,颜色也对上。
2023-08-10 23:16:14
173
原创 IC后端基础——估算Macro之间的channel间距
举例:如果不考虑macro上走线,那么假如两个macro 的 channel 里有60个pin,用M4(pitch = 0.1 um)走线的话,就是至少channel要设置为 60 * 0.1 = 6um。加上一些余量防止有drc出现。当然也要考虑Macro内部走线是否允许,比如M1 -M3 是内部绕线层,M4是Macro PGc层 ,这也要综合考虑绕线资源。主要方法就是需要先预估哪些金属层可以用作绕线,用M4的pitch乘Macro pin 的数量,就得到这些信号线的总线宽,再加上一些余量即可。
2023-08-08 22:14:00
547
原创 7nm项目——读入网表和floorplan定义
二、floorplan初步摆放macro。写出hard macro def。抓取出这一类的SRAM。2.SRAM选中和分类。
2023-08-07 21:13:02
216
1
原创 寄生参数提取——StarRC
正常跑flow是不会出现任何open net的,因为只要有逻辑连接存在,工具就一定会按照逻辑连接关系进行实际的物理连线。如果发现绕不通就会把若干条net short在一起,而不会放置open不管的。只有signal net之间存在short和open,才会生成这两个文件,如果没有生成说明设计中没有signal net之间的short和open。这里会列出design中的所有short net以及它们的位置信息。因为工具发现open net会自己找一条net去接起来,而这个操作可能并不是实际的连接情况。
2023-07-31 15:07:55
5304
2
原创 A7项目学习报告——chipfinish
Decap cell是小电容器,位于整个布局的VDD和GND之间。需要注意的是Decap cell是带有metal层的,为了不影响工具routing resource,一般建议是最后routing全部结束后再加,加完之后再添加普通的不带metal的filler.我们已经知道,电源和接地轨道是由金属组成的,金属有自己的电阻和电感,当电流流经这些金属线时会有一些电压降。如果电源远离触发器,由于IR Drop,该触发器可能会进入亚稳态,因为它将无法获得足够的电压来正常工作。五、 输出布线后的设计GDS。
2023-07-28 22:05:27
325
原创 7nm项目——顶层规划(一)
一般Foundary只会提供标准单元的lef文件,这个lef文件是对标准单元的抽象,即只抽出它的尺寸大小,出pin信息以及blockage。因此需要用脚本将lef分别转成Milkyway和NDM。NDM全称是New Data Model,是ICC2特有的数据格式,包括我们的database也会保存成ndm格式,比如cortexa7core.nlib。所以你看到ICC2中是将建立一个nlib的库,然后每个阶段会保存出一颗cell,这颗cell ICC2的叫法是叫block,即save_block。
2023-07-20 10:25:22
1223
原创 A7学习报告——cts_opt
不必再对cmin view里对data path 进行derate,因为sign off 没有要求,且选择的lib set里的cell 已经是ffg ,很快了。optDesign -postCTS -hold 再修hold。五、optDesign -postCTS。三、uncertainty。一、view OCV。
2023-07-18 21:01:36
94
原创 A7学习报告——cts
为了给filler cell 留空间,gap2。buffer 与 inverter 区别。五、ccopt_design -cts。用5-8层clock绕线,并w2s2。二、ccopt property。四、创建clock spec文档。三、NDR规则 和 摆放规则。一、buffer长时钟树。
2023-07-17 22:05:23
535
原创 项目2:45nm——route
这两种方法都有一定缺点,第一种方法会产生更复杂的绕线,并且会影响原net的timing等,而第二种方法产生更复杂绕线的同时还要加入额外的器件,cell density比较高的情况下就更难摆放。天线效应:现代工艺采用了一种叫离子刻蚀的方法,在制造每一层metal layer的时候,会先在这个layer上铺满金属,而后通过离子刻蚀去掉不要的部分,留下来的就是我们画的net走线了。DFM可制造方法学上的设置,在满足绕线设置和约束的前提下,加入一些可制造方面的余量,比如多打一些孔,防止孔失效导致信号线连接垮掉。
2023-07-17 17:50:23
73
原创 项目2:45nm——CTS_opt
因为cts之前的阶段不优化hold,此时的hold timing就是根据理想化的时钟网络来计算的,即launch clock path和capture clock path的latency为0来计算的。在这种情况下,hold timing只要data path有点delay,就天生可以满足timing,所以这个阶段我们一般不看hold,hold的view设置成什么都是无所谓的,因为不会分析。这里和place阶段不同的是,因为要修hold time,将DLY cell的DontUse 属性拿掉。
2023-07-16 18:54:52
286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人