




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
后端流程整理
目录
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生简历自我评价(15篇)
- 《男生女生》主题班会课 教学设计
- 秋收的心得小学(10篇)
- 初一军训心得1000字范文(18篇)
- 《交通工具标志及含义》课件
- 《全球市场营销条形码》课件
- 2025-2026年包装服务的绿色化与市场趋势
- 音乐教干教师暑期培训心得体会(16篇)
- 设计部月度工作计划范例(7篇)
- 2025年镇江c1货运上岗证模拟考试
- 2023年渭南市医疗卫生机构定向招聘医学类毕业生笔试真题
- 2025年中国生物育种行业发展现状调查、竞争格局分析及未来前景预测报告
- 钢结构转换层施工方案
- 口腔门诊总经理岗位职责
- 土方场地平整合同
- 人教版六年级数学下册中段检测训练卷
- 人工智能设计伦理(浙江大学)知到智慧树章节答案
- 2024年广东省佛山市顺德区中考语文二模试卷
- 2024-2030年中国街舞培训行业竞争格局及投资前景展望报告
- 高中数学集合练习题160题-包含所有题型-附答案
- 计算机程序设计语言(Python)学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论