后端流程整理_第1页
后端流程整理_第2页
后端流程整理_第3页
后端流程整理_第4页
后端流程整理_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

后端流程整理

目录

1。综合

2。综合后仿真

3。布局布线

4。布线后仿真

5o规则检查

6oMPW提交数据

第一部分综合[Synthesis]

综合简介

综合按照种类分可以分为逻辑综合[LogicSynthesis]和物理可知综合[PhysicalKnowledgeable

Synthesis]»逻辑综合是指根据设计者的RTLHDL[RegisterTransistorLevelHardware

DescriptionLanguage]原代码使用综合工具转换成用目标工艺库表示的门级网表。在特征尺

寸不断减小的情况下[例如点35工艺及以下],原来的逻辑综合变得愈来愈达不到设计者的

要求,因此,新的做法就是把逻辑综合的结果先去布局和布线,然后再把其结果返回给综合

工具,再一次地进行综合,这时的综合已经加入了相当一部分的物理信息,所以把这步再综

合的过程称为物理可知综合。

综合按照步骤分可以分成三步:

♦Synthesis=translation+optimization+Mapping

residue•1(*hOOOO/

if(highbits••2,bl0>

TargetTechnology

TranslationOptimization+Mapping

alwaysu/iposedgcckK'ki

iRscl_sig)

data_oulllil;

elseif(reseLsig!

data_oulPbO:

elseir(enable)

dala_ouldutajn:

(technulo<{\indepcndenOTargetnetlist

RTLHDL(iHhnohigydependentl

综合的特点:以时序路径为基础,以约束为准绳的转换过程。

[Timing-path-BasedandConstraint-Driven]

下面介绍•下综合部分的工作流程以及工具介绍

ASIC[Application-SpecificIntegratedCircuit]领域里面综合工具主要有:

Cadence公司的Ambit和新思[Synopsys]公司的DesignCompiler,这里主要介绍后者。

使用DC做证rilog设计的综合工作流程

lo文件和目录准备

文件准备:

RTL设计描述文件[VerilogHDL]

CMOS标准单元库[CSMC06_ver5]

在这里顺便介绍一下CMOS标准单元库:

CSMCCMOS06umStandardCellLibrary

[Version5.0复旦大学ASIC国家实验室开发,匕海集成电路设计与研究中心版权所有]

构成简介

CTLFCompiledTimingLibrary

containsthetiminglibraryofallthecoreandpadcells

*.tlf-textformatfile

*.ctlf■一binaryformatfile

DEF-DesignExchangeFormat

containsthedefofpowerandgroundnets

*.def・・・textformat

EXTRACTEDNET

containsSPICE[CDL]netlistofallthecoreandpadcells

GCF-一GeneralConstraintsFormat

containsthelocationofCTLFfiles

LEFLibraryExchangeFormat

containslibraryinformationfbraclassofdesigns.

LIB-StandardcoreandpadcellsdatabaselibraryforDC

containsthefunctionandtiminginformationofcellsanditssymbol.

MAP-Mappingfiles

containstheinformationfbrmatchingoflayoutlayerfromvariesdesignsystems.

SEINI--SiliconEnsembleInitializationfiles

containsthesetupofsomeenvironmentalvariablesinSiliconEnsemble

TECHFILETechnologySpecificInformationfiles

containsthefilesusedtoinitializenewlibraryinICFB.

VERILOGVerilogdescriptionofallthecoreandpadcells

VITALVHDLdescriptionofallthecoreandpadcells

工作目录准备

2.启动DC

启动DC一般有三种方式:

图形界面:

xterm-1□1x|

SunMicrosystemsInc.SunOS5.8GenericPatchOctober2001

server^pwd

/training/tr03

server^Is

CDS♦logfilenamesJogpanicjog

DRE工DS.logFind.txtsynopsys.cache.1999.10

_z8051.finaLversionfminitview_command4log

ac_shell4cmd91a8051yaodao

ac.shelljoglibManagerJogzhu51

cdsjibmjg8051

command.lognsmail

server^cd-z8051_fina1_version

server^Is

checkcsmcOGlibmpw_docplace_routertlsynthesis

server^cdsynthesis

server^Id

server^Is

Synthesis.readmereadmesynopsys_dc.l♦setup

command♦logreportssynopsys_dc_2♦setup

dc_setup_filescriptsmandjog

outputsource.codes

server^da&|

按回车键,

xterm,|D|x|

server^da&

Cl]16995

server2

DesignAnalyzer<TM>

BehavioralCompiler(TM)

DCProfessional<TM)

DCExpert<TM>

FloorPlanManager(TM)

FPGACompiler(TM)

VHDLCompiler(TM>

HDLCompiler(TM>

LibraryCompiler<TH)

PowerCompiler(TM>

TestCompiler(TM)

TestCompilerPlus(TM)

CTV-Interface

ECOCompiler(TM)

DesignWareDeveloper(TM>

DesignPower<TM>

Version1999.10—Sep02,1999

Copyright<c)1988-1999bySynopsys,Inc.

ALLRIGHTSRESERVED

ThisprogramisproprietaryandconfidentialinformationofSynopsys,Inc.

andmaybeusedanddisclosedonlyasauthorizedinalicenseagreement

controllingsuchuseanddisclosure*

Initializing…

然后跳出主界面:

IHSynopsysDesignAnalyzer

SetupFile琐”皆知自ttH澈【虾色闻F"*TwkHelpn

OI

1>刃1

Synopsys,Inc.<c>

关于界面:

AbouttheDesignAnalyzer

Synopsy?DesignAnalyzer

<c)Synopsys1994

WelcometoDesignAnalyzer,thegraphicinterfacetotheSynopsys

familyoflogicsynthesistools»

ThisbriefsummarydescribesDesignAnalyzer,itswindowszandhow

tousevariousfeatures:

-DesignAnalyzerWindow

-UserInterfaceBasics

-SelectingObjects

-DesignAnalyzerCommandWindow

-TypicalSynthesisFlow

SeetheSynopsysdocumentationforacompleteexplanationof

DesignAnalyzerandotherSynopsystools.

ThebasicDesignAnalyzerusermodelis:

1>Youselectadesign,port,cell,net,subdesign,clock>

orotherobject.Validmenusandmenuselectionsare

thenautomaticallyenabled(invalidorinappropriatemenus

andselectionsare"grayedout").

2)Youchooseanappropriateaction,suchassettinga

然后选择要执行的脚本文件:

IHSynopsysDesignAnalyzer-1□1x

泓卬IDie图力的3傩h3坂*6名碌七m号堂可卜Help

Defaults...

Variables..,

License

“ecuteScript,..

ExecuteFileX

FileName:|runme.scr^

Birectory:r03/_z805Lfina1_version/synthesis/scripts

Cancel|

选择完成以后,DC就自动执行所设定的脚本,完成后显示如下图:

-回

D,

H

L-

-

r

aHDl

BlDe

0X

2茴

QlDe

0X

m7茴

Q

J

BX茴

.3

D

D茴

dd_16-0

^

^

^

^

1

DesignsView

LeftButton:Select-MiddleButton:Add/ModlfySelect-RightButton:Menu

选择查看顶层模块:

ALE

CSB0

CSBL

2JDESTIN__DO(7:0]

T1PORT0IC7:0]NPORT0E

PORT1IC7:0]NPORT1E[7:0]

PQRT2IC7:0]NPORT2EC7:0]

