后端流程整理_第1頁
后端流程整理_第2頁
后端流程整理_第3頁
后端流程整理_第4頁
后端流程整理_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

后端流程整理

目錄

1。綜合

2。綜合后仿真

3。布局布線

4。布線后仿真

5o規(guī)則檢查

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國家實驗室開發(fā),匕海集成電路設計與研究中心版權所有]

構成簡介

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

然后選擇要執(zhí)行的腳本文件:

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就自動執(zhí)行所設定的腳本,完成后顯示如下圖:

-回

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]

創(chuàng)

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|

進入以后,系統(tǒng)提示符變成: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腳本執(zhí)行的命令行界面:

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

進入以后,系統(tǒng)提示符變成:deshell-t>,然后退出:

xterm

dc-shell-t>quit

Thankyou…

server^|

DC啟動配置文件:

.sysnopsysdc.setup

這個文件的功能是對DC運行的所有環(huán)境變量進行設置,主要包括以下幾個方面:

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. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論