数字后端流程二Word文档下载推荐.docx

上传人:b****4 文档编号:7990020 上传时间:2023-05-09 格式:DOCX 页数:58 大小:1.04MB
下载 相关 举报
数字后端流程二Word文档下载推荐.docx_第1页
第1页 / 共58页
数字后端流程二Word文档下载推荐.docx_第2页
第2页 / 共58页
数字后端流程二Word文档下载推荐.docx_第3页
第3页 / 共58页
数字后端流程二Word文档下载推荐.docx_第4页
第4页 / 共58页
数字后端流程二Word文档下载推荐.docx_第5页
第5页 / 共58页
数字后端流程二Word文档下载推荐.docx_第6页
第6页 / 共58页
数字后端流程二Word文档下载推荐.docx_第7页
第7页 / 共58页
数字后端流程二Word文档下载推荐.docx_第8页
第8页 / 共58页
数字后端流程二Word文档下载推荐.docx_第9页
第9页 / 共58页
数字后端流程二Word文档下载推荐.docx_第10页
第10页 / 共58页
数字后端流程二Word文档下载推荐.docx_第11页
第11页 / 共58页
数字后端流程二Word文档下载推荐.docx_第12页
第12页 / 共58页
数字后端流程二Word文档下载推荐.docx_第13页
第13页 / 共58页
数字后端流程二Word文档下载推荐.docx_第14页
第14页 / 共58页
数字后端流程二Word文档下载推荐.docx_第15页
第15页 / 共58页
数字后端流程二Word文档下载推荐.docx_第16页
第16页 / 共58页
数字后端流程二Word文档下载推荐.docx_第17页
第17页 / 共58页
数字后端流程二Word文档下载推荐.docx_第18页
第18页 / 共58页
数字后端流程二Word文档下载推荐.docx_第19页
第19页 / 共58页
数字后端流程二Word文档下载推荐.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数字后端流程二Word文档下载推荐.docx

《数字后端流程二Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数字后端流程二Word文档下载推荐.docx(58页珍藏版)》请在冰点文库上搜索。

数字后端流程二Word文档下载推荐.docx

VIA23"

VIA34"

VIA45"

VIA56"

dbAddAntennaLayerRule_libId4"

METAL1"

400'

(0.2030400.002200)dbAddAntennaLayerRule_libId4"

METAL2"

METAL3"

METAL4"

METAL5"

METAL6"

(0.20308000.0030000)

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)("

invertRise"

0)))(dbDefineSyncPin(geGetEditCell)instName'

SN"

0)))

;

