Transcript Document

DFT软件TetraMAX及
自动布局布线软件Astro
2014年12月30日
主要内容


测试矢量生成工具--TetraMAX
自动布局布线工具--Astro
2015/4/13
共111页
2
TetraMAX



Synopsys公司的目前被认为业界功能最强、
最易于使用的自动测试矢量生成工具
支持全扫描、部分扫描设计,同时提供故障仿
真和分析
支持多种测试方法,包括多时钟电路、门控时
钟电路、内部三态总线、内嵌存储器等
2015/4/13
共111页
3
两种工具文件交接
2015/4/13
共111页
4
启动命令
source /opt/demo/synopsys.env
tmax &
2015/4/13
共111页
5
TetraMax GUI
menu bar
quick access
buttons
command
tool bar
transcript
window
command line
window
Status bar
2015/4/13
共111页
6
操作方式


图形界面操作
输入命令
2015/4/13
共111页
7
帮助命令--help
2015/4/13
共111页
8
停止进程

CTRL-C OR CTRL-Break.
stop
2015/4/13
共111页
9
ATPG 基本流程
Netlist
Preprocess
netlist
Models
Run ATPG
Read netlist
Review test coverage
Read library models
STIL test
protocol
file
2015/4/13
Build the model
Return ATPG
Perform test design
rule checking(DRC)
Save test patterns
Prepare to run ATPG
DONE
共111页
主要步骤:
1.读入设计网表
2.读入模型库
3.构造ATPG模型
4.DRC检查
5.准备运行ATPG
6.运行ATPG
7.查看报告
8.保存测试矢量
10
1.Read Netlist(1/2)





TetraMAX支持Verilog,VHDL,EDIF三种格式的网表
支持扁平化 (Flat)或层次化(Hierarchical)网表
可以是单个文件也可以是多个文件
能自动检测压缩后的网表文件
重复读入某个模块的网表时,以最后一次读入的为准。
2015/4/13
共111页
11
1.Read Netlist(2/2)


