34
数数数数数数 Reporter: Zizhu.Feng: Date: 2013.06.08

数字后端设计

Embed Size (px)

DESCRIPTION

数字后端设计. Reporter: Zizhu.Feng : Date: 2013.06.08. 一 什么是数字后端? 二 数字后端有哪些步骤? 三 数字和模拟电路怎样连接?. 三个问题. 什么是数字后端?. 编写 HDL 代码. 布局规划. 功能仿真. 布局. 前端. 后端. 逻辑综合. 时钟树插入. 形式验证. 布线. 静态时序分析. 静态时序分析. 数据导出. 怎样设计一个 1 位全加器?. 怎样设计一个 1 位全加器?. 前端. 静态时序分析 pt. 编写 HDL 代码. 逻辑综合 DC. - PowerPoint PPT Presentation

Citation preview

Page 1: 数字后端设计

数字后端设计

Reporter: Zizhu.Feng: Date: 2013.06.08

Page 2: 数字后端设计

三个问题

什么是数字后端?

数字后端有哪些步骤?

数字和模拟电路怎样连接?

Page 3: 数字后端设计

什么是数字后端?编写 HDL 代

功能仿真

形式验证

静态时序分析

逻辑综合

布局规划

布局

布线

静态时序分析

时钟树插入

数据导出

前端 后端

Page 4: 数字后端设计

怎样设计一个 1 位全加器?

Page 5: 数字后端设计

怎样设计一个 1 位全加器?

编写 HDL 代码

功能仿真Modelsim

逻辑综合DC

形式验证formality

静态时序分析pt

前端

Page 6: 数字后端设计

什么是数字后端?门级的符号

工艺库参数

版图设计

布局规划 布局 时钟树插入 布线 静态时序分析 数据导出

Astro

gds File

后端

Page 7: 数字后端设计

数字后端有哪些步骤?启动 Astro

Linux Open in terminal Astro&

两种操作方法

使用图形界面的菜单进行设置

在下方选择 TCL模式执行脚本

Page 8: 数字后端设计

数字后端有哪些步骤?1 Setup

1 这一步主要做什么?

准备工作:

建立一个标准单元库准备数据文件系统设置

圈工地建筑材料图纸

Page 9: 数字后端设计

数字后端有哪些步骤?1 Setup

source ./scripts/define.tcl(调用 define 文件 ,文件中定义了库、单元、金属层以及一些路径的名称 例如: set netlist “../out/compile1_da_top.v“ 以后再使用这个路径的时候可以用 $netlist 来代替)

dbSetGlobalPowerNet "VDD“dbSetGlobalGroundNet "VSS“(定义电源环和地环端口,包括 VDD,VSS,AVDD,AVSS,DVDD,DVSS )

2 主要命令有什么?

Page 10: 数字后端设计

数字后端有哪些步骤?1 Setup

auVerilogToCellsetFormField “Verilog To Cell” “Library Name“ $libname(建库存放单元的数据,导入网表文件,建立版图单元,加载一个 .tf 文件定义布线的规则)

formButton "Verilog To Cell" "refLibOptions“($ana_reflib $io_reflib) (加入三个参考库)

formButton "Verilog To Cell" "globalNetOptions“(定义 cell 中的三组全局电源 / 地)

axgLoadTDF (加载 tdf 文件,自己定义,指导 pad 摆放)astMarkHierAsPreserved (保留层次化信息)

Page 11: 数字后端设计

数字后端有哪些步骤?1 Setup

3 执行结束后版图的效果?

由于只进行了系统的设置,加载一些文件, setup 后在单元中只能看到一个模拟的 marco

Page 12: 数字后端设计

数字后端有哪些步骤?2 Floorplan

1 这一步主要做什么?

正式布局前执行底盘的规划

划定建筑面积铺设外围供电网络

Page 13: 数字后端设计

数字后端有哪些步骤?2 Floorplan

axgPlanner(选择核的尺寸、标准单元的排列方式)

axgAddPadFiller( Pad 之间的填充物,形成 Pad 供电回路)axgCreateRectangularRings(布核的电源环和地环 横纵两层不同金属、设定宽度 Offset absolute 指电源对核偏移)

axgCreateStraps(给电路中单元提供稳定电源 Marco 截断)