(dbDefineSyncPin(geGetEditCell)instName'

SE"

CLK"

selectedlist

tdf文件定义相关的PAD或者是PIN的位置信息,坐标描述方法基本一致设计中根据实际的需要略有不同如

下:

tdfPurgePadConstr

define

step1

5

offset

50

off

pin"

clk"

3900

"

right"

(set!

offset(+step1offset))

rstn"

scan_mode"

mic_fm_sel"

3900"

0(set!

在Astro布局布线时需要根据DC综合时设置生成的时序约束文件对相关cel(l

standardcell)进行布局优化,

通常在Place设置时考虑congestion和time因素,通常考虑关键性的时序路径,满足设计的时序约束条件,而对于非关键路径的cell可以放置的远离些,增加延时,如果将非关键路径的cell布局在关键时序路径布局区域就会对其产生影响,使其布线拥塞增加布线难度。

而对于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(<

file>

.sdc)"

filename=ADPCM_Encoder

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

%s/set_isolate_ports/#set_isolate_ports/g"

%s/set_clock_latency/#set_clock_latency/g"

%s/set_clock_uncertainty/#set_clock_uncertainty/g"

>

w!

$(filename).vimrcvim-e-s$(filename).sdc<

rm$(filename).vimrc

Astro布局布线主要流程

*******************************************************************************************

pnr1.scmCTS之前布局布线以及优化设置

【1】设置db库总线名称属性类型

dbSetLibBusNameStyle“lib/silterra18”“[%d]”

【2】导入相关db文件到工艺库文件

1.ChooseTools>

DataPrep2.ChooseCellLibrary>

LibraryPreparation3.ClickthePrepareLogicalLibrarybutton4.ClicktheLIB/DBbutton

gePrepLibs

setFormField"

LibraryPreparation"

LibraryName"

lib/silterra18"

formButton"

importLMDB"

formButton"

selectDB"

MinDBToImport"

../dc/lib_syn/db/slow.db"

setFormField"

MaxDBToImport"

../dc/lib_syn/db/fast.db"

formOK"

【3】根据设计层次导入库技术文件*.tf

TechFile>

Replace

cmReplaceTech

ReplaceTechnologyFile"

TechnologyFileName"

tf/silterra18_6lm.tf"

【4】读入DC综合的网表根据设计约束对照LIB库进行cell的映射,此类映射方法有2种。

老系统:

创建项目Lib--Æ

获取RefLib--Æ

读入网表--Æ

展开网表--Æ

打开Lib创建项目Cell--Æ

将网表绑定到Cell

新系统:

直接读入网表创建Cell后打开该Cell将上述旧系统的几个步骤合成一个完成

老系统

ILibrary>

create

cmCreateLib

CreateLibrary"

ADPCM_Encoder"

IILibrary>

addRef

cmRefLib

RefLibrary"

RefLibraryName"

IIINetlistin>

VerilogIn

auVerilogIn

VerilogInDataFile"

VerilogFileName"

in/ADPCM_Encoder.sv"

NetNamefor1'

b0"

VSS"

b1"

VDD"

IVNetlistin>

Expand

cmCmdExpand

ExpandNetlist"

UnexpandedCellName"

ADPCM_Encoder.NETL"

ExpandedCellName"

ADPCM_Encoder.EXP"

VLibrary>

Open

geOpenLib

OpenLibrary"

OpenLibrary

VICell>

Create

geCreateCell

CreateCell"

CellName"

ADPCM_Encoder_cel"

VIIDesignSetup>

BindNetlist

axgBindNetlist

BindNetlist"

NetCell"

新系统

IINetlistin>

auVerilogToCellauVerilogToCell

VerilogToCell"

OutputCellName"

TopModuleName"

TechFileName"

SetCaseSensitive"

1"

OpenLibraryandCellWhenDone"

0"

refLibOptions"

ReferenceLibrary"

add"

formOK"

在导入TDF文件之间可以设置一些我们综合所不使用的cell,这些cell可能在功耗逻辑功能上等方面不符合设计所要求,所以要提示astro不会综合优化时使用这些cell命令如下:

astSetDontUse"

*.*"

#t

例如

astSetDontUse"

SDN_BUFTS_*"

#tastSetDontUse"

SDN_BUSH_*"

#tastSetDontUse"

SDN_DEL_*"

【5】导入编辑好的Pinlocation文件(*.tdf)

DesignSetup>

LoadTDF或者Timing>

LoadTDF

AxgLoadTDF

LoadTDFFile"

TDFFileName"

cons/ADPCM_Encoder.tdf"

TDF中特别注意出PIN层数,一般考虑不要与电源环同层,电源环一般设置METAL1和METAL2,那么横向处PIN最好就设置成METAL2纵向出PIN设置成METAL3,查看*.tf文件得到METAL2和METAL3的层数,不同工艺电源环设置可能有所不同视具体情况而定

【6】设计大范围的布局包括定义设计Core的尺寸,绕线金属层次等

Core面积设置有几种方式一般设置高和宽以及Row在整个Core中所占比重,所有的cell必放置在row上按一定的规格排放,因此如果Row/Core的比重越大说明整个Core中用来放Cell部分越多,用来绕线的部分比重小,一般同层只能在2个row相隔空间进行绕线或者其它层走线,而DoubleBack、StartFirstRow和FlipFirstRow只是Row排放的设置选项,这个在help文件中有详细说明,MaxMetalRoutingLayer是指最大的金属走线层,一般在数字部分会用四层走线,如果是六层工艺,余下的两层会留给版图走线使用。

DesignSetup>

SetUpFloorPlan

axgPlanner

FloorPlanning"

ControlParameter"

width&

height"

Row/CoreRatio"

CoreWidth"

350"

CoreHeight"

DoubleBack"

Startfromfirstrow"

Flipfirstrow"

CoreToTop"

25"

CoreToRight"

CoreToLeft"

CoreToBottom"

MaxMetalRoutingLayer"

4"

【7】将网表中映射元件的电源和地标识为VDD/VSS,并且对1’b1和1’b0也处理为VSS和VDDPreRoute>

ConnectPortToP/G

m

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2