910 likes | 1.54k Views
DFT 软件 TetraMAX 及 自动布局布线软件 Astro. 2013 年 12 月 24 日. 主要内容. 测试矢量生成工具 --TetraMAX 自动布局布线工具 --Astro. 回顾: DFT ?. 什么是 DFT ? DFT 的步骤?. TetraMAX. Synopsys 公司的目前被认为业界功能最强、最易于使用的自动测试矢量生成工具 支持全扫描、部分扫描设计,同时提供故障仿真和分析 支持多种测试方法,包括多时钟电路、门控时钟电路、内部三态总线、内嵌存储器等. 两种工具文件交接. 启动命令.
E N D
DFT软件TetraMAX及 自动布局布线软件Astro 2013年12月24日
主要内容 • 测试矢量生成工具--TetraMAX • 自动布局布线工具--Astro 共90页
回顾:DFT? 什么是DFT? DFT的步骤? 共90页
TetraMAX • Synopsys公司的目前被认为业界功能最强、最易于使用的自动测试矢量生成工具 • 支持全扫描、部分扫描设计,同时提供故障仿真和分析 • 支持多种测试方法,包括多时钟电路、门控时钟电路、内部三态总线、内嵌存储器等 共90页
两种工具文件交接 共90页
启动命令 source /opt/demo/synopsys.env tmax & 共90页
TetraMax GUI 共90页
操作方式 图形界面操作 输入命令 共90页
帮助命令--help 共90页
停止进程 CTRL-C OR CTRL-Break. 共90页
1.Read Design(1/2) 共90页
1.Read Design(2/2) 共90页
2.Build Model 共90页
3.Perform DRC Check • 执行 run drc XXX.spf 命令。 • DRC 主要检查以下错误: 1.扫描链输入输出是否逻辑连接 2.是否时钟和异步set/reset脚与扫描链翻转的连接由唯一的输入端口控制 3.是否当从正常模式切换到扫描变换模式时,/set/reset是off状态 TetraMAX完成这些DRC检查,你应该提供以下信息: 时钟端口,扫描链以及其他控制信息,这些都在STILtest protocol file(.SPF)中给出。SPF 文件由DFTCompiler 产生。 共90页
4. ATPG (1/2) 共90页
4. ATPG (2/2) 共90页
5.Review Results 共90页
6.Saving Patterns 共90页
TetraMax 脚本-- 1.Read Design • read_netlist ../syn/netlist/top_pad.sv • read_netlist -library /home/smic/smic_40/SCC40NLL_HS_RVT_V0p1a/verilog/SCC40NLL_HS_RVT_NEG_V0p1.v • read_netlist -library /home/smic/smic_40/SP40NLLD2RN_3P3V_V0p2/verilog/SP40NLLD2RP_TEMP_V0p0.v • report_modules -summary • report_modules -error 共90页
TetraMax 脚本-- 2.Build Model • run_build_model top_pad • report_summaries primitives • report_rules -fail 共90页
TetraMax 脚本 --3.Perform DRC Check • run_drc ../syn/netlist/balise_pad.spf • report_rules -fail • report_nonscan cells -summary • report_bus -summary • report _feedback paths –summary • report _scan_chains 共90页
TetraMax 脚本-- 4.ATPG • set_faults -fault_coverage -model stuck -summary verbose • add_faults -all • run_atpg -auto 共90页
TetraMax 脚本-- 5.Review Results • report_summaries 共90页
TetraMax 脚本--6.Saving Patterns • write_faults ./tmax/pattern/dac_parallel_pad.au -class au -replace • write_patterns ./tmax/pattern/dac_parallel_pad_ comp.stil -format stil -noexpand_vector -replace 共90页
自动布局布线软件 共90页
功能要求 功 能 要 求 系统建模 系统建模 行为设计 不满足 Verilog / VHDL ( ) 不满足 电路仿真 行为仿真 满足 满足 综合 、 优化 手工设计 网表 版图 不满足 不满足 门级仿真 满足 后仿真 版图自动 满足 布局 、 布线 流片 、 封装 、 测试 不满足 后仿真 满足 流片 、 封装 、 测试 IC典型流程 数字VLSI 流程 模拟IC 流程 Matlab Matlab Modelsim, Questasim, Muxplus II Spectre Virtuoso, laker Design Compiler Astro, Encounter Calibre 寄生参数提取 共90页
自动布局布线基本概念 • 版图,GDS,(Graphic Data System),用来控制集成电路光掩膜绘制 。 • 自动布局+自动布线=画完版图 共90页
自动布局布线工具介绍 Astro是Synopsys的自动布局布线软件,其前 身是Avanti公司(2002年被Synopsys公司收购) 的Apollo。2007年以后软件名称改为IC Compiler (ICC) 。 SOC Encounter 是Cadence的自动布局布线工具。 这两个软件的比较见此博客:http://www.cnblogs.com/chenrui/archive/2012/09/07/2676152.html 共90页
参考库 时序约束文件 IO管脚排列文件 工艺文件 门级网表 数据输入 布局规划 布线 布局 静态时序分析,后仿真 时钟综合 DRC、LVS 流片 Astro自动布局布线流程 共90页
数据输入 • 工艺库文件--是Foundry或IP提供商提供的各种库(标准单元库、IO库、SRAM库和IP库)和工艺文件--网站下载 • 设计文件—网表文件(DC综合得到)和时序约束文件(SDC格式,DC综合得到)。 • 管脚排列文件(TDF格式)--手动编写。 共90页
IO管脚排列文件 • 定义芯片的IO管脚顺序之外,还要插入一些特殊的IO单元,如各种类型的IO电源、IO地和Corner 。 1.IO一定要自动摆放吗? 2.Corner一定要放吗? 3.IO之间的间距? 共90页
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) "top0712" • dbCreateCellInst (geGetEditCell) "" "PVSS2RN" "VSS_IO" "0" "No" '(0 0) "top0712" • ;Corner cell • dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER1" "0" "No" '(0 0) "top0712" • dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER2" "0" "No" '(0 0) "top0712" • dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER3" "0" "No" '(0 0) "top0712" • dbCreateCellInst (geGetEditCell) "" "PCORNERRN" "CORNER4" "0" "No" '(0 0) "top0712" • tdfPurgePadConstr • pad "CORNER1" "Bottom" • pad "CORNER2" "Right" • pad "CORNER3" "Top" • pad "CORNER4" "Left" • pad "VDD_IO" "left" 1 • pad "VSS_IO" "left" 2 • pad "data_in_block" "top" 1 • pad "fsk_out_block" "top" 2 • pad "VDD" "right" 1 • pad "VSS" "right" 2 • pad "clk_block" "bottom" 2 • pad "en_block" "bottom" 1 insertPad 使用方法: insertPad netName padCellName padName connectPin dbCreateCellInst 使用方法: dbCreateCellInst cellId childLibName chlidCellName chilidInstName rotationStr mirrorStr Points topCellName 共90页
工具启动 • 创建软件启动目录 mkdir astro • 进入软件启动目录 cd astro • source /opt/demo/synopsys.env • astro_shell & 共90页
工具界面 命令输入 例如:help “insertPad” 查看insertPad 命令使用方法 共90页
创建设计库 Technology File: /home/smic/smic_40/SCC40NLL_HS_RVT_V0p1a/astro/tf/scc40nll_hs_7lm_1tm.tf 共90页
打开设计库 共90页
任意名 设计文件导入1/3 共90页
设计文件导入2/3 • 设置 电源线VDD 地线VSS 共90页
设计文件导入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_V0p1_7MT_1TM/ • 添加两个参考库 • 一个是标准单元 • 一个是IO 共90页
打开设计单元(Cell) 共90页
参考库 时序约束文件 IO管脚排列文件 工艺文件 门级网表 数据输入 布局规划 布线 布局 静态时序分析,后仿真 时钟综合 DRC、LVS 流片 Astro自动布局布线流程 共90页
布局规划 布局规划主要是确定芯片的尺寸、模块的位置、 标准单元的排列形式、IO单元及宏单元的位置 放置、电源和地线的分布等。 共90页
布局规划--流程 1.装载IO管脚排列文件 整体规划 2.芯片面积、标准单元布局方式的选择 3.宏单元放置 1.将标准单元、IO单元和宏单元的电源、地端口与电源线、地线相连。 电源/地线规划 2.在核(Core)和IO单元之间加入电源/地环(ring)。 3.加Strap。 4.将芯片的Ring连接到电源/地IO的电源、地端口。 加Pad Filler 加布局障碍 共90页
整体规划—装载IO管脚排列文件 共90页
整体规划—标准单元布局 • 芯片面积受两方面因素决定,一个是IO单元的个数,另一个是标准单元和宏单元(SRAM和IP)的数量。 • pad限制的设计 (pad Limited Design)。 • core限制的设计(core Limited Design)。 共90页
整体规划—标准单元布局 在设计窗口中选择 Design Setup->setup floorplan 共90页
电源地线规划 电源/地线网络分布在整个芯片,为设计的每一 个单元提供稳定的电压,它的设计的好坏直接关 系到芯片的性能。一个完整的电源/地网络的设 计应该包括电压降(lR Drop)和电迁移 (EM,Electromigration)的考虑。 共90页