数字后端流程二教材.docx
- 文档编号:719655
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:49
- 大小:816.35KB
数字后端流程二教材.docx
《数字后端流程二教材.docx》由会员分享,可在线阅读,更多相关《数字后端流程二教材.docx(49页珍藏版)》请在冰豆网上搜索。
数字后端流程二教材
Astro笔记Yuzh2009-11-13
Astro是数字后端的布局布线的重要工具,还数字后端设计中,关于Astro的设计主要由以下几部分组成:
【1】新建一个pnr文件夹,在其子目录下创建clfconsinlogliboutrptscripttf以及一个
makefile文件
【2】clf文件夹中主要存放工艺延时功耗负载等相关文件以便导入主要可以有以下几个部分:
antenna_*lm.clf*.clf.logic*.clf.power*.clf.time可以由Foundry提供的工艺库文件中拷贝
【3】cons文件夹中主要存放MacroPADLocationa文件PinLocation文件,dbdefine文件以及antennarules文件以便导入设计中使用
【4】in文件夹中主要存放有DC综合后生成的综合网表*.sv文件时序约束文件*.sdc以及*.sdf文件,但是需要对sdc文件进行相关修改后才能作为Astro布局布线的时序约束参考因此需要有一个Makefile文件对其内容进行修改
【5】lib文件夹中存放有standardcell的工艺库文件(如silterra18)Foundry工艺库中拷贝
【6】tf文件夹中存放有设计工艺库的技术文件(如silterra18_*lm.tf)Foundry工艺库中拷贝
【7】script为了布局布线修改方便常会将运行的Astro命令导出到相应的脚本文件中,CTS前布局一次为一个脚本,CTS后优化布局为一个脚本,最后布线以及check为一个脚本,存放在script文件夹中分别命名为pnr_1.scmpnr_2.scmpnr_3.scm
【8】其余的文件夹分别存放输出的报告和网表以及gds文件,其中log文件夹中为Astro运行报告,rpt中为
AstroCTSclockskew分析报告,out中为gds文件和布局布线后网表,以及WireRC参数提取文件
*spef
Antenna_rules文件是截取Antenna_rules_*lm.clf文件的一部分一般只截取dbAddAntennaLayerRule的定义设计中如下截取:
define_libId(dbGetCurrentLibId)
dbDefineAntennaRule_libId4200
dbAddAntennaLayerRule
_libId4"VIA12"
20'(0.2030
83.33
75)
dbAddAntennaLayerRule
_libId4"VIA23"
20'(0.2030
83.33
75)
dbAddAntennaLayerRule
_libId4"VIA34"
20'(0.2030
83.33
75)
dbAddAntennaLayerRule
_libId4"VIA45"
20'(0.2030
83.33
75)
dbAddAntennaLayerRule
_libId4"VIA56"
20'(0.2030
83.33
75)
dbAddAntennaLayerRule_libId4"METAL1"400'(0.2030400.002200)dbAddAntennaLayerRule_libId4"METAL2"400'(0.2030400.002200)dbAddAntennaLayerRule_libId4"METAL3"400'(0.2030400.002200)dbAddAntennaLayerRule_libId4"METAL4"400'(0.2030400.002200)dbAddAntennaLayerRule_libId4"METAL5"400'(0.2030400.002200)dbAddAntennaLayerRule_libId4"METAL6"400'(0.20308000.0030000)
Astro笔记Yuzh2009-11-13
dbDefine文件是为了Astro做时钟树综合优化时作准备的,在CTS之前需调用该文件,Astro做时钟树时只对它
默认的DFF的时钟管脚做相关处理一般是定义了clock但我们设计需要对一些多扇出的复位信号scan链信号做处理就需要专门声明下这也是时钟树需要处理的信号,就在dbDefine做这样的声明,一般有同步复位、异步复位、scan_enable以及宏单元的clk信号,异步复位最常用需要做scan链才定义SE,有Memory时才定义clk,具体设置如下:
(let*(
(selectedlist(geGetSelectedSet(getEditWindow)))
)
(for-each(lambda(x)(let*(
(instName(dbFetchObjectField(geGetEditCell)x"name"))
)
(dbDefineSyncPin(geGetEditCell)instName'(("RN""nonInvertRise"0)("RN""invertRise"0)))(dbDefineSyncPin(geGetEditCell)instName'(("SN""nonInvertRise"0)("SN""invertRise"0)))
;;(dbDefineSyncPin(geGetEditCell)instName'(("SE""nonInvertRise"0)("SE""invertRise"0)))
;;(dbDefineSyncPin(geGetEditCell)instName'(("CLK""nonInvertRise"0)("CLK""invertRise"0)))
)
)
selectedlist
)
)
tdf文件定义相关的PAD或者是PIN的位置信息,坐标描述方法基本一致设计中根据实际的需要略有不同如
下:
tdfPurgePadConstr
define
step1
5
define
offset
50
define
off
0
pin"clk"
3900
"right"
0
(set!
offset(+step1offset))
pin"rstn"
3900
"right"
0
(set!
offset(+step1offset))
pin"scan_mode"
3900
"right"
0
(set!
offset(+step1offset))
pin"mic_fm_sel"3900"right"0(set!
offset(+step1offset))
在Astro布局布线时需要根据DC综合时设置生成的时序约束文件对相关cel(l
standardcell)进行布局优化,
通常在Place设置时考虑congestion和time因素,通常考虑关键性的时序路径,满足设计的时序约束条件,而对于非关键路径的cell可以放置的远离些,增加延时,如果将非关键路径的cell布局在关键时序路径布局区域就会对其产生影响,使其布线拥塞增加布线难度。
Astro笔记Yuzh2009-11-13
而对于DC生成的时序约束文件并不是直接就是导入使用,DC中估算连线延时采用wire_load_model的方
法估算,但在Astro中我们实际对cell进行布线直接提取wire连线的RC信息计算netdelay更为精确接近实际设计,同时对各个时钟的uncertainty的定义也不需要了,CTS后各个时钟负载和延时可以达到最佳平衡uncertainty只由jitter引起,虽然还是会存在skew(几乎可以忽略),latency主要有2部分组成source_latency和network_latency一般设计只考虑network_latency,Astro不需要设置network_latency,CTS后各个DFF的network_latency的基本平衡了。
具体脚本如下:
#!
/bin/bash
#echo"Enterthefilename(
run:
#read$(filename)
cp$(filename).sdc$(filename).sdc.bak
echo":
%s/set_wire_load_model/#set_wire_load_model/g">$(filename).vimrcecho":
%s/-dont_scale//g">>$(filename).vimrc
echo":
%s/set_isolate_ports/#set_isolate_ports/g">>$(filename).vimrcecho":
%s/set_clock_latency/#set_clock_latency/g">>$(filename).vimrc
echo":
%s/set_clock_uncertainty/#set_clock_uncertainty/g">>$(filename).vimrcecho":
w!
">>$(filename).vimrcvim-e-s$(filename).sdc<$(filename).vimrc
rm$(filename).vimrc
Astro笔记Yuzh2009-11-13
Astro布局布线主要流程
*******************************************************************************************
pnr1.scmCTS之前布局布线以及优化设置
*******************************************************************************************
【1】设置db库总线名称属性类型
dbSetLibBusNameStyle“lib/silterra18”“[%d]”
【2】导入相关db文件到工艺库文件
1.ChooseTools>DataPrep2.ChooseCellLibrary>LibraryPreparation3.ClickthePrepareLogicalLibrarybutton4.ClicktheLIB/DBbutton
gePrepLibs
setFormField"LibraryPreparation"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 后端 流程 教材