⼀、数据准备
对于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)。 ⼆、布局规划
主要是标准单元、I/O Pad和宏单元的布局。I/O Pad预先给出了位置,⽽宏单元则根据时序要求进⾏摆放,标准单元则是给出了⼀定的区域由⼯具⾃动摆放。布局规划后,芯⽚的⼤⼩,Core的⾯积,Row的形式、电源及地线的Ring和Strip都确定下来了。如果必要在⾃动放置标准单元和宏单元之后,你可以先做⼀次PNA(power network analysis)–IR drop and EM。
水貂肉三、Placement(⾃动放置标准单元)
金膜 布局规划后,宏单元、I/O Pad的位置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF⽂件传递给
图像采集系统
PC(Physical Compiler),PC根据由综合给出的.DB⽂件获得⽹表和时序约束信息进⾏⾃动放置标准单元,同时进⾏时序检查和单元放置优化。如果你⽤的是PC +Astro,那你可⽤write_milkway,read_milkway传递数据。
四、时钟树⽣成(CTS Clock tree synthesis)
芯⽚中的时钟⽹络要驱动电路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很⼤并且不平衡,需要插⼊缓冲器减⼩负载和平衡延时。时钟⽹络及其上的缓冲器构成了时钟树。⼀般要反复⼏次才可以做出⼀个⽐较理想的时钟树。—Clock skew。 五、STA 静态时序分析和后仿真
时钟树插⼊后,每个单元的位置都确定下来了,⼯具可以提出Global Route形式的连线寄⽣参数,此时对延时参数的提取就⽐较准确了。SE把.V和.SDF⽂件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个⽂件传递给前端⼈员做后仿真(此处已经是带时序的PR⽹表仿真)。对Astro ⽽⾔,在detail routing 之后,⽤starRC XT 参数提取,⽣成的E.V和.SDF⽂件传递给PrimeTime做静态时序分析,那将会更准确。
六、ECO(Engineering Change Order)
针对静态时序分析和后仿真中出现的问题,对电路和单元布局进⾏⼩范围的改动。
七、Filler的插⼊(pad filler, cell filler)
Filler指的是标准单元库和I/O Pad库中定义的与逻辑⽆关的填充物,⽤来填充标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它主要是把扩散层连接起来,满⾜DRC规则和设计需要。
⼋、布线(Routing)
Global route-- Track assign --Detail routing–Routing optimization 布线是指在满⾜⼯艺规则和布线层数限制、线宽、线间距限制和各线⽹可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad⽤互连线连接起来,这些是在时序驱动(Timing driven ) 的条件下进⾏的,保证关键时序路径上的连线长度能够最⼩。–Timing report clear
九、Dummy Metal的增加(伪器件)
Foundry⼚都有对⾦属密度的规定,使其⾦属密度不要低于⼀定的值,以防在芯⽚制造过程中的刻蚀阶段对连线的⾦属层过度刻蚀从⽽降低电路的性能。加⼊Dummy Metal是为了增加⾦属的密度。
⼗、DRC和LVS(设计规则检查和电路匹配)
DRC是对芯⽚版图中的各层物理图形进⾏设计规则检查(spacing,width),它也包括天线效应的检查,以确保芯⽚正常流⽚。LVS主要是将版图和电路⽹表进⾏⽐较,来保证流⽚出来的版图电路和实际需要的电路⼀致。DRC和LVS的检查–EDA⼯具Synopsy hercules/ mentor calibre/ CDN Dracula进⾏的。Astro also include LVS/DRC check commands。
⼗⼀、Tape out(流⽚)
在所有检查和验证都正确⽆误的情况下把最后的版图GDSⅡ⽂件传递给Foundry⼚进⾏掩膜制造。
菱角剥壳机
⼗⼆、疑问?
1、DFT在芯⽚设计的哪个流程?
dft在整个芯⽚设计流程中,相对独⽴点,可以放在前端也可以放在后端。
1.1、制定DFT策略
⼀般来说,项⽬开始时,DFT团队会前端、后端、测试⼯程师⼀起开会制定DFT spec,包括IP测试策略、pin sharing、HT Block划分和clock设计等。
自制巧克力模具
1.2、RTL阶段插⼊
前端在不同milestone都会提供⼀版RTL snap,DFT team完成DFT logic的RTL level insertion(⽐如
JTAG/ieee1500,mbist,SCAN相关的compress/decompress等等)。
1.3、NET阶段
PD physical design team进⾏综合。综合后输出第⼀版DC⽹表,提供给前端进⾏DC⽹表功能验证。综合后,DFT team会进⾏scan chain连接和部分电路的插⼊,输出第⼆版DFT⽹表,提供给前端进⾏DFT⽹表功能验证。
接下来是DFT team验证阶段,⽤不同的EDA⼯具对电路进⾏验证,⽐如spyglass进⾏rule check。然后跑ATPG和simulation的验
接下来是DFT team验证阶段,⽤不同的EDA⼯具对电路进⾏验证,⽐如spyglass进⾏rule check。然后跑ATPG和simulation的验证。
同时,会配合后端⼯程师进⾏物理实现,去看test sdc是否合理。然后根据不同的要求(⽐如coverage,物理实现代价)重新配置参数进⾏电路调整,其中会经历多次迭代。当最终的⽹表物理实现后,会⽤⼯具跑ATPG,⽣成最后的pattern并进⾏门级仿真验证,带时序的PR⽹表验证。
1.4、回⽚测试
节能玻璃贴膜 等到最后芯⽚⽣产完成后,和PE/TE⼀起bring-up。