IC后端
文章平均质量分 68
IC后端小白
随便记录
展开
-
GVIM之正则表达式
gvim正则表达原创 2022-11-17 15:59:25 · 2683 阅读 · 1 评论 -
添加wellcap和endcap作用
endcap wellcap原创 2022-07-13 12:47:26 · 2712 阅读 · 2 评论 -
数字后端基本概念介绍——Placement Blockage
今天要介绍的数字后端基本概念是Placement Blockage. Placement blockage是大家在floorplan时经常用的一种人为约束。可以有效控制区域的density。从而避免congestion的问题,提高routing的效率。 Placement blockage的类型很多,一共分为9种,分别对应hard, hard_macro, soft, partial,&n...转载 2021-09-02 14:42:08 · 2384 阅读 · 0 评论 -
SDC读入与检查
继续综合这一趴,顺着流程往下,今天码SDC 的读入与检查,前序回顾《综合 | 概述及 library ...转载 2021-09-01 16:53:52 · 4046 阅读 · 0 评论 -
DEF解析
DEF 全称Design Exchange Format, 用于电路物理信息交互,是将数字实现前后端连...转载 2021-09-01 16:45:16 · 14292 阅读 · 2 评论 -
tcl系列之列表操作
tcl 列表操作原创 2023-07-22 15:46:53 · 1812 阅读 · 0 评论 -
数字后端基础技能之:CTS(下篇)
不知道为什么用原来系列的标题突然提示字数超出,可能最近知乎更新了标题字数限制。所以我把原来的Clock Tree Synthesis这几个单词去掉了。请谅解~ 拖了很久才写了CTS系列的最后一篇,很是抱歉。前段时间项目问题多,想抽出点时间确实比较困难。有时间我也会把出现的问题分...转载 2021-08-31 23:57:20 · 1804 阅读 · 0 评论 -
数字后端基础技能之:CTS(中篇)
在开始之前有两件事想征求一下大家的意见: 最近有同学反映文章中很多专业词汇不太明白,因此想开一个系列专门讲一些后端的基础知识和词汇,毕竟后端的知识颇为繁杂,对入门者极为不利。因此如果大家有不懂的知识尽管留言,我会以适当的形式统一讲解。 如果有人对提高效率的脚本、命令等感兴趣,我也想...转载 2021-08-31 23:56:17 · 2857 阅读 · 0 评论 -
数字后端基础技能之:CTS(上篇)
今天想和大家聊聊时钟树综合:Clock Tree Synthesis (CTS)。 构思了很久应该怎样介绍CTS,最终决定分为几篇文章来一步一步介绍整个流程。尽管如此,由于在大型项目中CTS是一个比较复杂的工作,因此在本专栏的文章之外可能还有很多东西需要后端设计者去关心。但是我仍...转载 2021-08-31 23:55:01 · 5293 阅读 · 1 评论 -
半导体工艺流程
本文首发:公众号 “半导体产业园” 转载链接:https://www.sohu.com/a/257666855_100269991?spm=smpc.content.share.1.16073320927520q75qyB#comment_area 首先要知道foundry从供应商...转载 2021-08-31 23:50:03 · 7740 阅读 · 0 评论 -
CRPR/CPPR
转载:CPPR CRPR clock reconvergence pessimism removal CPPR clock path pessimism removal 剔除公共clock path上的悲观度 看图说话,上图是最常见最基本的一条timing path: 有l...转载 2021-08-31 23:48:16 · 4006 阅读 · 2 评论 -
Density 计算公式
Density 又称Utilization, 计算公式如下 leaf cell 面积跟可用总面积的计算,受多种因素影响: 通常leaf cell 包括std cell 跟hard macro;在计算Density 的时候,如果hard macro 的placement stat...转载 2021-08-31 23:46:29 · 4257 阅读 · 2 评论 -
Congestion解决办法
转载出处:https://www.cnblogs.com/lelin/p/12613030.html 文章目录 Routing congestionChannel Congestion:PG(Power Ground)Congestion:High Cell Density ...转载 2021-08-31 21:48:06 · 4667 阅读 · 1 评论 -
时序分析基本概念介绍——STA概述
在芯片设计中,我们常用PPA(Power, Performance, Area)来衡量一块芯片的指标。Performace直接取决于Timing参数。由此可见,时序设计在后端设计中占有举足轻重的地位。那今天我们就来介绍下,时序分析中的最重要概念——STA。 我们现在生活中其实存在着不少时序问题,比如以下两个例子: •我打电话给张三,李四却接了电话 这就代表着数据传输过程中出现...转载 2021-08-30 16:17:41 · 3975 阅读 · 0 评论 -
数字后端基本概念介绍——FinFET Grid
今天要介绍的数字后端基本概念是FinFET Grid,它也是一种设计格点。介绍该格点前,我们首先来了解一下什么是FinFET技术。 FinFET称为鳍式场效晶体管(Fin Field-Effect Transistor;FinFET)是一种新的互补式金氧半导体(CMOS)晶体管。Fin是鱼鳍的意思,FinFET命名根据晶体管的形状与鱼鳍的相似性。闸长已可小于25纳米,未来预期可以进一步缩小至9纳米,...转载 2021-08-30 15:42:37 · 1777 阅读 · 0 评论 -
数字后端基本概念介绍<site>
今天我们要介绍的数字后端基本概念是site。site代表最基本的布局单元。site一般情况是最小standard cell的大小。类似cell的最小size。定义在 lef中, 如下图所示: SITE tsm3site &n...转载 2021-08-30 15:35:18 · 4266 阅读 · 0 评论 -
数字后端基本概念介绍——Track
今天要给大家介绍的数字后端基本概念是Track。Track是指走线轨道,和row一样,可以约束走线器的走线方向。信号线通常必须走在track上。Std Cell的高度通常用metal2 track pitch来表示,常用的 std cell 库有 7T /9T /12T,就是以 track 来区分的, 9T 就是说 std cell 的高度范围内可以走九条线,所以一般来讲, 7T cell 的 siz...转载 2021-08-29 12:43:29 · 10330 阅读 · 3 评论 -
数字后端基本概念介绍——Row
今天要介绍的数字后端基本概念是Row。我们知道row是表征Floorplan横向排列的一个重要网格,可以将它解释为“排”,它对std cell的摆放起着限制约束作用。Row是placement的基础,因为需要摆放std cell的地方,就必须要首先创建row。下面我们来介绍下Row的各个内容和属性。 Row是由SITE组成的。SITE定义的是最小的布局单位。如下图所示 我们可以在Lef...转载 2021-08-29 12:40:17 · 6268 阅读 · 2 评论 -
数字后端基本概念介绍<Endcap Cell>
今天要介绍的数字后端基本概念是boundary cell,也被称为endcap Cell。Endcap是一种特殊的标准单元。在后端物理设计中,除了与,非,或等一些常见的标准单元外,还有一些特殊的物理单元(physical cell),它们通常没有逻辑电路,不存在与netlist当中,但是对整个芯片的运行,稳定却起着举足轻重的作用。那endcap cell就是其中一种,它俗称为拐角单元,作用是确保每个nwell都是nwell enclosed,类似一个封闭环。主要加在row的结尾(两边都要加) , 以及mem转载 2021-08-29 12:31:04 · 7448 阅读 · 0 评论 -
数字后端基本概念介绍<Tap Cell>
今天要介绍的数字后端基本概念是Tap cell, 也被称为welltap cell。这也是一种特殊的物理单元。 welltap是只包含well contact的cell,将衬底接到电源和地网络,避免衬底悬浮。主要防止CMOS器件的寄生闩锁效应(latch-up) 一般tap cell的作用范围是30~40um, 即每隔60um左右放置一个tap cell,具体的数据要参考工艺商给的document...转载 2021-08-29 12:16:10 · 2257 阅读 · 0 评论 -
数字后端基本概念介绍——Placement Blockage
今天要介绍的数字后端基本概念是Placement Blockage. Placement blockage是大家在floorplan时经常用的一种人为约束。可以有效控制区域的density。从而避免congestion的问题,提高routing的效率。 Placement blockage的类型很多,一共分为9种,分别对应hard, hard_macro, soft, partial,&n...转载 2021-08-29 12:10:15 · 3928 阅读 · 0 评论 -
数字后端基本概念介绍——Routing Blockage
今天需要介绍的命令是routing blockage(绕线阻碍物)。这个概念很简单,就是给某些金属加上blockage属性,让工具走线时不通过该区域。可以使用命令create_routing_blockage创建转载 2021-08-29 11:27:29 · 2018 阅读 · 0 评论 -
数字后端基本概念介绍<IO Cluster>
今天要介绍的数字后端概念是IO Cluster。这个Floorplan object大家很少知道吧,其实讲通俗点就是AreaIO row。主要用来给area io摆放位置使用的,如果忘记了area io的作用,可以查看下列文章. 它的长相和普通的row有所区别,如下图中的绿色部分 定义了area io row以后,placeAIO就会自动把IO pad摆放在area io row上。 ...转载 2021-08-29 11:19:11 · 1314 阅读 · 0 评论 -
时序分析基本概念介绍<input/output delay>
今天我们要介绍的基本sdc是input/output delay。这是关于IO边界上的约束,我们应该都知道,STA并不能去检查一条没有被约束的路径,因此所有的端口上路径都必须被赋予边界约束。set_input_delay 和set_output_delay都是对外部的延时信息的描述。set_input_delay:输入信号是在时钟沿后多长时间到达模块的port上的 。如下图所示:用如下命令表示:set_input_delay 1.0 -clock ck [all_inputs]set_out转载 2021-08-29 11:00:28 · 2322 阅读 · 0 评论 -
时序分析基本概念介绍——时钟sdc
上次介绍了sdc的基本概念,那接下来几期,我们来讲解一些比较常用的sdc命令。虽然sdc大大小小有上百条命令,但实际常用的其实就那么10几条。今天我们来介绍下与时钟相关的命令。主要有以下命令:create_clockcreate_generated_clockset_clock_uncertaintyset_clock_groups任何sdc首先定义的都是时钟,对于一个同步电路而言,缓存器和缓存器之间的路径延迟时间必须小于一个Clock 周期(Period),也就是说,当我们确认了Cloc转载 2021-08-28 19:58:27 · 5456 阅读 · 0 评论 -
时序分析基本概念介绍——SDC概述
今天我们要介绍的时序概念是设计约束文件SDC. 全称Synopsys design constraints. SDC是一个设计中至关重要的一个文件。它对电路的时序,面积,功耗进行约束,它是设计的命脉,决定了芯片是否满足设计要求的规范。Timing工程师在release sdc时必须非常小心,一个错误的false path或者case constant就有可能导致整块芯片不工作。Timing Constraint 为使用者所给定,用来检验设计电路时序的准则。我们在做STA前首先要了解各种约束是做什么的。T转载 2021-08-28 19:48:19 · 16320 阅读 · 0 评论 -
一念心动,一生绵延——如何修复min pulse width?
今天我们来介绍如何来修复ECO阶段的min pulse width violation(最小脉冲宽度违例)。首先,我们来介绍一下什么是min pulse width。min pulse width,全称为最小脉冲宽度检查。这也是一种非常重要的timing arc check,经常用在时序器件或者memory上面。一般情况下,由于cell本身有变异,rise和fall delay不相同,这样可能会造成时钟信号脉冲宽度减小。如下图一个周期为1ns,duty cycle 为50%的clock信号在经过一个转载 2021-08-28 19:24:55 · 4168 阅读 · 0 评论 -
愁绪千万端,扰乱不成眠——如何修复Noise?
今天我们来介绍一下如何修复ECO阶段的Noise Violation. 首先,我们也来介绍一下什么是Noise。网上资料很多,大致整理一下,noise(噪声)也称为crosstalk(串扰),signal integrity(信号完整性分析),是随着芯片特征尺寸变小后引发的现象。主要指工艺金属层线变窄,间距变小以后,导致线与线之间的耦合电容(coupling capacitance)增大,接地电容变小(如下图所示)。而Noise的大小与耦合电容成正比,与接地电容成反比。所以导致Noise的影响变大。那么转载 2021-08-28 19:20:14 · 3231 阅读 · 1 评论 -
岁月的脚步,被时间冲刷——如何修复EM ?
今天给大家介绍一下另一类signoff阶段需要修复的Violation——EM violation。首先,我们也还是来了解下EM violation的概念。EM全称electro-migration,电子迁移。当电子流过金属层时,会与金属层中的原子发生碰撞,碰撞导致金属的电阻增大,并且会发热。在一定时间内如果有大量的电子同金属原子发生碰撞,金属原子就会沿着电子的方向进行流动。导致金属连线断裂,这种现象我们称之为EM电迁移现象。那在我们后端布局布线中,EM一般产生的原因有以下几种:1)金属线太长2)f转载 2021-08-28 19:15:46 · 3248 阅读 · 0 评论 -
时序分析基本概念介绍<Slew/Transition>
今天要介绍的时序分析基本概念是Slew,信号转换时间,也被称为transition time。是指电压从10%VDD上升到90%VDD所需要的时间,或者是从90%VDD下降到10%VDD所需要的时间,当然也可以是20%VDD上升到80%VDD的时间,具体要看timing lib库里面的定义,如:Falling edge thresholds:slew_lower_threshold_pct_fall : 10.0;slew_upper_threshold_pct_fall : 90.0;Risin转载 2021-08-28 19:13:10 · 9041 阅读 · 0 评论 -
对症下药,方能药到病除——如何修复drv?
前面两周介绍了如何修复setup和hold violation, 这次我们接着来讲下另外一个十分重要的violation——drv的修复。首先,我们来了解下drv的基本概念,drv全称design rule violation,设计规则违反,主要包括max transition,max capacitance, max fanout, max length。 分别对pin的转换时间,电容,扇出,wire长度有要求。其中,max transition和capacitance的violation是我们必须要修转载 2021-08-28 19:07:50 · 6681 阅读 · 1 评论 -
时间做减法,人生做加法——如何修复hold violation?
上一期介绍了setup violation的修复,这次我们来讲讲hold violation。 相比setup来说,hold的修复要简单得多。同样地,我们先来回顾下hold time的定义。hold time(保持时间)检查的是数据不能传输太快,太快会影响前一次数据的锁存。如下图所示:用公式简单表示为Tlaunch为launch clock path delayTcapture为capture clock path delayTdp为data path delay详细公式可以查看下列文章【转载 2021-08-28 19:01:44 · 3426 阅读 · 0 评论 -
Less is more——如何修复setup violation?
对于setup violation,大家一定都非常熟悉,网上也有很多相关的资料。今天我们来介绍下对于项目后期ECO阶段,我们如何来修复setup violation.首先我们来回顾一下setup的定义,简单来说,setup检查是为了检查数据传输不能太慢,否则,在目的寄存器的capture edge不能正确的锁存数据。如下图所示用公式简单表示为:Tlaunch为launch clock path delayTcapture为capture clock path delayTdp为data pat转载 2021-08-28 18:58:33 · 3465 阅读 · 0 评论 -
时序分析基本概念介绍<AOCV>
今天我们要介绍的时序分析概念是AOCV。全称Stage Based Advanced OCV。我们知道,在OCV分析过程中,我们会给data path,clock path上设定单一的timing derate值。随着工艺演变的加速,我们发现这种设置方法是过于悲观的,大家可以想象下,OCV是片上误差,就代表一条path上有的cell delay大于标准值,那也有的cell delay会小于标准值。因此不能...转载 2021-08-27 16:07:39 · 2500 阅读 · 0 评论 -
数字后端基本概念介绍<IO Buffer>
今天要介绍的数字后端概念是IO Buffer。主要是指放置在block level的port附近的buffer,可以起到增强port的吸引力的作用, 提高一下驱动port的驱动能力,防止block外面wire太长,而使得计算delay不准。 使用方法 attachIOBuffer attachIOBuffer -baseName iobuffer -in bufx4 ...转载 2021-08-27 11:14:02 · 3477 阅读 · 1 评论 -
Low Power概念介绍<Level Shifter>
今天我们要介绍的Low Power概念是Level Shifter(电平转换单元)。该单元主要用于多电源多电压(MSMV)技术中,它通常不具备逻辑功能,只是用于不同电压值的Voltage Area之间的信号电平的转换。 为什么不同的Voltage Area之间需要使用Level Shifter? 下面这张图很好地解释了这个原因,1.0V的驱动对1.8V的接收端来说,不一定能区分出0/1的电平,...转载 2021-08-27 10:50:26 · 5975 阅读 · 0 评论 -
数字后端基本概念介绍<Tap Cell>
今天要介绍的数字后端基本概念是Tap cell, 也被称为welltap cell。这也是一种特殊的物理单元。 welltap是只包含well contact的cell,将衬底接到电源和地网络,避免衬底悬浮。主要防止CMOS器件的寄生闩锁效应(latch-up) 一般tap cell的作用范围是30~40um, 即每隔60um左右放置一个tap cell,具体的数据要参考工艺商给的document well tap cell一般交错摆放,类似棋盘分布。如下图所示: 使用方法 命令..转载 2021-08-27 10:45:28 · 6981 阅读 · 0 评论 -
后端基础概念:各种OCV一网打尽(下篇)
简而言之,OCV是由于芯片上因工艺(Process)、电压(Voltage)、温度(Temperature)而导致的各种误差而加入的余量,而AOCV在考虑到实际误差并非统一值的情况下将余量值变成cell级数的函数,从而减少一定的设计悲观量(Pessimism)。今天我们继续谈谈它们的升级版:POCV和LVF。上次我们说过,实际中由于PVT (Process, Voltage, Temperature) 导致的variation并不是一个或几个固定的值,而是服从类似高斯分布的形态。因此,反映在cell的de转载 2021-08-26 14:28:06 · 3814 阅读 · 2 评论 -
后端基础概念:各种OCV一网打尽(上篇)
芯片在实际生产中,同一片晶圆上的不同区域的芯片,因为各种外部条件和生产条件的变化(variation),比如:工艺(Process),电压(Voltage),温度(Temperature)等,可能会产生不同的误差从而导致同一块晶圆上某些区域上的芯片里的晶体管整体速度变快或变慢,因此有了corner的概念。而与此同时,在同一块芯片上的不同区域,也会因为上述因素而有进一步的差异(variation),因此产生了OCV (On Chip Variation)的概念。在设计中引入OCV的目的在于从设计角度考虑芯转载 2021-08-26 14:20:36 · 2637 阅读 · 0 评论 -
1. DFT 入门篇-scan chain
DFT -- design for test 三要素:辅助性设计, physical defects 结构性测试向量 是一种辅助性设计,利用这种辅助性设计 对根据 physical defects 建立的 fault model 进行求解产生的结构性测试向量, 这些结构性测...转载 2021-08-17 14:39:11 · 1259 阅读 · 0 评论