PORT3IC7:0]NPORT3EC7:01

z8051uarp

JdRSTNPSEN

SOURCE-DI..0C7:0]PORT0OE7:0]

SOURCE_DI_1[7:0]PORT1OC710]

XTAL1PORT2OC7:0J

PORT3OC7:0J

SOE

SRAN_ADDR【5;0]

SWEB

CurrentDesicm:z8051warpSymbolView

LeftButton:Select-MiddleButton:Add/ModifySelect-RightButton:Menu

查看其下层电路图:

HHSynopsysDesignAnalyzer,1□1X

空tupFileEditViewAttributesAnalysisToolsHelp

CurrentDesicm:z8051warpSchematicView

LeftButton:Select-MiddleButton:Add/ModifySelect-RightButton:Menu

下图是完全去除了层次:

U,・

)

iE

El

“n

即可

退出

随后

xterm,[□]x|

server2

DesignAnalyzer(TM>

BehavioralCompiler<TM)

DCProfessional(TM>

DCExpert(TM)

FloorPlanManager(TM)

FPGACompiler<TM)

VHDLCompiler<TM>

HDLCompiler(TM)

LibraryCompiler<TM>

PowerCompiler(TM>

TestCompiler<TM)

TestCompilerPlus(TM>

CTV-Interface

ECOCompiler<TM)

DesignNareDeveloper<TM)

DesignPower(TH)

Version1999♦10—Sep02,1999

Copyright<c)1988-1999bySynopsys,Inc.

ALLRIGHTSRESERVED