aprPGConnect(建立标准单元与电源 / 地间的物理连接 非实际连接 每次修改电路要做一次物理连接)

2 主要命令有什么?

Page 14: 数字后端设计

数字后端有哪些步骤?

dbSetCellInstPlacement [geGetEditCell] "ana_u1" "0" "no" "lr" "2200 420“(在核中放入模拟的 marco lr 右下角为坐标零点)

axgCreateRectangularRings(布模拟电源 / 地环)

aprPGConnect

axgAddRouteGuide(指导工具布线的范围 共两次 不要在 marco 内布线 不要在第六层金属布线 手动画)

axgPrerouteInstances(连接电源 / 地环到 pad pin 到电源 / 地环)

axgVeriPGConn(检查电源 / 地引脚的连接 报告)

2 Floorplan

Page 15: 数字后端设计

数字后端有哪些步骤?2 Floorplan

3 执行结束后版图的效果?

看到标准单元了吗?

Page 16: 数字后端设计

数字后端有哪些步骤?3 Timing

为设计添加时序约束

建筑国标供水管道的设计优化措施

Page 17: 数字后端设计

数字后端有哪些步骤?3 Timing

2 主要命令有什么?

ataLoadSDC(加载 sdc 文件 由 DC 生成 提供布局布线指导 如:时钟的要求)

atTimingSetup(设置时序的要求 由于没有做时钟树插入, 仍用理想时钟 ideal clock 优化的方案 寄生参数 单元延迟和线网 延迟模型 串扰模型)

Page 18: 数字后端设计

数字后端有哪些步骤?3 Timing

3 执行结束后版图的效果?

只设置了参数,对cell 的布局没有影响

Page 19: 数字后端设计

数字后端有哪些步骤?4 Place

在核中放置标准单元

1 这一步主要做什么?

开始盖房子在楼道里铺电网给每个房间供电

Page 20: 数字后端设计

数字后端有哪些步骤?4 Place

axgAddBlockage(给模拟 marco 加 blockage ,不放标准单元)

2 主要命令有什么?

astPlaceOptions( place 之前的一些 基本设置,优化方式 congestion: 考虑线路拥堵 timing:满足时序)astPrePS(做 preplace )aprPGConnectaxgPrerouteStandardCells(创建核中为数字标准单元供电的电源 / 地线)

astAutoPlace ( place 分三步 preplace inplace postplace postplace 分 post place 和 post CTS post CTS 在 CTS 一步做)

axgDisplayPLCongestionMap(做布线拥堵情况的评估)

Page 21: 数字后端设计

数字后端有哪些步骤?4 Place

3 执行结束后版图的效果?

每一步 place标准单元的分布都会进行优化,排布位置发生改变

Page 22: 数字后端设计

数字后端有哪些步骤?5 CTS

时钟树的插入

1 这一步主要做什么?

供水管道的中继装置

Page 23: 数字后端设计

数字后端有哪些步骤?5 CTS

2 主要命令有什么?astClockOptions(对时钟树的插入进行基本设置)

astClockOptionsformButton "Clock Common Options" "ConstraintSubForm“(设置时钟树插入的约束条件)

astCTS(开始进行时钟树的综合与优化)

atTimingSetup(在 timing 中已经做过 改为实际的传播时钟 做完时钟树的综合与优化后必须重新做 place 用 post CTS )astAutoPlace(做 post CTS )

aprPGConnect

Page 24: 数字后端设计

数字后端有哪些步骤?5 CTS

3 执行结束后版图的效果?

CTS 只是插入buffer 及优化并不会进行布线

Page 25: 数字后端设计

数字后端有哪些步骤?6 Route

全局布线详细布线优化

1 这一步主要做什么?

把各个中 继装置需要连接的 部分连接 起来

Page 26: 数字后端设计

数字后端有哪些步骤?

axgSetRouteOptions(布线前的基本设置)

2 主要命令有什么?

6 Route

axgRouteGroup( all clock nets 先布时钟网络)axgAutoRoute( 布标准单元的连接网络 )

axgSearchRepair(执行检查和修改 规定次数 不修改输入 0 )

atTimingSetup( xtalk 设置串扰模型 medium effort 改为 low effort ???)

astPostRouteOpt(后期的布线优化 可以提高布线的质量)

