1、2019/1/13,1,CMOS集成电路版图,邓军勇 029-85383437,-概念、方法与工具,第6章 数字IC后端流程,2019/1/13,2,数字IC后端流程,Placement,Design planning,CTS,Route,DFM & Chip Finishing,Data Setup,2019/1/13,3,基于ICC的数字IC后端设计流程,Use IC Compiler to perform placement, DFT, CTS, routing and optimization, achieving timing closure for designs with mo
2、derate to high design challenges.,2019/1/13,4,基于ICC的数字IC后端设计流程,There is no “golden script” for physical design,2019/1/13,5,Data Setup,布局布线的准备工作,读入网表,跟Foundry提供的STD Cell、 Pad库以及Macro库进行映射。,2019/1/13,6,Data Setup,后端设计数据准备 设计网表 gate-level netlist 设计约束文件 SDC file 物理库文件 sc.lef/io.lef/macro.lef 时序库文件 sc.l
3、ib/io.lib/macro.lib I/O文件 I/O constraints file(.tdf) 工艺文件 technology file(.tf) RC模型文件 TLU+,2019/1/13,7,Data Setup,Logical Libraries Provide timing and functionality information for all standard cells (and, or, flipflop, ) Provide timing information for hard macros (IP, ROM, RAM, ) Define drive/load
4、design rules:Max fanoutMax transitionMax/Min capacitance Are usually the same ones used by Design Compiler during synthesis Are specified with variables:target_librarylink_library,2019/1/13,8,Data Setup,逻辑单元库:一个完整的单元库由不同的功能电路所组成,种类和数量很多,根据其应用可分为三类: 标准单元(standard cells) 组合逻辑 时序逻辑 模块宏单元(macro block) R
5、OM RAM 专用模块(如ASSP、DSP等) Black box商业IP(如ARM、标准单元等) 模拟模块(如PLL、振荡器等) 输入输出单元(I/O pad cell) 输入 输出 三态 双向,考虑ESD,2019/1/13,9,Data Setup,Physical Reference Libraries,2019/1/13,10,Data Setup,物理单元库:和逻辑单元库分类相同,但也包括一些特殊单元,在后端物理实现中的作用有别于其他逻辑电路 填充单元(filler/spacer) I/O spacer用于填充I/O单元之间的空隙以形成power ring 标准单元filler c
6、ell与逻辑无关,用于把扩散层连接起来满足DRC规则和设计需求,并形成power rails 电压钳位单元(tie-high/tie-low) 二极管单元(diode),对违反天线规则的栅输入端加入反偏二极管,避免天线效应将栅氧击穿 时钟缓冲单元(clock buffer/clock inverter):为最小化时钟偏差(skew),插入时钟缓冲单元来减小负载和平衡延时 延时缓冲单元(delay buffer):用于调节时序 阱连接单元(well-tap cell):主要用于限制电源或地与衬底之间的 电阻大小,减小latch-up效应 电压转换单元(level-shifter):多用于低功耗设
7、计,2019/1/13,11,Data Setup,库文件 时序库:描述单元库中各个单元时序信息的文件。(.lib库) 单元延时 互连线延时 物理库:是对版图的抽象描述,她使自动布局布线成为可能且提高了工具效率(.lef库),包含两部分 技术LEF:定义布局布线的设计规则和foundry的工艺信息 单元LEF:定义sc、macro、I/O和各种特殊单元的物理信息,如对称性、面积大小、布线层、不可布线区域、天线效应参数等,2019/1/13,12,Data Setup,The Technology File (.tf file):The technology file is unique to
8、each technology;Contains metal layer technology parameters:Number and name designations for each layer/viaPhysical and electrical characteristics of each layer/viaDesign rules for each layer/Via (Minimum wire widths and wire-to-wire spacing, etc.)Units and precision for electrical unitsColors and pa
9、tterns of layers for display,2019/1/13,13,1. Specify the Logical Libraries,2019/1/13,14,2. Define logic0 and logic1,2019/1/13,15,3. Create a “Container”: The Design Library,2019/1/13,16,4. Specify TLU+ Parasitic RC Model Files,TLU+ is a binary table format that stores the RC coefficients,2019/1/13,1
10、7,Timing is Based on Cell and Net Delays,2019/1/13,18,5. Create Design CEL,2019/1/13,19,6. Verify Logical Libraries Are Loaded,2019/1/13,20,7. Define Logical Power/Ground Connections,2019/1/13,21,8. Apply and Check Timing Constraints,2019/1/13,22,9. Remove Unwanted “Ideal Net/Networks”,2019/1/13,23,
11、10. Save the Design,Its good practice to save the design after each key design phase, for example: data setup, design planning, placement, CTS and routing:Note: The open cell is still the original ORCA cell !,save_mw_cel as ORCA_data_setup,2019/1/13,24,数字IC后端流程,Placement,Design planning,CTS,Route,DF
12、M & Chip Finishing,Data Setup,2019/1/13,25,Design Planning,芯片设计的物理实施通常被简称为布局布线(P&R,Place-and-Route),而P&R之前的大量工作,包括Data Setup、Floor-plan、power-plan亦非常关键。,布图规划的主要内容包括芯片大小(die size)的规划、I/O规划、大量硬核或模块(hard core、block)的规划等,是对芯片内部结构的完整规划和设计。,布图规划的合理与否直接关系到芯片的时序收敛、布线通畅(timing and routability)。,Create a floo
13、rplan that is likely to be routable and achieve timing closure,2019/1/13,26,ICC Terminology,Design planning is the iterative process of creating a floorplan。,A chip-level floorplan entails defining:Core size, shape and placement rowsPeriphery: IO, power, corner and filler pad cell locationsMacro cel
14、l placementPower grid (rings, straps, rails),A physical design, or layout, is the result of a synthesized netlist that has been placed and routed,2019/1/13,27,Create Physical-only Pad Cells,Physical-only pad cells (VDD/GND, corner cells) are not part of the synthesized netlistMust be created prior t
15、o specifying the pad cell locations,open_mw_cel DESIGN_data_setup create_cell vss_l vss_r vss_t vss_b pv0i create_cell vdd_l vdd_r vdd_t vdd_b pvdi create_cell CornerLL CornerLR CornerTR CornerTL pfrelr,2019/1/13,28,Specify Pad Cell Locations,2019/1/13,29,Initialize the Floorplan,2019/1/13,30,Core A
16、rea Parameters,2019/1/13,31,Floorplan After Initialization,2019/1/13,32,Insert Pad Filler Cells,insert_pad_filler cell “fill5000 fill2000 fill1000 . “,2019/1/13,33,Constraining Macros:Manually,2019/1/13,34,Macro Constraints: Anchor Bound Option,2019/1/13,35,Macro Constraints: Side Channel Option,Sid
17、e channels are regions along the core edges where placement of macros is not allowed.,set_fp_macro_array name ARRAY_A elements get_cells “A1 A2 A3” set_fp_macro_options ARRAY_A side_channel “0 80 30 40”,2019/1/13,36,电源规划,电源规划是给整个芯片的供电设计出一个均匀的网络。,电源预算(power budgeting),商用惯例为误差在5%,包括 从电源网络和PCB板级到封装bond
18、ing之间的波动(1%) 电源I/O单元和电源环之间的波动(1%) 最终到sc之间的电压降(3%),2019/1/13,37,电源网络设计,全局电源,电源环线(power ring)指为了均匀供电,包围在sc周围的环形供电金属,用于连接电源I/O单元和sc的followingpins,电源条线(power strips)指芯片内部纵横交错的电源网格(power grid),2019/1/13,38,Power plan,2019/1/13,39,Write Out Floorplan and DEF Files,设计交换格式DEF(design exchange format)文件是由Cade
19、nce公司开发的用于描述文件物理设计信息的一种文件格式。,DEF描述了芯片的die area、row、tracks、components、nets等,对于设计者而言,有了LEF和DEF文件就可以完整的了解一个设计,2019/1/13,40,数字IC后端流程,Placement,Design planning,CTS,Route,DFM & Chip Finishing,Data Setup,2019/1/13,41,Placement,布局的主要任务是sc的摆放和优化,布局算法一直是EDA设计中的研究重点,目前仍在发展。,In most situations macro cell placem
20、ent is determined during design planning and their placement is “fixed”It is a good practice to fix all macro placements again, just in case.,2019/1/13,42,Placement,2019/1/13,43,数字IC后端流程,Placement,Design planning,CTS,Route,Data Setup,2019/1/13,44,芯片中的时钟网络要驱动电路中所有的时序单元,所以时钟负载延时很大并且不平衡,需要插入缓冲器减小负载和平衡延
21、时。 时钟网络及其上的缓冲器构成了时钟树。 CTS的目的是为了减小时钟偏差(clock skew) 时钟信号定义 SDC CTS策略 时钟树分析,Clock Tree Synthesis,2019/1/13,45,Starting Point before CTS,All clock pins are driven by a single clock source.,2019/1/13,46,Clock Tree Synthesis (CTS),A buffer tree is built to balance the loads and minimize the skew.,2019/1/1
22、3,47,CTS,2019/1/13,48,数字IC后端流程,Placement,Design planning,CTS,Route,Data Setup,2019/1/13,49,布线是继布局和时钟树综合之后的重要物理实施任务,其内容是将分布在芯片核内的模块、标准单元和输入输出接口单元(I/O pad)按逻辑关系进行互连,其要求是100%地完成他们之间的所有逻辑信号的互连,并为满足各种约束条件进行优化。,Routing,2019/1/13,50,进行消除布线拥塞(congestion)、优化时序、减小耦合效应(coupling)、消除串扰(crosstalk)、降低功耗、保证信号完整性(signal integrity)、预防DFM问题和提高良品率等布线的优化工作是衡量布线质量的重要指标。,Routing,VLSI电路多层布线采用自动布线方法,在实施过程中,它被分为全局布线(global routing)、详细布线(detail routing)和布线修正(search and repair)三个步骤来完成。自动布线的质量依赖于布局的效果以及EDA工具所采用的布线算法和优化方法。,