当前位置:首页 > 思想汇报 > 深亚微米下芯片后端物理设计方法学研究:芯片后端设计
 

深亚微米下芯片后端物理设计方法学研究:芯片后端设计

发布时间:2019-02-16 04:44:27 影响了:

  摘要:随着摩尔定律的发展,90/65nm工艺下的大规模芯片越来越多,后端物理设计变得更加复杂,遇到了很多新问题,如高集成度、层次化设计、泄漏功耗、多角落-多模式、串扰噪声等,签收的标准也发生了变化。因此必须改进物理设计方法学,适应新的情况,来取得流片成功。
  关键词:90/65nm;后端设计;集成度;层次化设计;串扰噪声;多模式-多角落;泄漏功耗;动态电压降;签收
  
  IC physical design methodology research under DSM
  
  ZENG Hong
  ( Verisilicon Microelectronics (Shanghai) Co., Ltd, Shanghai 201204, China)
  
  Abstract: Now IC industry has come to 90/65nm process node. The physical design flow becomes more complicated, with many new problems emerging, such as high cell density, hierarchical design flow, leakage power, multi-corner multi-mode, crosstalk noise, etc. The tapeout signoff criterion have changed a lot. So the physical design flow must be updated to ensure the first-silicon success.
  Key words:90/65nm;backend design;cell density;hierarchical design flow;crosstalk;multi-corner multi-mode;leakage power;dynamic IR-Drop;signoff
  
  1单元集成度提高,门数增加
  
  表1显示的是从180nm到45nm 台积电(TSMC)工艺 Metal 2 最小间距(pitch)的变化趋势 。
  
   可以看出每代工艺节点线宽、线间距基本上以0.7的比率下降,随之带来的标准单元库缩小得更加严重,表2显示了9-TrackTSMC库标准单元大小的变化。
  
   由于水平和垂直方向都缩小了λ倍 (相邻2个工艺之间是1/ 0.7 = 1.43 倍),因此面积变化是λ * λ = λ2 ,即同样的芯片面积上可以放λ2倍多的标准单元。由于金属布线的资源(特别是M2)增加量小于λ2,伴随着标准单元数量的增多,芯片利用率有下降的趋势,设计者应注意降低初始利用率,比如从55~65%开始。表3是几个工艺下不同芯片/模块的规模对比。
  
   可以看出,同样是10 × 10 mm2 ,65nm芯片的元件数量几乎是180nm芯片的10倍。很多65nm下的设计表明,即使是2 × 2 ,3 ×3 mm2 这样小的面积,也能达到300k~600k的元件数量。单元数量的增加导致电子设计自动化(EDA)工具运行时间的增加,延长了整个后端设计时间。可以采用EDA工具的多CPU、多线程(Multi-threading)等并行工作方式来加快设计过程,如ICC的place_opt -num_cpu 2 ,Zroute中的-max_number_of_threads 8,STAR_RCXT的NUM_PARTS : 4 抽取,Calibre的-turbo 4等。
  
  2层次化设计方法
  
  对于千万门级以上等超出EDA工具设计容量的电路,可以采用层次化设计设计方法,分而治之。这个涉及到顶层和子模块工作的分工与配合。
  顶层的前期工作是进行子模块划分,包括逻辑划分、物理划分、时序划分、子模块引脚(I/O pin)位置确定等。电源网络设计是一项很重要的工作,可由顶层统一设计,根据芯片的功耗设计电源条(power strap)的宽度和间距,然后确定各个子模块的电源条的位移位置(offset),即保证在顶层可以对齐连接即可。有的还要求标准单元行电源线(row rail)也对齐。子模块的引脚位置由顶层做全局布线来决定,最好能出在同一边上。时序划分(timing budget)方面通常对子模块端口进行过约束(over-constraint ),留出余量给顶层时序。
  模块划分结束后,接着是子模块的布局布线流程,在时钟树之后,要提取I/O边界的时序模型给顶层,可以用ETM ( Extracted Timing Model )或者ILM( Interface Logic Model) ,这样顶层的布局布线工作也可以同时开展。ETM或ILM只包含边界相关逻辑,不含内部逻辑,这既减小了数据库的容量,又满足了顶层时序检查的要求。时钟树之后,子模块的时钟树延迟(clock latency)已经知道,必须反馈给顶层,如图1。
  
   如图1中显示,该子模块时钟延迟为1.5ns,顶层总时钟延迟估计为2.4ns,在顶层做时钟树之前,必须让顶层知道子模块内部的1.5ns 时钟延迟,否则子模块时钟将与顶层无法平衡。这样从顶层clk 源端到该子模块时钟端cclk的设计延迟是2.4 ns1.5ns = 0.9ns。在ICC里面实现该功能结构的方法是设置float pin ,见下:
  set_clock_tree_exceptions
  -float_pin[get_pinsblock1/cclk ]
  -float_pin_max_delay_rise1.5
   子模块在布线结束之后还可以更新这个模型给顶层。顶层和子模块的交互有反复迭代的过程,这取决于时序划分的质量和时序更新的结果。最后的签收阶段(Signoff)时,顶层读入各个子模块的寄生文件(如SPEF), 进行平坦化静态时序分析。图2显示了层次化设计方法的流程。
  
  层次化设计的优点是各个子模块可以并行同时进行,子模块设计者可以重点关心子模块内部的时序,可以单独做物理验证等,对于边界接口的时序可以由顶层设计者来统一处理,从而提高了设计效率,缩短了整个设计流程的时间。通常子模块都不会太大(一般控制在100万元件数以内),能够把EDA工具的运行时间控制在合理范围内。现在很多芯片包含ARM、DSP、MCU等IP核,通常都是先单独做成一个子模块,最后集成进顶层。
  
  3减小串扰效应
  
  随着线间距的减小,单元密度的增加,串扰噪声在90/65nm下的影响越来越大。串扰不仅会增加线上的信号延迟(Delta delay / Delta Trans),还产生不确定性的毛刺(glitch)信号干扰电路的正常工作。对于180nm设计,可以不考虑串扰,130nm设计,可以选做,但是对于90nm以下设计,串扰成了签收标准,必须修复。对串扰主要分为布线前的预防和布线后的修复2个步骤,其中预防的效果是明显的,具体如下:
   1) 在布局的时候设置渡越时间限制(slew limit)为一个较小的值 , 比如65nm下设为200~ 300ps,这样通过插入很多的驱动器(buffer),能增强信号的驱动能力,使信号边沿变得陡峭,有利于抵抗噪声干扰。研究表明[6],大多数串扰噪声都是对弱驱动的信号线进行干扰。
   2) 对时钟线或翻转特别频繁的线采用2~3倍线间距布线,减小它们对其他信号的干扰,芯片面积允许的话可以用电源线(VDD/VSS)做屏蔽线(shieldingnet),对噪声敏感的线(比如analog线)应注意加大隔离距离,降低被噪声干扰的程度。
   3) 模拟和数字模块保持距离,隔离布线,避免数字开关信号对模拟区域的干扰。模拟模块比如PLL、ADC周围应该严格控制数字信号线的通过,可以设置布线阻挡区域(route blockage)。在模拟和数字区域之间可以放置大量的去耦电容(Decap)单元,过滤毛刺信号。
   4) 避免狭长沟道区域的过多布线,这多发生于一些存储模块(Memory)之间的区域,增大这些模块之间的空间距离,在单元布局中应尽量避免过于拥挤的区域。
   5) 布线时采取时序和串扰(timing/crosstalk)驱动的选项,并且在布线后进行噪声去除修复。如ICC的
  set_si_options -delta_delay true
  -static_noise true-route_xtalk_prevention true
  set_route_zrt_global_options -timing_driven true-crosstalk_driven true
  set_route_zrt_track_options -timing_driven true-crosstalk_driven true
  set_route_zrt_detail_options-timing_driventrue
  route_opt-incremental-xtalk_reduction
   ICC通常会在全局布线(global route)和分配布线(track assignment)的阶段中进行串扰的预防,比如隔离噪声相互影响较大的信号线,进行远距离或换金属层分配线,然后在布线后修复中增大线间距(widen wire spacing)或者在受害线上加入buffer,增强驱动。对于少量剩余违规,可以采用手动增大受害线的驱动单元(upsize driver ),在受害线上加驱动单元 ,移动驱动单元位置,拉开单元(线)间距,换金属层等方法来修复。
  
  4多角落,多模式工作
  
  由于90/65nm工艺的复杂性,代工厂需要更多的PVT(Process, Voltage, Temperature)工艺条件组合(即Corner)来验证器件的物理特性,来保证器件的稳定工作。表4显示了TSMC工艺180/130与90/65nm节点的Corner差别。
  
   由于90/65nm下晶体管泄漏功耗增大,增加了最大和典型泄漏功耗分析角落,可用于分析泄漏功耗。在时序分析方面,除了传统的TT/FF/SS3个Corner之外,90/65 nm还多出低温SS,0度FF。低温反型效应是90nm以下的特有现象,指的是在低温低压(1V左右)下,晶体管电路工作有变慢的趋势,主要是因为阈值电压Vth对电流大小的影响超过了迁移率的变化作用。低温SS已经成为签收阶段必须进行时序检查的角落。同时芯片的工作模式也在不断增多,比如功能模式、测试模式、BIST模式等。目前EDA工具普遍支持多个模式和多个角落同时运行,即MCMM(Multi-Corner Multi-Mode)。例如在ICC中,以下脚本创建了2个模式角落组合(被称之为场景scenario)FUNC_MAX和FUNC_MIN:
  create_scenarioFUNC_MAX
  read_sdc$func_max_sdc
  set_operating_condition -analysis_type on_chip_variation-library$max_libWORST
  set_tlu_plus_files -max_tluplus $MAX_TLU_PLUS -min_tluplus $MAX_TLU_PLUS -tech2itf_map$map_file
  set_timing_derate-early0.9
  create_scenarioFUNC_MIN
  read_sdc$func_min_sdc
  set_operating_condition -analysis_type on_chip_variation -library$min_libBEST
  set_tlu_plus_files -max_tluplus $MIN_TLU_PLUS -min_tluplus $MIN_TLU_PLUS -tech2itf_map$map_file
  set_timing_derate-late1.15
  set_active_scenario [all_scenario]
  set_cts_scenarioCTS
  report_timing scenario [all_scenarios]
  ……
  
   FUNC_MAX和FUNC_MIN 分别对应于签收阶段的PrimeTime检查的2种模式,后面的布局、时钟树、布线阶段将进行这些场景的同时优化。通过MCMM的方法,可以把布局布线的流程和签收阶段的验证组合统一起来,用户不用在各个模式之间来回更换时序约束,不仅可以进行各模式同时优化,还增加了布局布线工具与PT检查结果的一致性(Correlation)。OCV(on-chip variation)分析方式已被签收阶段所采用,并且配合不同的悲观(Derate)参数给不同的Corner来进行悲观近似。MCMM多场景增加了签收阶段的静态时序分析工作量,例如 3模式和5 角落,就要做 3 × 5 × 2(setup + hold )= 30 种静态时序分析(STA)检查,可以用Perl/Tcl脚本来辅助处理。在修复setup/hold 违规时,需要考虑各场景情况,即修复其中一个场景下的时序违规不会造成太多别的场景下的新的违规。一个安全的方法是把各场景中的节点的时序余量(node slack)合并到一起 ,取最差的值作为该节点的余量,这样只要保证修复产生的变化不会使得这个余量变成负值(即发生新违规),则其他场景下也将是安全的,见图3。
  
  5减小泄漏功耗
  
  90/65nm下,晶体管的栅氧化层越来越薄,栅极隧穿效应也更加明显,亚阈值电流和反向PN结电流增大,导致泄漏功耗逐渐增大[6]。据文献[1],TSMC工艺最大泄漏功耗(max leakage)角落为FF 125度。从130nm开始,单元库开始有多阈值库支持,即HVT/RVT(有的库还支持LVT)。HVT单元在工艺中的阈值电压(Vth)调整步骤中进行了重掺杂,使得Vth较大,泄漏电流小,但是电路工作也比较慢。RVT相反,Vth较小,工作电流大,但泄漏较大。因此存在一个HVT/RVT组合应用的方法。一般在时序关键路径,多用RVT来保证时序,在非关键路径,用HVT单元来降低功耗。在布局阶段中可以对泄漏功耗进行优化,如ICC的set_power_options leakage on, place_opt -power ,psynopt power ,route_opt power等。在优化完成后,应检查HVT/RVT的比例,该比例越高,说明泄漏功耗越小。在频率不高的设计里面(如100 MHz ,65nm),该比值通常大于2 :1。HVT/RVT组合还可以用来修复时序违规,比如用RVT单元来修复setup违规,利用HVT 单元来减慢路径,修复hold违规。由于同一种类型的HVT/RVT单元通常做的大小一样,出引脚位置也相同,使得替换单元十分地方便。
  
  6考虑动态电压降
  
  90/65 nm下随着线宽的变小,芯片功耗的增大,电压降(IR-Drop)和电迁移(EM)的问题更加突出。尽管铜工艺防止EM的能力好于传统的铝工艺,但仍有必要增加最上方的RDL层(redistribution layer,如AP/AL)来增加电源供应,因为该层厚度大,可以容纳更多的电流。不仅如此,由于布局单元密度增加,翻转频率的增加,以往的静态电压降(Static IR-drop)分析已经不能完全反映芯片内部的实际工作情况,例如某个区域信号翻转特别频繁,引起出入的电流的波动较大,从而造成该区域电源线电压(power rail)在短时间内降低,从而影响电路的正常工作。动态电压降(DynamicIR-Drop)分析正是适应这种需要而产生,代表工具如Apache的RedHawk,或Synopsys的PrimeRail,它们读入时序约束、翻转激励信号、寄生信息、布局信息、网表等,经过分析,能得出IR-Drop随时间变化的趋势,从而得出在哪些具体时刻IR-Drop是最差的。动态电压降的最差点和静态电压降的最差点不完全一致,可以都进行修复,例如增加电源条供应,分散高翻转率单元拥挤的摆放位置。在电源网络设计方面,随着宽金属线宽的变化,以前180nm/130nm下那粗而稀疏的电源条(trunk)方法很多已经被细而密的电源网格(mesh)来取代。由于线间距小,稠密而细的电源条能提供更加充分稳定的电流,减小电源线上的动态波动,从而减小动态电压降。去耦单元(Decap cell)的存在能够帮助维持电源电压的稳定性,减少电源线上的噪声。它们就像电荷“蓄水池”一样,平时保持着电荷充满状态,当周围门单元进行频繁翻转时,它们能从“蓄水池”里释放电荷,从而弥补电源线上的电压损失。RedHawk工具能分析芯片内部需要多少去耦电容量才能维持电源电压的稳定性,从而给添加Decap单元提供指导意义。在单元翻转频率较高的区域,应注意多加Decap。
  
  7添加tap 单元与tie off 单元
  
  为了让90nm以下的库单元做的更小,很多库单元自身不带N-阱接触孔和衬底接触孔,而由一个专门的tap cell(如FILL2)来提供反向偏置电位。这样的好处是可以提高单元密度,一定面积里可以放更多的标准单元。为此在布局前必须做一步预布局tap cell的步骤。tap cell在版图设计规则里面规定了能够使得N-阱 和衬底有效反向偏置的区域范围,如65nm下的25um为半径的区域。tap cell的放置方式可以像交错棋盘那样,这样可以节省一半数量的tap cell,同时又达到偏置电位的效果 ,见图4 。
  
   在ICC中的实现上图的脚本为:
  add_tap_cell_array -pattern stagger_every_other_row -distance [expr 4 * 25 ] -master_cell_nameTAPCELL-ignore_soft_blockage
  -distance指的是同一行上相邻2个tap单元之间的距离。tap cell放置以后,自动被设置成固定位置(fixed)属性,即在后面的布局布线阶段不能移动。
  尽管随着摩尔定律的发展,金属线宽和标准单元都缩小了很多,但是芯片工作电压VDD并没有下降太多,这主要是考虑噪声容限和电路工作速度的需要。表5显示了TSMC典型工艺下各个工艺节点的工作电压变化。
  
   可以看出从130nm以下,电压变化不大,维持在1V左右。由于栅级氧化层越来越薄,晶体管的栅极更容易受到静电放电(Electro-Static Discharge,ESD)的危害。为了增强芯片抗ESD的性能,所有连接1’b0(VSS),1’b1(VDD)的上拉/下拉信号都要求通过上拉/下拉单元( tie off 单元)来“软”连接到电源上,任何直接连电源线的“硬”连接都是存在风险的,容易造成栅极击穿和芯片损坏。tie cell可以带一定数量的负载pin ,一般小于50。下面的命令显示了在ICC中每20个上拉信号加一个上拉单元(TIEHHVT),连接引脚是Z,下拉单元是TIELHVT,引脚是ZN :
  
  connect_tie_cells
  -tie_high_lib_cell TIEHHVT-tie_high_port_name Z
  -tie_low_lib_cell TIELHVT -tie_low_port_nameZN \ -max_fanout 20
  -max_length 200 -object [get_cells * -hier -filter“is_physical == true” ]-object_type cell_inst
  
  8总 结
  
  本文分析了90/65 nm下物理设计上遇到的新问题,如单元密度、层次化设计、串扰、电压降等,提出了一些解决方案。随着物理设计的复杂性增加,新现象不断出现,后端设计者只有不断学习,加强设计流程改进,才能对流片成功更有信心。
  
  参考文献
  [1]. TSMC 90/80/65/55/45/40 nm Standard Cell Library Application Note ,Version 1.7 , 2008
  [2]. TSMC 65/55nm CMOS Logic/Mix-RF process design rule , Version 1.4.1 , 2008
  [3]. ICC user guide ,2008.09 version
  [4]. ICC command reference , 2008.09 version
  [5]. PrimeRail user guide ,2008.09 version
  [6]. 《数字集成电路――设计透视(第2版)》, Jan M.Rabaey ,Anantha Chandrakasan,Borivoje Nikolic, 清华大学出版社,北京,2004
  
  作者简介
  曾宏,高级芯片物理设计工程师,芯原微电子(上海)有限公司。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3