ThisprogramisproprietaryandconfidentialinformationofSynopsys,Inc,

andmaybeusedariddisclosedonlyasauthorizedinalicenseagreement

controllingsuchuseanddisclosure.

Initializing.♦♦

Thankyoiu.・

[11Donedesign.analyzer

server%|

另外一种办法就是使用SETUP/commandwindow,使用include命令导入SCR脚本:

其余的过程和上一面的例子一样。

使用SCR脚本文件的命令行界面:

-inixi

SunMicrosystemsInc.SunOS5.8GenericPatchOctober2001

server^pud

/training/trOS

server^Is

CDS♦logfilenames♦logpanic♦log

DRE.CDSJogFind.txtsynopsys_cache_1999.10

_z8051_Fina1_uersionfminitmandjog

ac_shell.cmd91Mos1yaodao

ac.shelLloglibManagerJogzhu51

cds.libmjg8051

command♦lognsmail

server^cd_z8051-fina1.version

server^Is

checkcsmcOGlibmpw.docplace_routertlsynthesis

server^cdsynthesis

server^Is

Synthesis♦readmereadmesynopsys.dc.l♦setup

command♦logreportssynopsys_dc-2♦setup

outputscriptsview_commandjo9

post.syn.simsource_codes

server^dc-shel1-f/scripts/runme♦scrIteevieu4log|

进入以后,系统提示符变成:dc_shell>,然后退出:

xterm,1□!x|

tobreakatimingloop<0PT-314)

Warning:Disablingtimingarcbetweenpins'CK'andZQZoncellzuPMU/XTAL_CTRL_reg

tobreakatimingloop(OPT-314)

Warning:Disablingtimingarcbetweenpins'CK'and'QN'oncellzuPMU/XTAL.CTRL-re

tobreakatimingloop(OPT-314)

Information:Designzz8051warpzhas3.63432+06paths♦(WC-13)

Information:Theconstraintfilehas'1/pathconstraints*(HC-14)

1

write.sdf♦/output/sdf/z8051warp_syn_v21♦sdf

Information:Annotatedzceirdelaysareassumedtoincludeloaddelay*(UID-282)

Information:Writingtiminginformationtofilez/trainin9/tr03/_z8051.fina1_versio

51warp_syn_v21♦sdF'♦<WT-3>

1

write_sdf-version1.0♦/output/sdf/z8051uiarp_syn_vl0♦sdf

Information:Annotated'cell'delaysareassumedtoincludeloaddelay*(UID-282)

Information:Writingtiminginformationtofile/training/tr03/_z8051_fina1_versio

51warp_syn_ul0♦sdF'♦<WT-3>

1

reportsiming-delaymax>♦/reports/zSOSlwarp-s1owest-path2♦rpt

1

report_timing-delaymin»4/reports/z8051warp_s1owest_path2♦rpt

1

report_ce11>♦/reports/z8051warp_ce1l_num_area♦rpt

1

report-constraint-all.violators>♦/reports/z8051warp_any_timing_violation*rpt

1

dcshell>quit|

使用TCL脚本执行的命令行界面:

xterm■x|

server^pwd

/trainin9/tr03/-z8051_fina1_ve「sion/synthesis

serverNIs

Synthesis.readmereadmesynopsys_dc_l♦setup

commandJogreportssynopsys_dc_2♦setup

outputscriptsviewjog

post-syn.slmsource-codesmand♦log

server^dc_shell-t|

使用source命令导入TCL脚本语言:

xterm,1□!x|

BehavioralCompiler(TM)

DCProfessional<TH>

DCExpert<TM>

FloorPlanManager(TM)

FPGACompiler(TM)

VHDLCompiler(TM>

HDLCompiler(TM)

LibraryCompiler<TM)

PowerCompiler<TM)

TestCompiler(TM)

TestCompilerPlus<TM>

CTV-Interface

ECOCompiler(TM)

DesignUareDeveloper<TM>

DesignPower(TM)

Version1999♦10—Sep02z1999

Copyright(c)1988-1999bySynopsys,Inc.

ALLRIGHTSRESERVED

ThisprogramisproprietaryandconfidentialinformationofSynopsys,Inc.

andmaybeusedanddisclosedonlyasauthorizedinalicenseagreement

controllingsuchuseanddisclosure*

Initializing..♦

dcshell-t>source♦/scripts/runme♦tc11

进入以后,系统提示符变成:deshell-t>,然后退出:

xterm

dc-shell-t>quit

Thankyou…

