数字IC后端设计流程及DFT design flow

34 篇文章 2 订阅
9 篇文章 17 订阅

一、数据准备
  对于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的验证。
  同时,会配合后端工程师进行物理实现,去看test sdc是否合理。然后根据不同的要求(比如coverage,物理实现代价)重新配置参数进行电路调整,其中会经历多次迭代。当最终的网表物理实现后,会用工具跑ATPG,生成最后的pattern并进行门级仿真验证,带时序的PR网表验证
1.4、回片测试
  等到最后芯片生产完成后,和PE/TE一起bring-up。

  • 17
    点赞
  • 179
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值