数字后端流程笔记
·
1.数据准备
对于 CDN 的 Silicon Ensemble而言后端设计所需的数据主要有是Foundry厂提供的标准单元、宏单元和I/O Pad(焊接点)的库文件,它包括物理库、时序库及网表库,分别 以.lef、.tlf和.v的形式给出。
前端的芯片设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件以及定义电源Pad的DEF(Design Exchange Format)文件。
(对synopsys 的Astro 而言,综合后生成的门级网表 = 时序约束文件 SDC 是一样的, Pad的定义文件– tdf ,.tf 文件 –technology file, Foundry厂提供的标准单元、宏单元和I/O Pad的库文件就与 FRAM, CELL view, LM view 形式给出(Milkway 参考库 and DB, LIB file)
2.布局规划
主要是标准单元、I/O Pad和宏单元的布局。I/O Pad预先给出了位置,而宏单元则根据时序要求进行摆放,标准单元则是给出了一定的区域由工具自动摆放。布局规划后,芯片 的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定(powerplan) 下来了。如果必要在自动放置标准单元和宏单元之后,你可以先做一次PNA(power network analysis)–IR drop and EM 。
首先,自动floorplan 然后 powerplan 之后 Running Early Rail Analysis运行早期导线分析,这里需要获取包含全局网络电源连接规则的.tcl文件
性能指标:考虑放置DRC、EM和IR压降等问题。(电迁移和压降等问题)
3.Placement -自动放置标准单元
布局规划后,宏单元、I/O Pad的位置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件传递给PC(Physical Compiler物理编辑 器),PC根据由综合给出的.DB文件 获得网表和时序约束信息进行自动放置标准单元, (.DB文件中包含了网表和时许约束信息) 同时进行时序检查和单元放置优化。
优化时主要考虑Congestion(阻塞)和Timing QoR的问题 ,首先,EarlyGlobalRoute(eGR早期全局布线)是将 整个区域被划分为一系列矩形子区域,每个子区域可容纳数十条路径,每个维度称为全局单元(Gcell) 执行全局布线以估计互连寄生和布线拥塞图 eGR不考虑整个DRC。连接所有实例会更快
4.提取寄生现象并运行时序分析
提取RC数据
Calculating Delays 计算延迟
TNS:total negative slack总的负时序时间之和,即小于0的slack之和
WNS: worst negative slack最差的负时序 最差的slack值,表征芯片的最差性能
Total Path: 全部路径
Passing Path:失效路径
Failing Path:通过路径
THS:total hold slack总的保持时间的负时序之和 所有负的slack值之和,表征芯片的一
个性能范围
WHS:worst hold slack最差的保持时间的负时序
slack如果为正值,说明达到了设计时序要求;如果为负值,说明没有达到设计时序要求
所有负的slack值之和,表征芯片的一个性能范围
时序路径可以分为四种,即reg2reg,reg2out,in2reg,in2out reg表示触发器
5.时钟树生成(CTS Clock tree synthesis)
芯片中的时钟网络要驱动电路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很大并且不平衡,需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲器构 成了时钟树。一般要反复几次才可以做出一个比较理想的时钟树。—Clock skew.
时钟延迟 = 信号源插入延迟+网络插入延迟
时钟偏斜
全局偏斜:任何触发器的最大时钟路径和最小时钟路径之间的差异
6.STA 静态时序分析和后仿真
时钟树插入后,每个单元的位置都确定下来了,工具可以提出Global Route形式的连线寄生参数,此时对延时参数的提取就比较准确了。SE把.V和.SDF文件传递给PrimeTime 做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。对 Astro 而言,在detail routing 之后,用starRC XT 参数提取,生成的E.V和.SDF文件 传递给PrimeTime做静态时序分析,那将会更准确。
|
Goals of CTS
Maximum transition delay
Maximum load capacitance
Maximum fanout
|
CTS的目标
最大转换延迟
最大负载电容
最大扇出
|
|
Targets of CTS
Minimum skew
Minimum latency
|
CTS的目标
最小偏斜
最快存取
|
关注的指标:
TNS:total negative slack总的负时序时间之和,即小于0的slack之和
WNS: worst negative slack最差的负时序 最差的slack值,表征芯片的最差性能
Total Path: 全部路径
violation Path:违例路径
drv全称design rule violation,设计规则违反,主要包括max transition,max
capacitance, max fanout, max length。 分别对pin的转换时间,电容,扇出,wire长
度有要求。其中,max transition和capacitance的violation是我们必须要修复的,因为
过大的slew和load都会造成lookup table查找表的数值较大且不精确。fanout和length
并不是必须要修复的,但是数值过大的话,会影响前两者。
数字后端概念是Pin,中文名叫做引脚。
需要SDC文件来创建时钟树 dtmf.ccopt文件中已保存用于运行CTS的sdc文件。
7.ECO(Engineering Change Order)
针对静态时序分析和后仿真中出现的问题,对电路和单元布局进行小范围的改动。
8.Filler的插入 (pad fliier, cell filler)
Filler指的是标准单元库和I/O Pad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它主要是把扩散层连接起来,满足 DRC规则和设计需要。
9.布线 (Routing)
Global route– Track assign –Detail routing–Routing optimization 布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动 (Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度能够最小。– Timing report clear
10.Dummy Metal 的增加
Foundry厂都有对金属密度的规定,使其金属密度不要低于一定的值,以防在芯片制造过程中的刻蚀阶段对连线的金属层过度刻蚀从而降低电路的性能。加入Dummy Metal是为了增加金属的密度
11.DRC和LVS
DRC是对芯片版图中的各层物理图形进行设计规则检查(spacing ,width),它也包括天线效应的检查,以确保芯片正常流片。LVS主要是将版图和电路网表进行比较,来保证流 片出来的版图电路和实际需要的电路一致。DRC和LVS的检查–EDA工具 Synopsy hercules/ mentor calibre/ CDN Dracula进行的.Astro also include LVS/DRC check commands.
12.Tape out
在所有检查和验证都正确无误的情况下把最后的版图GDSⅡ文件传递给Foundry厂进行掩膜制造。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)