使用图形界面“NETLIST”命令按钮或者使用read_netlist
命令
BUILD-T > read_netlist mydesign.v
支持通配符“*”或者“?”
BUILD > read_netlist design/*/??design*.v
2015/4/13
共111页
12
2.Read Library Models


读入设计使用到的库的Verilog模型
与读入网表文件一样,可以使用图形界面“NETLIST”命
令按钮或者使用read_netlist命令
BUILD-T > read_netlist smic/smic_40.v
2015/4/13
共111页
13
3.Build Model


移除设计的层次,在内存中构建用于ATPG算法的顶层模块
使用图形界面或者命令的方式
BUILD-T> run_build_model top_module_name
2015/4/13
共111页
14
4.Perform Test DRC



DRC 主要检查以下错误:
1.扫描链输入输出是否逻辑连接
2.连接到扫描触发器的时钟和异步set/reset引脚是否由原
始输入端口唯一控制
3.当从正常工作模式切换到扫描模式以及再次切换回正常
模式时,clock/set/reset是否为off状态
4.内部多驱动的nets是否存在竞争
需要提供TetraMAX有关时钟端口,扫描链以及其他控制
信息,来完成DRC检查。这些都在STIL test protocol
file(.SPF)中给出,SPF 文件由DFT Compiler生成。
图形界面或者命令的方式
BUILD-T> run_drc filename.spf
2015/4/13
共111页
15
5. Prepare to Run ATPG




初始化故障列表
TEST-T> add_faults –all
选择测试矢量源
默认生成新的内部矢量,也可使用外部矢量(图形界
面或set_patterns命令)
设置总线竞争的检查
去掉可能引起竞争的矢量,额外生成避免竞争的矢量
ATPG努力等级、故障覆盖率等其他ATPG相关设置
2015/4/13
共111页
16
6.Run ATPG

图形界面或者命令: TEST-T> run_atpg -auto
2015/4/13
共111页
17
7.Review Results(1/3)


执行report_summaries命令或report_faults –summary
命令
查看故障覆盖率情况和测试矢量的数量
2015/4/13
共111页
18
7.Review Results(2/3)






Fault Collapsing(故障压缩)
以简单的BUFFER为例:
故障{A SA0,Z SA0},{A SA1,Z SA1}等效。
因此仅需要Z SA0,Z SA1或者A SA0,A SA1在故障列表中。
压缩后(collapsed)的故障列表中故障数比未压缩的
(uncollapsed)的故障列表中故障数少。
可以分别查看这两种故障列表(默认报告未压缩故障列表)。
2015/4/13
共111页
19
7.Review Results(3/3)

故障覆盖率(Fault Coverage)vs测试覆盖率(Test Coverage)
2015/4/13
共111页
20
8.Saving Patterns
 Saving patterns
presents many choices:
 STIL, Verilog, WGL,VHDL, or
proprietary Binary outputs
 Compression choices: none,
GZIP, or proprietary
 all or a selected range of
patterns
 ATPG patterns, Chain Test
Patterns, Setup, or combo’s
2015/4/13
共111页
21
TetraMax 脚本-- 1.Read Netlist

read_netlist ../syn/netlist/top_pad.sv
2015/4/13
共111页
22
TetraMax 脚本-- 2.Read Library
Model




read_netlist -library
/home/smic/smic_40/SCC40NLL_HS_RVT_V0p1a/veri
log/SCC40NLL_HS_RVT_NEG_V0p1.v
read_netlist -library
/home/smic/smic_40/SP40NLLD2RN_3P3V_V0p2/veri
log/SP40NLLD2RP_TEMP_V0p0.v
report_modules -summary
report_modules -error
2015/4/13
共111页
23
TetraMax 脚本-- 3.Build Model



run_build_model top_pad
report_summaries primitives
report_rules -fail
2015/4/13
共111页
24
TetraMax 脚本--4.Perform DRC
Check






run_drc ../syn/netlist/top_pad.spf
report_rules -fail
report_nonscan cells -summary
report_bus -summary
report_feedback paths –summary
report_scan_chains
2015/4/13
共111页
25
TetraMax 脚本-- 5.Prepare ATPG


set_faults -fault_coverage -model stuck summary verbose
add_faults -all
2015/4/13
共111页
26
TetraMax 脚本-- 6. ATPG

run_atpg -auto
2015/4/13
共111页
27
TetraMax 脚本-- 7.Review Results

report_summaries
2015/4/13
共111页
28
TetraMax 脚本--8.Saving Patterns


write_faults ./tmax/pattern/top_pad.au -class au
-replace
write_patterns ./tmax/pattern/top_pad_comp.stil
-format stil -noexpand_vector -replace
2015/4/13
共111页
29
自动布局布线软件
2015/4/13
共111页
30
IC典型流程
数字VLSI 流程
模拟IC 流程
功能要求
功能要求
Matlab
Modelsim
Questasim
Maxplus II
Design Compiler
Astro
(IC Compiler)
系统建模
半定制?全定制
行为设计
Verilog
/VHDL)
(
不满足
行为仿真
不满足
电路仿真
Spectre
满足
满足
综合、优化
网表
手工设计
版图
不满足
时序仿真
满足
Virtuoso,
不满足
Laker
后仿真
版图自动
布局、布线
满足
不满足
Encounter
Matlab
系统建模
后仿真
满足
Calibre
流片、封装、测试
参数提取
流片、封装、测试
2015/4/13
共111页
31
自动布局布线基本概念

版图,GDS,(Graphic Data System),用
来控制集成电路光掩膜绘制 。

自动布局+自动布线=画完版图
2015/4/13
共111页
32
2015/4/13
共111页
33
自动布局布线工具介绍
Astro是Synopsys的自动布局布线软件,其前
身是Avanti公司(2002年被Synopsys公司收购)
的Apollo。2007年以后软件名称改为IC Compiler
(ICC) 。
SOC Encounter 是Cadence的自动布局布线工具。
2015/4/13
共111页
34
两个工具比较




工艺库格式不同,Astro需要二进制db格式,
Encounter需要ASCII形式的.lef文件
Astro一个进程可以打开多个cell,命令行不占用
Terminal,而Encounter一个进程只能
打开一个cell,命令行占用Terminal。
Astro能读入GDS,支持CEL view,Encounter
不支持读入GDS。
Astro没有提供Calibre的接口,不能读入Calibre
DRC的结果,Encounter可以直接读入Calibre的
运行结果
2015/4/13
共111页
35
Astro基本介绍
Astro是由门级网表生成布局布线后版图的软件。
使用标准单元库、IO库及宏单元库。最终的版图需
要满足时序、面积等设计指标。
2015/4/13
共111页
36
标准单元库




A Standard Cell is a predesigned
layout of one specific basic logic gate
Each cell usually has the same
standard height
A Standard Cell Library contains a
varied collection of standard cells
Libraries are usually supplied by an
ASIC vendor or library group
Layout View
2-Input NAND Gate
2015/4/13
共111页
37
Astro自动布局布线流程
参考库
时序约束文件
IO管脚排列文件
工艺文件
门级网表
数据输入
布局规划
布线
布局
静态时序分析,后仿真
时钟树综合
DRC、LVS
流片
2015/4/13
共111页
38
数据输入



工艺库文件--是Foundry或IP提供商提供的各
种库(标准单元库、IO库、SRAM库和IP库)
和工艺文件--网站下载
设计文件--网表文件(DC综合得到)和时序约
束文件(SDC格式,DC综合得到)
管脚排列文件(TDF格式)--手动编写
2015/4/13
共111页
39
IO管脚排列文件


IO顺序
插入一些特殊的IO单元:



2015/4/13
IO电源
IO地
Corner
共111页
40
芯片整体布局

通常情况下,一个芯片由Core Area和Pad Area组成
2015/4/13
共111页
41
PAD Area的组成
1、Input/Output/InOut pads
如右图中Reset
2、Power pads and conner pads
右图上右上角那个CornerUR为一个corner pads
Conner pads 的作用是连接其两边的Pads(连接衬底以及
衬底以上的各个层)
VDD VSS为Power pads ,对外连接供电的封装引脚,
对芯片则起到供电的作用,Power pads 可以分为对core 供
电的pads 和对IO pads 供电的pads ,所有的Pad都是由晶
体管以及各层金属构成的,Pad 也是一个cell
3、Pads fillers
连接两个两邻的pads(从衬底到各层金属的相连)
4、P/G rings
所有信号pads、电源/地pads、fillers、corners都是有电源
地的引脚的,用金属线把这些引脚相连,形成pad area上的一
个环,称为P/G rings,如果所有的pads都是无缝排列的,那么
pads上的自身的金属已经相互连接成了P/G ring。
2015/4/13
共111页
42
IO管脚排列
top
top
left
四个conner位
于芯片的四个角,
起到连接四边IO
pad 的作用。
right
bottom
bottom
left
2015/4/13
right
共111页
43
IO管脚排列文件--tdf
























;1.1V digital core power/ground
注意空格
insertPad "VDD" "PVDD1RN" "VDD" "VDD"
insertPad "VSS" "PVSS1RN" "VSS" "VSS"
;3.3V digital IO power/ground
dbCreateCellInst (geGetEditCell) "" "PVDD2RN" "VDD_IO" "0" "No" '(0 0) “fsk_0323"
dbCreateCellInst (geGetEditCell) "" "PVSS2RN" "VSS_IO" "0" "No" '(0 0) “fsk_0323"
;Corner cell
dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER1" "0" "No" '(0 0) " fsk_0323 "
dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER2" "0" "No" '(0 0) " fsk_0323 "
dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER3" "0" "No" '(0 0) " fsk_0323 "
dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER4" "0" "No" '(0 0) " fsk_0323 "
tdfPurgePadConstr
pad "CORNER1" "Bottom"
insertPad 使用方法:
pad "CORNER2" "Right"
insertPad netName padCellName padName connectPin
pad "CORNER3" "Top"
pad "CORNER4" "Left"
dbCreateCellInst 使用方法:
pad "VDD_IO" "left" 1
pad "VSS_IO" "left" 2
dbCreateCellInst cellId childLibName chlidCellName
pad "data_in_block" "top" 1
pad "fsk_out_block" "top" 2 chilidInstName rotationStr mirrorStr Points topCellName
pad "VDD" "right" 1
pad "VSS" "right" 2
pad "clk_block" "bottom" 2
pad "en_block" "bottom" 1
2015/4/13
共111页
44
工具启动




创建软件启动目录 mkdir astro
进入软件启动目录 cd astro
source /opt/demo/synopsys.env
astro_shell &
2015/4/13
共111页
45
工具界面
命令输入
2015/4/13
例如:help “insertPad” 查看insertPad 命令使用方法
共111页
46
创建设计库
Technology File:
/home/smic/smic_40/SCC40NLL_HS_RVT_V0p1a/astro/tf/scc40nll_hs_7l
m_1tm.tf
2015/4/13
共111页
47
打开设计库
2015/4/13
共111页
48
设计文件导入1/3
任意名
2015/4/13
共111页
49
设计文件导入2/3
设置
电源线VDD
地线VSS

2015/4/13
共111页
50
设计文件导入3/3
/home/smic/smic_40/SCC40NLL_HS_RVT_V0p1a/astro/SCC40NLL_HS_RVT_V0p1
/home/smic/smic_40/SP40NLLD2RN_3P3V_V0p2/apollo/SP40NLLD2RN_3P3V_V0p
1_7MT_1TM/



添加两个参考库
标准单元库
IO库
2015/4/13
共111页
51
打开设计单元(Cell)
2015/4/13
共111页
52
Astro自动布局布线流程
参考库
时序约束文件
IO管脚排列文件
工艺文件
门级网表
数据输入
布局规划
布线
布局
静态时序分析,后仿真
时钟树综合
DRC、LVS
流片
2015/4/13
共111页
53
布局规划





确定芯片的尺寸
模块的位置
标准单元的排列形式
IO单元及宏单元的位置放置
电源和地线的分布
2015/4/13
共111页
54
布局规划--流程
整体规划
1.装载IO管脚排列文件
2.芯片面积、标准单元布局方式的选择
3.宏单元放置
电源/地线规划
1.将标准单元、IO单元和宏单元的电源、地
端口与电源线、地线相连
2.在核(Core)和IO单元之间加入电源/地环
(ring)
3.加Strap
4.将芯片的ring连接到电源/地IO的电源、地
端口
加Pad Filler
加布局障碍
2015/4/13
共111页
55
整体规划—装载IO管脚排列文件
2015/4/13
共111页
56
整体规划—标准单元布局

芯片面积受两方面因素决定:


pad限制的设计 (Pad Limited Design), IO数量
较多。
core限制的设计(Core Limited Design),标准单
元和宏单元(SRAM和IP)的数量较多。
Pad Limited
2015/4/13
Core Limited
共111页
Stagger方式
57
整体规划—标准单元布局
在设计窗口中选择
Design Setup->setup floorplan
2015/4/13
共111页
58
整体规划—标准单元布局
 核利用率(Core Utilization)是指所有标准单元和宏单元的面积与
核面积的百分比,该值的大小决定了芯片的面积。
 “Row/Core Ratio”选择1,表示采用无布线通道的方式。由于当前
主流工艺下金属层次数目较多,通常不需要额外的布线通道。
 “Core Aspect Ratio(H/W)”确定芯片的形状。值为1时表示芯片的
形状为正方形,值大于1时表示芯片的高度大于芯片的长度。
 选择“Horizontal Row”、“Double Back”、“Start First Row”和
“Flip First Row”四个选项。表示Row为水平方向而且从第一行开始
Row是翻转且背靠背的,目的是便于相邻两行的标准单元的电源线和
地线进行共享以减小芯片面积。
 “Core To Left”、“Core To Right”、“Core To Top”、“Core
To Bottom”设置的是Core区域和IO单元区域在四个方向的间距。设
置这个间距是用来进行电源环和地环的放置,间距的大小由电源环和
地环的宽度决定。
2015/4/13
共111页
59
整体规划—标准单元布局
2015/4/13
共111页
60
整体规划—标准单元布局
2015/4/13
共111页
61
IO之间的间距
取决于封装厂封
装水平

2015/4/13
共111页
62
电源地线规划

电源/地线网络分布在整个芯片,其作用:



为每一个单元提供稳定的电压
直接关系到芯片的性能
一个完整的电源/地网络的设计应考虑:


2015/4/13
电压降(lR Drop)
电迁移(EM,Electromigration)
共111页
63
电源/地线规划


将标准单元和宏单元的电源、地端口与电源线、
地线进行逻辑相连。
在设计窗口中选择Pre Route->Connect
Ports to P/G
2015/4/13
共111页
64
电源/地线规划
VDD 的net type
是 Power
VSS 的net type
是 Ground
2015/4/13
共111页
65
电源/地 环规划

在核(Core)和IO单元之间加入电源/地
环(ring),它是连接内部电源/地和电
源/地IO的纽带。电源/地环上的电流是最
大的,因此它的线宽也最大。在设计窗
口中选择PreRoute->Rectangular
2015/4/13
共111页
66
电源/地 环 与pad 连接
再连接VSS
2015/4/13
共111页
67
加Pad Filler



加Pad Filler是为了填充IO单元与IO单元之间
的间隙,使IO连在一起。在设计窗口中选择
PostPlace->Add Pad Fillers
在Filler栏填写Filler单元名称时要注意填写顺
序,要求宽度大的填在前面。
40nm 库中得pad filler 有以下几种:
PFILL20RN, PFILL10RN, PFILL5RN,
PFILL2RN, PFILL1RN, PFILL01RN,
PFILL001RN,
2015/4/13
共111页
68
创建电容查找表模型
根据工艺文件
(.tf)导出用于计算
线延时的电容查
找表TLU
2015/4/13
共111页
69
布局

布局(Placement)是确定每个标准单元位置的
过程。一个合理的布局要求:



每个标准单元都放在有效的位置上
单元间没有重叠
布局的好坏影响:




2015/4/13
芯片的面积
芯片的性能
布通率
整个后端设计的时间
共111页
70
布局流程
装载时序约束文件(Load SDC)
时序设置(Timing Setup)
布局选项设置(Set Placememt Optiom)
预布局(Pre Place)
布局(In Place)
布局后的第一次优化(Post Place)
2015/4/13
共111页
71
布局流程—装载时序约束文件

时序约束文件(top_pad.sdc是逻辑综合软件
DC产生的)主要定义了:


2015/4/13
芯片的工作时钟频率,时钟偏差+抖动
输入输出延时以及输出负载
共111页
72
布局流程—时序设置

在设计窗口中选择Timing-> Timing Setup,
在弹出的窗口中进行用于静态时序分析的选项
设置。
0.1
2015/4/13
共111页
73
布局流程—布局选项设置

在设计窗口中选择
InPlace>Placement
Common Options,
在弹出菜单的
“Optimiaztion
Mode”一栏中选择
“Congestion”和
“Timing”,表示
选用时序和拥塞共
同驱动的布局。其
他选项可以缺省。
2015/4/13
共111页
74
布局流程—预布局及时序分析

预布局阶段主要是对高扇出网线进行优化:
1.在设计窗口中选择InPlace->Auto Place,
2.在弹出窗口的“Stage”一栏选择“Pre-place”,并
点击菜单中的“Detail Options”按钮,
3.在“Pre-Place optimization”一栏中选择“Cell
Down Size”,其他选项缺省
2015/4/13
共111页
75
布局流程—预布局及时序分析
Slack 为负表示不满足,
需要再优化
2015/4/13
共111页
76
布局流程—布局及时序分析
2015/4/13
共111页
77
布局流程—布局后第一次优化
保证不能存在违反建立时间的
路径,但可以存在违反维持时
间(Hold time)的路径
2015/4/13
共111页
78
时钟树综合


时钟树综合的主要目的是减小时钟偏差。
时钟偏差是指从时钟源点(Source)到各时
钟汇点(Sink)的最大延时时间的差值。
2015/4/13
共111页
79
时钟树综合






时钟树综合:在时钟网络中插入时钟缓冲器
(buffer) 。
在布局之后布线之前,这时:
每个单元的位置确定
电源/地已预布线,
关键时序路径上的单元已被优化,
不存在建立时间上的时序违反,
2015/4/13
共111页
80
时钟树综合—时钟选项

时钟树综合前,首先要设置时钟树选项。这些
选项包括:







环境 (最好、最坏及典型)、
时钟偏差类型 (全局时钟偏差、局部时钟偏差及有
用时钟偏差)、
优化程度、
时钟定义、
时钟缓冲器及倒相器定义、
时钟树结构和时钟树优化方式以及目标的设置。
在设计窗口中选择Clock->Clock Common
Options,在窗口中进行相关选项的设置 。
2015/4/13
共111页
81
时钟树综合—时钟选项
2015/4/13
共111页
82
时钟树综合—时钟树综合
2015/4/13
共111页
83
时钟树综合—时钟偏差分析

时钟树综合
后,分析时
钟偏差、最
小插入延时
是否符合设
计要求。在
设计窗口中
选择Clock>Skew
analysis。
2015/4/13
共111页
84
时钟树综合—重新时序分析

时钟树综合之前,所有的静态时序分析都是
基于一个理想的时钟网络(时钟偏差为0)来
分析的。时钟树综合后,需要根据实际完成
的时钟树情况,即需要考虑Clock Skew后再
次进行静态时序分析,因此需要重新设置时
序选项。
(tcl “set_propagated_clock [all_clock]”)
2015/4/13
共111页
85
时钟树综合—重新时序分析
2015/4/13
共111页
86
时钟综合后的布局优化及时序分析
做到这一步,setup slack 一定要为正,
hold slack最好也为正,不过如果slack
为-0.0X也可以,等布线完再优化。
2015/4/13
共111页
87
布线

布线工具根据单元的连接关系及时序约束进行
自动布线,使关键路径上的连线尽量短。布线
包括:



时钟布线
普通信号布线
布线的四个步骤:




2015/4/13
全局布线(Global Route)
布线通道分配(Track Assignment)
详细布线(Detail Route)
布线修补(Search & Refine)
共111页
88
布线基本规则

Astro是基于网格(grid)的布线工具

Placement grid就是所谓的UnitTile,unitTile为一个row
的最小单位,standard cell就是摆放在row上面,起摆放
位置必须对其每个unitTile的边缘,因此每个standard
cell都必须是同一高度。

Routing grid
Pitch是金属宽度加上金属间最小间距。
2015/4/13
共111页
89
全局布线(Global Route)

为设计中还没有布线的连线规划出布线路径,确定其大体
位置及走向,并不做实际的连线,全局布线已经把布线路
径映射到了特定的铝线层,下图是全局布线之后的版图,
我们可以看出布线路径是没有实际宽度的线条,图中不同
的颜色代表了不同的铝线层,并给出了孔的位置
2015/4/13
共111页
90
布线通道分配(Track Assignment)

Track assignment 把每一连线分配到一定的track上,并
且对连线进行实际布线,在布线时,使长连线布的比较直
以减少通孔数,在这个阶段不做DRC设计规则检查(如
两条金属线的最小间距)。从下图看出己有实际的金属线
,jog是为了减少孔的个数。Jog是指小范围内改变布线
的方向。
2015/4/13
共111页
91
详细布线和布线修复
详细布线(Detail route)
详细布线使用全局布线和track分配过程中产生的路径进行
布线和布孔。由于track分配时只考虑尽量走长线,所以
会有很多DRC违规产生,详细布线时使用固定尺寸的
sbox来修复违规,sbox是整个版图平均划分的小格子,
小格子内部违规会被修复但小格子边界的DRC违规就修
复不了,这就需要在接下来的步骤中完成修复。
 布线修复(Search and repair)
修复在详细布线中没有完全消除的DRC违规,在此步骤中通
过尺寸逐渐加大的sbox来寻找和修复DRC违规。

2015/4/13
共111页
92
布线流程








1. 标准单元电源/地线连接
2. 装载天线效应约束文件
3.分布式布线设置
4.布线选项设置
5.布线高级选项设置
6.时钟线布线
7.普通信号线布线及时序分析
8.布线后的各项性能分析
2015/4/13
共111页
93
标准单元电源/地线连接
2015/4/13
共111页
94
装载天线效应约束文件



天线效应--在集成电路制造过程中的金属等离子刻蚀
阶段,接到器件栅极上的金属会收集电荷,如果电荷
积累到一定程度,栅极的薄氧层会被击穿,器件因此
失效 。
为了能让Astro在布线过程中避免出现天线效应,首
先要装载由Foundry提供的天线效应约束文件(.clf)。
命令为:
load “天线效应约束文件名”
有两种方法可以修复天线效应违反,一种方法是跳线
(金属线跳到上一层或者跳到下一层),另一种方法是
在栅极附近增加反偏二极管。
2015/4/13
共111页
95
分布式布线设置

随着芯片规模的增加,连线数越来越多,因此
布线是个非常费时的过程。如果存在多个CPU,
为加快布线,可以采用分布式布线的方式。在
设计窗口中选Route Setup->Distributed
Routing Setup。在弹出的窗口中选择
“Connect”选项。
2015/4/13
共111页
96
布线选项设置

设置的原则是根据设计的需要,在设计的时序、
DRC规则和CPU 的运行时间上作出平衡,因
为考虑的因素越多,CPU运行时间越长。这些
选项设置会影响以下操作:部分连线布线、全
局布线、布线通道分配、详细布线、布线修复、
区域布线、布线的优化等。在设计窗口中选
Route Setup->Route Common Options
2015/4/13
共111页
97
布线高级选项设置


这部分选项设置主要是为了避免布线时出现的天线效应。
在设计窗口中选Route Setup->HPO Signal Route Options。由
于装载了天线效应约束文件,因此在“Charge-Collecting
Antenna”一栏中选择“advanced”,同时要求选择“Honor
Top-Layer Probe Constraints”选项,其余选项缺省。
2015/4/13
共111页
98
时钟线布线


在普通信号布线前,先对部分特殊的互连线进行布线,比如时钟
信号线或关键时序路径连线,布完这些线后,先进行时序分析看
是否满足要求然后再布其它连线。
在设计窗口中选择Route->Net Route Group,选择窗口中的
“All clock nets”和“Trim antenna of user's wire”选项,其余
选项缺省。相应的脚本为:
2015/4/13
共111页
99
普通信号线布线及时序分析


在设计窗口中选Route->Auto Route,
弹出对话框中对“Search & Repair Loop”的
次数进行设置,一般设为5,若布线修复的次
数设的过多,会比较费时。
2015/4/13
共111页
100
普通信号线布线及时序分析




布线完成后要求不能存在设计规则和天线效应
的违反。查看如下日志文件即可判断是否存在
设计规则和天线效应的违反。
DRC-SUMMARY:
@@@@@@@ TOTAL VIOLATIONS =
0 (0) //表示不存在设计规则违反
@@@@ Total nets not meeting
constraints =
0 //表示不存在天线效应
违反
2015/4/13
共111页
101
布局布线完版图
修改显示层次
2015/4/13
共111页
102
布线后的各项性能分析

布线完成后需要进行各项性能分析,包括:
1.静态时序分析--要求时序上(建立时间、维
持时间、最大跳变时间和最大负载电容)不能
有任何违反。
2.串扰分析--深亚微米工艺下,连线间的耦合
电容在不断增加,而设计的时序要求却不断提
高,因此串扰问题将变得越来越严重。
3.功耗、压降和电迁移分析
2015/4/13
共111页
103
版图验证
1.设计规则检查(DRC)
Astro内嵌有设计规则检查工具,但这只是门级的设
计规则检查,版图数据并不完整,因此检查结果并
不准确。
2.版图与原理图的一致性验证(LVS)
将从版图中提取的电路网表和设计的网表进行比较,
确保两者一致。同样这只是门级的LVS检查。在设
计窗口中选Verify-> LVS。要求不能存在短路、开路
的违反。
2015/4/13
共111页
104
LVS报告
2015/4/13
共111页
105
LVS错误查看
有错误,就
需要查看错
误类型
2015/4/13
共111页
106
LVS错误查看
2015/4/13
共111页
107
数据输出 --.SDF文件
输出用于反标的延时文件
(后仿真用)

2015/4/13
共111页
108
数据输出--.sv网表文件

输出Verilog网表文件(后仿真用和LVS用)
2015/4/13
共111页
109
数据输出--.gds文件

输出GDS文件(Calibre 做DRC)
2015/4/13
共111页
110
作业




利用TetraMAX生成数字FSK电路的测试矢量
集;
在smic 40nm工艺下,利用Astro完成FSK电
路的版图(可以不考虑可测性设计);
报告出芯片时序和面积;
导出后仿网表文件(.sv)、延迟文件(.sdf)及
版图文件(.gds)。
2015/4/13
共111页
111