server^|

DC启动配置文件:

.sysnopsysdc.setup

这个文件的功能是对DC运行的所有环境变量进行设置,主要包括以下几个方面:

Site-SpecificVariables

SystemVariableGroup

CompileVariableGroup

MultibitVariableGroup

EstimatorVariableGroup

SyntheticLibraryGroup

InsertTestVariableGroup

AnalyzeScanWriableGroup

BSDVariableGroup

TestManagerVariableGroup

TestSimVariableGroup

TestDRCVariableGroup

TestVariableGroup

JTAGVariableGroup(associatedwiththeinsertjtagcommand)

CreateTestPattemsVariableGroup

WriteTestVariableGroup

SchematicandEDIFandHDLVariableGroup

EDIFandIOVariableGroup

PlotVariableGroup

IOVariableGroup

HdlandVhdlioVariableGroup

ViewVariableGroup

LinkstolayoutVariableGroup

PowerVariableGroup

BCVariableGroup

Aliasesforbackwardscompatibilityorconvenience

下面这个是简化的一个版本:

###############################################################################

#ThisisaTcl-sscriptworksforDC-SHaswellasforDC-Tcl

#Setthetechnologyandlinklibrarieshere:

settargetlibraryHcsmc06core.db"

setlink_library”*csmc06core.db"

setsymbol_library"csmc06core.sdbn

#SettingupDesignWarecachereadandwrite

#directoriestospeedupcompile.

setcache_write~

setcacheread$cache_write

#TellDCwheretolookforfiles

#Use"set"command(insteadoflappend)tokeepcompatibilitywithDesignAnalyzer

setsearch_path"Ssearchpath../csmc061ib/ver5/lib./scripts./source_codesn

#Alias

aliasrc"reportconstraint-all_violatorsn

aliasrt"report_timingn

aliash"history"

setview_script_submenu_items\