Page 27: 数字后端设计

数字后端有哪些步骤?6 Route

3 执行结束后版图的效果?

放大可以看到布线

Page 28: 数字后端设计

数字后端有哪些步骤?7 DFM

修天线效应

1 这一步主要做什么?

加避雷针

芯片生产过程中,暴露的金属线或多晶硅等导体就像一根根天线,会收集电荷,导致电位 升高天线越长,电压越高。若导体碰巧只接了 MOS 的栅,高电压就可能把薄的栅氧化层击穿,使电路失效

消除天线效应方法:

1 跳线:断开存在天线效应金属层,通过通孔连接到 其它层2 添加天线器件:加反偏二极管,形成电荷泄放回路3 插入缓冲器: 切断长线

Page 29: 数字后端设计

数字后端有哪些步骤?

2 主要命令有什么?

7 DFM

auLoadCLF(加载 clf 文件 工艺库提供 含 diode等参数指导修天线效应)axReportAntennaRatio [geGetEditCell](执行天线效应的检查,看是否有 violation )axgSetHPORouteOptions(设置 atenna 检查方法)axgSearchRepair (开始修天线效应)aprPGConnectaxgSearchRepairaxgAddFillerCell(用 filler cell 填充行之间的开放区域,保证所有电源网络都已经连接)axgPrerouteStandardCells( place 中已经做过给数字标准单元供电的横 向电源 / 地线会布满整个核)geNewFillNG(填充标准单元内部金属密度, 使标准单元内部金属密度一致,提高良率)

axgSearchRepair

Page 30: 数字后端设计

数字后端有哪些步骤?

3 执行结束后版图的效果?

7 DFM

本步之后执行Output将版图、新的netlist 、寄生参数等信息导出

Page 31: 数字后端设计

额外的东西:NO. 1 tdf 文件怎么设置?

问题: tdf 文件是什么来 着?定义 Pad 名称、 Pad 尺寸、提供 Pad 的摆放位置定义一个 Pad (一般定义电源 / 地以及 Pbreak ):

insertPad “VDD” “PVDD” “u_VDD” “VDD”VDD : 连接到 Astro 定义的 Cell 中 GLOBALNET 电源环的名称PVDD :库中所调用的 pad 名称u_VDD: 实例化的电源环的名称VDD : 在相应的 PAD 中连接到 VDD还是 VSS ( Pad也有 VDD 和 VSS )

Corner pad (放在四个角的 pad )摆放的方向:Lower left corner (ll): bottomLower right corner (lr): rightUpper right corner (ur): topUpper left corner (ul): left

Page 32: 数字后端设计

Power cut: 使用 Pbreak Pad

VDD DVDD DVSS 两个端口之间内部是断 开的VSS 两个端口用 背靠背二极管连接

Pbreak 中间夹的为给模拟电路供电的 Pad ,用 Pbreak将数字 Pad 与这一部分断开对于 VSS ,正常工作时,由于数字地与模拟地间 没有压差或很微小,两个二极管的正向导通电压足够将数字电路与模拟电路 隔离,防止互相干扰;泄放电荷时, Pbreak 的 VSS 两端压差增大,二极管正向导通,无论在数字电路或模拟电路中出 现的静电都可以使整个 VSS 形成一个放电回路

ESD 静电保 护电路:

正常情况下,为左面电路供电的电 压不能使右面二极管击穿;有大电压时,右面二极管会击穿短路, 将电荷泄放到地中,保护左面电路

NO. 1 tdf 文件怎么设置?

Page 33: 数字后端设计

NO. 2 怎样手动布线?

删除一根线: route utility – delete route by name – 填入要删除的线网名称

重新添加已删除的线网(设置新的属性)定义一个 ruleRoute setup – define var route ruleRule name 可以任意命名,可以选择在每一层金属上布线的宽度等要求Route setup – set net constraintsNet name 为刚才删除的线网名称Assign 中选择 var route rule 填入刚才的 rule name

Route – detail route search & repair就可以修复原来的线网,新的线网拥有新的布线规则

Page 34: 数字后端设计

完参考资料:

高级 ASIC芯片综合 Himanshu BhatnagarAstro user guide iogp_il_csm018icEDA 工程实践 曾繁泰等著Astro教学 刘长龙师兄

Thank you for listening……