IC后端学习日志
文章平均质量分 74
LEBRON599
电子科技大学集成电路专业研一在读,分享IC后端0基础学习专用
展开
-
SPC28NHKCPD18RNP
只是简单的介绍 “ SPC28NHKCPD18RNP ” 的含义。28HCKP:代表28nm Logic HKC Plus 工艺。P:代表DUP(Device Under pad)SP:代表 SMIC PAD。D18:代表1.8V电压。R:代表regular。N:代表Narrow。原创 2024-07-21 10:51:49 · 194 阅读 · 0 评论 -
GPIO Pre-Driver Power
在不需要高驱动能力时,Pre-driver可以工作在低功耗模式,从而节省能量。在需要高驱动能力时,pre-driver可以提供足够的电流和电压。Pre-driver可以帮助减少信号传输中的延迟,从而提高GPIO信号的切换速度和响应时间,这在快速切换和高频操作的应用中尤为重要。重点是GPIO Pre-Driver Power和GPIO Pre-Driver Ground有什么区别于其他四个的作用?pre-driver阶段可以帮助稳定电源供应,减少因电源波动或噪声引起的信号干扰,从而提高GPIO操作的可靠性。原创 2024-07-21 10:37:49 · 292 阅读 · 0 评论 -
数字IC后端小白学习日志---009 day(05脚本与实战-clock)
断更很久,最近两天把这个项目剩余的给补上。剩下的脚本可以理解为主要是给工具一些约束,或者进行一些设置,目的是来告诉工具,工具应该怎样做。place之后所有的Stdcell都已经摆放好了,Timing做了一轮的优化,但是Place之后的Timing有个重要的特点:clock tree的Timing是ideal的,也就是理想的clock tree(clock tree上的delay还都是0)。这就导致了所有的clock之间是没有skew的,也就是clock之间没有delay。原创 2024-07-05 11:52:05 · 1383 阅读 · 1 评论 -
静态时序分析(Static Timing Analysis)--- 05 STA Environment
实际就是指定约束,只有这个约束建立的正确、精确,这样才能去指导静态时序分析,对Design做一个正确的检查,这样才能确定建立时间和保持时间是否满足需求。若给一个不太准确的约束,那么做STA的时候,有可能结果不对。准备找个环境需要的东西:时钟建立好,IO的约束指定好,还有关于时序路径的一些特殊的约束。STA针对的是同步电路,对异步电路是无能为力的。原创 2024-06-05 21:09:50 · 1112 阅读 · 0 评论 -
静态时序分析(Static Timing Analysis)---02 Tcl
TCL解释器运用规则把命令分成一个个独立的单词,同时进行必要的置换TCL置换分为以下三类:变量置换$命令置换[ ]反斜杠置换 \$表示变量置换:TCL解释器会将认为$后面为变量名,将变量置换成它的值[ ] 表示命令置换:[ ] 内是一个独立的TCL语句\ 表示反斜杠置换:换行符、空格、[ 、$等被TCL解释器当作特殊符号对待的字符,加上反斜杠后变成普通字符\t 表示TAB\n 表示换行符“ ” TCL解释器对双引号中的$和[ ]符号会进行变量置换和命令置换(如下图输出为2.5)原创 2024-06-05 14:44:51 · 950 阅读 · 0 评论 -
数字IC后端小白学习日志---008 day(DRC相关)
最近由于考试、项目以及个人原因的一些事情停更了一段时间,后面可能等到6月中旬才能恢复每日一更。原创 2024-05-29 16:54:12 · 1161 阅读 · 0 评论 -
数字IC后端小白学习日志---007 day(04脚本与实战-place)
脚本与实战系列断更了几天,今天来补上一篇。04脚本--placeopt.tcl正如脚本的名字那样,这是std cell的摆放。同样的,先展示一下运行脚本后的结果。然后细看一下std cell的摆放看到这些有动力了吗?有动力了就来学习吧还是一项一项分析。原创 2024-05-22 16:44:22 · 1924 阅读 · 0 评论 -
数字IC后端小白学习日志---006 day (分析Debug lVS的错误的步骤)
对数字电路而言,应该保证在PR工具中LVS是通过的(假错可忽略),先将短路,开路等问题在PR工具中解决,然后再导入Calibre中做LVS,否则再Calibre中做LVS的意义也不太大,因为肯定是不通过的。看下图Instance的数目,在Layout和Source中,发现同一个Instance,如果是小写,就在Layout里面有,Source里面没有,如果是大写,就在Soure里面有,Layout里面没有。对于PR工具中的短路问题,如果短路少的话,直接将短路的Net给delete掉,重新用ECO进行绕线。原创 2024-05-21 16:45:48 · 696 阅读 · 0 评论 -
数字IC后端小白学习日志---006 day(LVS的注意事项与Tapless工艺)
LVS规则文件中的层次设置,区分大小写版图的Merge,打LabelH-Cell文件的正确性LVS网表的修改、Include子网表(std cell的、IO的、macro的...)、声明电源地端口。原创 2024-05-21 15:51:39 · 781 阅读 · 0 评论 -
数字IC后端小白学习日志---006 day(实战Lab-解决Short问题)
同样的,拿到了Lab的压缩文件然后输入命令 tar -zxvf file_name进行解压解压后,先进入lab9a去看看里面有什么东西。原创 2024-05-21 15:50:19 · 1516 阅读 · 0 评论 -
数字IC后端小白学习日志---005 day(LVS的Lab实战流程)
首先我们拿到了Lab的.tar.gz文件对于.tar.gz文件我们需要使用命令“tar -zxvf”进行解压进入lab6a文件,发现有如下的内容:Lab资源有了,那就开始吧:选择Rules文件然后选择运行LVS的路径(calibre-signoff-lvs)总的Inputs设置如下:以此进行解析:选择Hierarchical mode,Layout从实图里面去抽取,所以勾选-Export from layout viewer然后netlist选择lab提供的已经通过v2lv原创 2024-05-20 20:28:24 · 1212 阅读 · 1 评论 -
数字IC后端小白学习日志---005 day(LVS的实战演示流程)
理论的部分请看中5月20日及之前的部分。当然此处的内容并非自己做的,而是对资料的总结,应该最近会使用一个真实的Lab进行完全流程的LVS,请后续观看。原创 2024-05-20 17:15:30 · 1630 阅读 · 0 评论 -
数字IC后端小白学习日志---004 day(流程2---Floorplan&powerplan详细解读)
Floorplan的工作就是摆放macro和port。Powerplan的工作就是创建为标准单元和macro供电的网络,其目的是让所有的device都能用一个正常工作的电压。所以在此40nm的porject中,我们用Metal1打power rail,然后用Metal8,Metal9打Power stripe,然后通过Via连接到rail。因为工具摆放macro的位置是随机的,而且对于block level的io port的摆放位置是顶层早已固定好的,不能随意摆放,否则无法与top连接起来。原创 2024-05-17 08:30:00 · 759 阅读 · 0 评论 -
数字IC后端小白学习日志---002 day(LVS的Question)
数字后端做LVS的时候,比较的是PR后的门级网表和merge后的版图,那么既然都是PR后由工具导出的,为什么会存在LVS的错误呢?原创 2024-05-15 17:54:41 · 165 阅读 · 0 评论 -
数字IC后端小白学习日志---003 day(流程1---initial design详细解读)
后端工程师拿到综合后的netlist和constraint后,就需要把设计的netlist和constraint读进来,并创建到一个database中去,因为工具保存数据都是有自己的一套library管理方式,方便存储设计相关的东西。这里的netlist就是一个设计的电路图,只不过以网表的形式呈现出来。constraint是设计的约束文件,这个文件告诉工具timing相关的spec需求,让工具基于这样的约束进行优化。其主要包括:定义设计中每个寄存器的时钟工作频率。原创 2024-05-16 08:30:00 · 348 阅读 · 0 评论 -
数字IC后端小白学习日志---002 day(03脚本与实战)
通过前面00-02脚本的学习,我们已经初步掌握了如何去floorplan,但实际应用中的floorplan远不止这么简单。还需继续学习。。。。。今天看了研三师兄的毕业答辩,突然觉得压力挺大的,师兄们都太优秀了,奋力直追吧。下面继续介绍03脚本,Powerplan,这一部分会对每一条Tcl脚本进行解析并在innovus里面直观的展示出来。原创 2024-05-15 08:30:00 · 1967 阅读 · 2 评论 -
数字后端小白学习日志----LVS(持续更新版本-已更新至5月21)
Load Runset File窗口是来调用运行LVS的基本设置文件的,该文件主要记录的是Rule文件的位置,程序运行以及结果保存的位置。第三步:Verification --> Run nmLVS,就打开了LVS的GUI操作界面(同方式一的结果一样)第二步:File-->Open Layout Files,然后把Merge之后的GDS文件加进去即可。---05/13 此处只是介绍了calibre的启动以及很简单的介绍,本文将持续更新。Outputs:设置输出的LVS文件。原创 2024-05-13 22:26:55 · 3081 阅读 · 0 评论 -
数字后端小白学习日志----DRC(持续更新版本-已更新至5月13)
第三步:Verification --> Run nmDRC,就打开了DRC的GUI操作界面(同方式一的结果一样)第二步:File-->Open Layout Files,然后把Merge之后的GDS文件加进去即可。---05/13 此处只是介绍了calibre的启动以很简单的介绍,本文将持续更新。Run_Control:设置一些DRC的控制选项。Transcript:DRC检查过程的log显示。Outputs:设置输出的DRC文件。Inputs:设置输入的GDS文件。Run DRC:运行DRC检查。原创 2024-05-13 22:16:30 · 759 阅读 · 0 评论 -
数字IC后端小白学习日志---001 day(02脚本与实战)
fplanOrigin llcorner(ll-lower left 左下角)原创 2024-05-14 08:30:00 · 1773 阅读 · 5 评论 -
数字IC后端小白学习日志---000 day(介绍00脚本)
本项目是一个基于40nm的虚拟项目,在入门IC后端的过程中,发现市面上大多数的资料对纯后端小白来说并不友好,所以以自我学习,记录,以及方便后来人轻松入门的角度出发,开始写此文章。话不多说,开始介绍第一部分内容:介绍00脚本,本小节的重点在于初始TCL语言,然后理解set与lappend。lappend是一个TCL命令,用于在列表末尾添加一个或多个元素,import_netlists指将后面的值添加到列表的末尾,“ ”里面的内容就是指定的路径,用于加到列表之后。给design赋值为leon。原创 2024-05-13 13:20:28 · 771 阅读 · 2 评论 -
数字IC后端小白学习日志---000 day(介绍01脚本)
source ../00_common_initial_settings.tcl source是TCL的一个命令,它是用于加载并执行指定的文件,此处就是执行00脚本,也就是说,不运行00脚本,直接通过这一条source指令,就相当于运行了00脚本中的全部内容,怎么样,是不是很神奇,节约了你很多的时间,这也就是我们为什么要介绍脚本。$用于获取变量的值,${reports_root}/${current_step}等价于../reports/01_innovus_import。给该design赋一个名字。原创 2024-05-13 14:19:00 · 850 阅读 · 3 评论