{"RemoveAllDesign""removedesign-designs**}

historykeep100

#specifydirectoryforintermediatefilesfromanalyze

define_design_libDEFAULT-path./analyzed

#suppressDrivingcellwarning

suppress_message{UID-401}

DC运行脚本:

read-formatverilog./source_codes/z8051warp,v

read-formatverilog./sourcecodes/zcOO1ex.v

read-formatverilog./source_codes/zc002ex.v

read-formatverilog7source_codes/zc003ex.v

read-formatverilog7source_codes/zc004ex.v

read-formatverilog./source_codes/zc005ex.v

read-formatverilog./source_codes/zc006ex.v

read-formatverilog./source_codes/zc007ex.v

read-formatverilog./source_codes/zc008ex.v

read-formatverilog7source_codes/zc009ex.v

read-formatverilog7source_codes/zcO1Oex.v

read-formatverilog./sourcecodes/zcOllex.v

read-formatverilog./source_codes/zcO12ex.v

read-formatverilog./source_codes/zcO13ex.v

read-formatverilog./source_codes/zcO14ex.v

read-formatverilog./sourcecodes/zcO15ex.v

read-formatverilog./sourcecodes/zcO16ex.v

read-formatverilog./sourcecodes/zcO17ex.v

read-formatverilog./sourcecodes/zcO18ex.v

read-formatverilog./sourcecodes/zcO19ex.v

read-formatverilog./source_codes/zc020ex.v

read-formatverilog./source_codes/zc021ex.v

read-formatverilog./source_codes/sraml28.v

read-formatverilog./source_codes/z8051warpdefs.v

currentdesignz8051warp

setwireloadmodetop

setwireloadmodel-namen0xl50k"-librarycsmc06core

link

uniquify

currentdesignz8051warp

createclock-period40-namextall-waveform{0,20}find(port,XTAL1)

setinputdelay1-max-clockxtallall_inputs()-find(port,XTAL1)

set_output_delay1-max-clockxtallall_outputs()

set_clock_uncertainty0.3find(port,XTAL1)

set_clock_latency1find(port,XTAL1)

setdonttouchnetworkXTAL1

set_driving_cell-libcsmc06core.db:csmc06core-lib_cellAN02D1-pinAall_inputs()-find(port,

XTAL1)

setload10.0*load_of(csmc06core.db:csmc06core/ND02DlArN)all_outputs()

setfixmultipleportnets-all-bufier_constants

currentdesignzc004ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

setc1ockuncertainty0.3find(port,CCLK)

setdonttouchnetworkCCLK

current_designzc005ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

set_clock_uncertainty0.3find(port,CCLK)

set_dont_touch_networkCCLK

cuiTentdesignzc006ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

setc1ock_uncertainty0.3find(port,CCLK)

setdonttouchnetworkCCLK

currentdesignzc008ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

set_clock_uncertainty0.3find(port,CCLK)

setdonttouchnetworkCCLK

currentdesignzc009ex

createclock-period40-namecclk-waveform{0,20}find(port,CCLK)

set_clock_uncertainty0.3find(port,CCLK)

set_dont_touch_networkCCLK

current_designzcOlOex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

createclock-period40-namesclk-waveform{0,20}find(port,SCLK)

create_clock-period40-namensclk-waveform{0,20}find(port,NSCLK)

set_clock_uncertainty0.3find(port,{CCLKSCLKNSCLK})

setdonttouchnetwork{CCLKSCLKNSCLK)

currentdesignzcO12ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

create_clock-period80-namepclk-waveform{0,60}find(port,PCLK)

set_clock_uncertainty0.3find(port,{CCLKPCLK})

setdonttouchnetwork{CCLKPCLK}

current_designzc014ex

create_clock-period40-namedeIk-waveform{0,20}find(port,DCLK)

setclockuncertainty0.3find(port,DCLK)

set_dont_touch_networkDCLK

current_designzcO15ex

createclock-period40-namextall-waveform{0,20}find(port,XTAL1)

setclockuncertainty0.3find(port,XTAL1)

set_dont_touch_networkXTAL1

currentdesignzcO16ex

createclock-period40-namecclk-waveform{0,20}find(port,CCLK)

setclockuncertainty0.3find(port,CCLK)

setdonttouchnetworkCCLK

currentdesignzcO17ex

createclock-period40-namecclk-waveform{0,20}find(port,CCLK)

createclock-period40-namesclk-waveform{0,20)find(port,SCLK)

setc1ock_uncertainty0.3find(port,{CCLKSCLK})

setdonttouchnetwork{CCLKSCLK}

currentdesignzc019ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

create_clock-period80-namepclk-waveform{0,60}find(port,PCLK)

set_clock_uncertainty0.3find(port,{CCLKPCLK})

set_dont_touch_network{CCLKPCLK}

currentdesignzc020ex

create_clock-period40-namecclk-waveform{0,20}find(port,CCLK)

createclock-period40-namesclk-waveform{0,20}find(port,SCLK)

create_clock-period80-namepclk-waveform{0,60}find(port,PCLK)

set_clock_uncertainty0.3fin(l(port,{CCLKSCLKPCLK})

set_dont_touch_network{CCLKSCLKPCLK}

currentdesignzc021ex

createclock-period40-namecclk-waveform{0,20}find(port,CCLK)

set_clock_uncertainty0.3find(port,CCLK)

set_dont_touch_networkCCLK

currentdesignsraml28

create_clock-period40-namensclk-waveform{0,20}find(port,NSCLK)

set_clock_uncertainty0.3find(port,NSCLK)

set_dont_touch_networkNSCLK

currentdesignz8051warp

/**/

setmulticyclepath4-setup-fromnuPDR/OPCODE_reg*n-tonuCSFR/B_reg*H

set_multicycle_path4-setup-fromnuPDR/OPCODE_reg*n-toHuCSFR/PSW_reg*n

set_multicycle_path4-setup-fromnuPDR/OPCODE_reg*n-tonuDMI/I_SPTCON_reg*H

setmulticyclepath4-setup-fromnuPDR/OPCODE_reg*n-to

“uPMI/DATA_POINTER_0_reg*”

setmulticycle_path4-setup-fromHuPDR/OPCODE_reg*n-to

“uPMI/DATA_POINTER_l_reg*”

set_multicycle_path4-setup-fromnuPDR/OPCODE_reg*n-to”uPMI/I_DPS_reg*”

set_multicycle_path4-setup-fromnuPDR/OPCODE_reg*n-tonuPMI/I_DPGS_reg*H

setmulticyclepath4-setup-fromnuPDR/OPCODE_reg*n-tonuPMI/DPTR_PAGER_O_reg*n

set_multicycle_path4-setup-fromnuPDR/OPCODE_reg*H-toHuPMI/DPTR_PAGER_l_reg*M

setmulticycle_path4-setup-fromMuPDR/OPCODE_reg*n-tonuSTM/I_CKCON_reg*M

set_multicycle_path4-setup-fromnuPDR/OPCODE_reg*n-tonuSTM/I_SWRST_reg*n

set_multicycle_path4-setup-f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论