蒙特卡洛分析_第1页
蒙特卡洛分析_第2页
蒙特卡洛分析_第3页
蒙特卡洛分析_第4页
蒙特卡洛分析_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

MonteCarlosimulation

……forbetteryieldandperformance--Atutorial1astart

SystemrequirementStatisticalanalysisincludeprocess,mismatcheffectsInitialdesignDesignmeetsthegoal?endNOYESMonteCarlosimulation

……forbetteryieldandperformance

SomedesignmaydegradeinperformanceOveralldesignyieldcouldbeunexpectedlylowIffabricationprocessparameteranddevicemismatcheffectonsamediearenottakenintoaccountthenHencestatisticalanalysismustfindahighplaceindesigncycle2aWewillperformMonteCarloanalysisonanRF-frontendLNAandcomparetheresultifnostatisticalanalysisisdone.WewillalsoseehowtoanalyzeyieldandscalardatainMonteCarlowiththehelpofLowpassfilterexample.MonteCarlosimulation3aMonteCarlosimulation(example)LinearityInputmatchingBiasN/WOutputmatchingCascodearch.toreducefeedbackcapacitanceRF-frontend(LNA)

KnowingSystemrequirement

Initialdesignbasedonrequirementlikenoise,gain,narroworwideband.4aMonteCarlosimulationCadencesimulationsetup(Normal)Choosingaffirmaanalogartist2.

ChoosingSpectresimulator5aChoosingmodelfile,whichcontainsallMOS,reg.,capmodelparameters.MonteCarlosimulation1.Choosesetupmodellibraries2.BrowseandchoosemodelfileinthedirectoryCadencesimulationsetup(Normal)6aSetupanalysis(dc,ac,spetc.),createnetlistandrunsimulatorMonteCarlosimulation1.Chooseanalysistorun2.Chooseoutputtoplot3.CreatenetlistandrunCadencesimulationsetup(Normal)7aPlottingresultsMonteCarlosimulation1.Choosedirectplotforanalysis2.Clicktoviewthedesiredresult3.AnalyzewaveformCadencesimulationsetup(Normal)8aMonteCarlomodelinginCadencespectresimulator

ProcessSection

-describesmanufacturingparameter,theirstatisticalvariationandamodelfordevicethatcalculatesits(width,length,cap,res.Etc.)accordingtoprocessparameter.Design-SpecificSection–designeraccordingtohisneedcanspecifyMonteCarloanalysis.Forexampleinacurrentmirrorcircuit,matchedtransistorsareusedanddesignercangivesomecorrelationfactorbetweenthesematchedtransistor.MonteCarlosimulationCadencesimulationsetup(MonteCarlo)9aTypicalModelFileProcessSectionAllparametersetstotheirnominalvalue,nostatisticalvariationdefinedModel(NMOS’s

Rg)iscalculatedusingnominalparametervalue21MonteCarlosimulationCadencesimulationsetup(MonteCarlo)10aDefiningprocess,mismatchparameterasstatisticallyassignedvalueAssessesthedevicemismatchondifferentdie,whichcouldhavegonethroughsomedifferentprocessparametersduringfabrication.Assessesthedevicemismatchonsamedie,whichcouldhavegonethroughsomedifferentprocessparameter.VariationdefinedasadistributedfunctionMonteCarlosimulationProcessSectionCadencesimulationsetup(MonteCarlo)11aDesignSpecificSectionThisincludesthecircuitconnectivity(tworesistors,andcorrespondingcurrentsourcesthatfeedthem)Definingcorrelationbetweentwodevices(R1,R2)†Note:AlternativelythisinformationcanalsobeinsertedthroughArtistMonteCarloTool.MonteCarlosimulationCadencesimulationsetup(MonteCarlo)12aMonteCarlosimulationModelfileusedforLNAexampleNoteThisisnotbasedonfoundrydatabutmodeledforillustrativepurposes.Cadencesimulationsetup(MonteCarlo)13aMonteCarlosimulation

AfterInitialdesignthatmeetsthesystemrequirement,statisticalanalysismusthavetobecarriedout.Makesuretheadditionofprocessandmismatchparametersectioninmodelfile.Makecertaintoincludetheparticularsection(forexa.Statsinspectre)insimulationmodellibraryGototoolMonteCarloinaffirmaanalogartistCadencesimulationsetup(MonteCarlo)14aMonteCarlosimulationChoosenoofiteration(default=100)1.ChoosewhichvariationtoincludeProcessdevicemismatcheffectontwodiff.dieMismatchdevicemismatcheffectonsamedie

2.Clickifyouwanttoseethefamilyofcurvei.e.curvefromeachiteration3.Definetheexpressions/signalsonwhichMonteCarloanalysiswillbeperformed.Note:calculatorcanalsobeusedtogettheseexpressionFinallyruntheanalysisCadencesimulationsetup(MonteCarlo)15aMonteCarlosimulation(Analyzingwaveform)MatchingNormalsimulation(withoutstatisticalvariation)MonteCarloSimulation(withstatisticalvariation)Processparameterandmismatcheffect

Input&OutputmatchingN/WDEGRADESOveralldesignperformance(noise,gainetc.)DEGRADESS11S2216aMonteCarlosimulation(Analyzingwaveform)Matching(VSWR):IttellshowwellinputandoutputN/Warematched.MonteCarlosimulationNormalsimulationVSWR1VSWR2VariationsinVSWR17aMonteCarlosimulation(Analyzingwaveform)Matching(forwardandreversetransmissiongain)Ithasdeterioratedtheperformancesignificantly,asaminimumS12andmaximumS21valueisdesirable.NormalsimulationMonteCarlosimulationS12S2118aMonteCarlosimulation(Analyzingwaveform)NormalsimulationMonteCarlosimulationStability:AKfvalue>1,isdesiredforanstableamplifierKfvaluehasbecome<1,andconsequentlycreatingapotentialunstability,hencealargemarginisrequiredatinitialdesignphase.Stabilityfactor19aMonteCarlosimulation(Analyzingwaveform)NormalsimulationMonteCarlosimulationNoisePerformanceAsvisible,designhasarobustnoiseperformanceatdesiredband(2.4-2.5GHz)BUT….NoisefigurePeriodicOutputnoise20aMonteCarlosimulation(Analyzingwaveform)But…

LNAasanRF-frontendhastoprovideenoughgainwithmaximumnoisesuppressiontomaintainanallowableSNRatdemodulator'sinput.ItfailstomeetthegainrequirementGain21aMonteCarlosimulationWewillquicklygooveranotherexampleoflowpassfilterandseehowtoanalyzescalardataandyieldthroughMonteCarlosimulation22aMonteCarlosimulationInitialDesign:CircuitdesigningaccordingtosystemrequirementLow-PassFilter23aMonteCarlosimulation1.Runningnormalanalysis2.Specifyingstatisticalvariationinmodelfile3.RunningMonteCarloanalysis123Cadencesimulationsetup(MonteCarlo)24aMonteCarlosimulationSimulationshowsdb20andphasevaluesaregreatlyaffectedbystatisticalvariationsintroducedintransistor.Hencetheneedforredesigningthecircuit(Analyzingresults)25aMonteCarlosimulation(AnalyzingScalardata)1.ChooseresultsplotHistogram2.Chooseparameterstoplot3.Analyzethehistogramappearedinwaveformwindow26aMonteCarlosimulation1.Chooseresultsspecificationlimits2.Setboundsandlimits3.ChooseResultsyieldsimpleinanalysiswindow4.Setsuppressionvalueforyield5.AnalyzeyieldOnly64%iterationspassesthespecifiedlimitsforbandwidthandymax(AnalyzingYield)27aMonteCarlosimulation

(PLLComponents)OverviewReferenceclockDetectoroutputLoopfilterresponseOscillatoroutputClockdivideroutput•Phase/frequencydetectordeterminesthedifferencebetweenthephaseorfrequencyoftwosignals•Theloopfilterremovesthehigh-frequenciesfromthevoltage-controlledoscillator(VCO)controllingvoltage•TheVCOproducesandoutputfrequencycontrolledbyavoltage28aMonteCarlosimulation

(PLLComponents)NoiseSourcesDetectornoiseVCOnoiseΣ-ΔQuantizationnoiseInPLLdesignitishighlydesirabletobeabletoseetheimpactofallnoisesources,whichinturnaffectstheoverallPLLperformance.DuetoreferencejitterDuetovariationincontrolvoltageDuetouncertaintyinvolvedindiscretization29aMonteCarlosimulation

(VCO)Anoscillatorisacircuitcapableofmaintainingelectricoscillations.Frequencyofoscillation=1/(LC)1/2Controlledbyvoltagedependentcapacitance(varactor)

Powerefficientsincebiascurrentissharedbetweenthetwotransconductors.ComplimentaryCross-CoupledLCVCOequivalentForoperationincurrent-limitedregime:VO=(4/π).Ibias.Req

(Idealswitching)VO(apx)=Ibias.Req(Highfrequency)30aCausesofspectralpuritydegradation(phasenoise):1.)Randomnoiseinthereferenceinput,thePFD,loopfilterandVCO(alsodividersifthePLLisafrequencysynthesizer)2.)Spurioussidebands–highenergysidebandswithnoharmonicrelationshiptothegeneratedoutputsignal.Itissystematicinorigin.Whyisspectralpurityimportant?MonteCarlosimulation

(VCO–PhaseNoise)PhasenoiseproducesadjacentchannelinterferencePhasenoisecandegradethesensitivityofareceiverduetoreciprocalmixing31aMonteCarlosimulation

(VCO–PhaseNoise)Howdotheprocessandmismatchvariationaffectphasenoise?--wewillperformmontecarloanalysistoassessthis.

Step1–Varyingtheprocessparameteronly

Step2–investigatingthedevicemismatch(indiffVCOonesidemismatchedtotheother)inpresenceofprocessvariationThestatisticsblockcontainsthedistributionsforparameters:DistributionsspecifiedintheprocessblockaresampledonceperMonteCarlorun,areappliedatglobalscope,andareusedtypicallytorepresentbatch-to-batch(process)variations.Distributionsspecifiedinthemismatchblockareappliedonaper-subcircuitinstancebasis,aresampledoncepersubcircuitinstance,andareusedtypicallytorepresentdevice-to-device(onchip)mismatchfordevicesonthesamechip.CadenceSpectremodeling:32aMonteCarlosimulation

(VCO–PhaseNoise)modelfileDefinestatisticalblocksinthemodelfile(ideallyitshouldbeprovidedfromthefoundry)ProcesssectionMismatchsection33aMonteCarlosimulation

(VCO–PhaseNoise)STEP-1RunningMonteCarloforprocessvariationonlyNormalsimulationMonteCarlosimulationWithappliedstatisticalvariation(inmodelfile)anincreaseinnoisecanbeobserved,andatthisrunresultednoiseisworstandunacceptable.34aMonteCarlosimulation

(VCO–PhaseNoise)STEP-2RunningMonteCarloformismatchin2sidesofDiff.VCONormalsimulationMonteCarlosimulationAgainsimilarlookingbutnotthesameresultsappearsandnoiseatthisrunisunacceptable.Note:

Whenthesameparameterissubjecttobothprocessandmismatchvariations,thesampledprocessvaluebecomesthemeanforthemismatchrandomnumbergeneratorforthatparticularparameter.35aMonteCarlosimulation

(VCO–PhaseNoise)--moreinsightTogetmoreinsightwewillvaryonlyfewparameterandcheckhowvaluesareassignedfordifferentrunaswellasthesimulationresultDefiningvariationforonlytwoparametersinthemodelfile--Vth -tox36aMonteCarlosimulation

(VCO–PhaseNoise)--moreinsightHerebothnmos(pmos)transistorshavebeenassignedsameprocessvariation.IneachruntheytakeondifferentparameteraccordingtodistributiondefinedProcessvariationonlyNM0NM1PM1PM037aMonteCarlosimulation

(VCO–PhaseNoise)--moreinsightProcessandMismatchbothvariationtogether,withcorrelationof0.2betweenthetwonmos(pmos)transistorAsconspicuouseachnmos(pmos)transistorisgettingdifferentparametervalueineachrun.38aMonteCarlosimulation

(VCO–PhaseNoise)--moreinsightProcessvariationonlyProcess&mismatchvariationAsvisibleinthecaseofprocessvariationwithdevicemismatchnoisehasbeenincreased.39aMonteCarlosimulation

(PLLataglance)

InaPLLalltheseprocessvariationcandegradeit’soverallperformancesignificantly.Toseetheimpactofprocessvariationweprobetheoutputaftertheloopfilter.MonteCarlosimulationAsclearinonecasecontrolvoltage(i.e.loopfilteroutput)isrampingrapidlycomparetootherandthuswillresultindifferentperformance.40aMonteCarlosimulationInourdesignPLLhasasettlingtimeof65us.Tosimplyruntheanalysis(transistorlevel)forthismuchperiodmaytake2-3daysonasinglemachine.Todomontecarlosimulationevenfor10runwillmakethesituationworse.TospeedupMonteCarloanalyses—tomakethemruninminutesasopposedtodays—--WeneedtoreducetheruntimeandcanutilizeParallelsimulation.--Suchasvariancereductiontechniquecanbeemployed.41aMonteCarlosimulation

(Seedno¶llelsimulation)Note:(1)Inputfileshouldhave‘.scs’extension(forexa.input.scs)(2)InspectreonecannotspecifydifferentseedfromGUI(bydefaultitalwaystakesseed=1).IfMonteCarlosimulationfordifferentseedisrequiredthen…..Step1.Createnetlist(inputfile)a)Eitherfromanalogartistor

b)Toolsmontecarlosimulationcreate_input_filesSeed42aMonteCarlosimulationMonteCarlosimulation

(Seedno¶llelsimulation)Step2.Editinput.scsfilemanuallyeditSEED=?line(numberyouwant)Seed43aMonteCarlosimulationMonteCarlosimulation

(Seedno¶llelsimulation)Step3.Runspectrefromcommandlinewithoptionforexample…..spectre-envartist4.4.6+log../psf/spectre.out-formatpsfbin-raw../psfinput.scsHereoneshouldexecutespectrecommand(orexecutablefile)fromthenetlistdirectory.Forexampleonewantstosimulate“PLL”designfromcommandlineThengotoyoursimulationdirectorycd…/simulation/pll/spectre/schematic/netlistandhereexecutespectrecommandSeed44aMonteCarlosimulationMonteCarlosimulation

(Seedno¶llelsimulation)Step4.ResultscanbeplottedwitheitherfromcalculatororfromMonteCarlotool…..Seed=1Seed=11Seed=3Fig:PlotsfordifferentseedvaluesimulationSeed45aMonteCarlosimulation

(Seedno¶llelsimulation)Anotherwayofdoingsimilarthing(givingdifferentseedvalue)fromGUIwouldbetostartsimulationfromdifferentrun,orsaytoskipsomeinitialrunasshowninthefig.ButbewareskippingtheserunscouldtakemuchlongertimeforacomplexdesignHereitwillskipfirst10runsandsimulatefrom11’thto110’thrunfor100iterationThisisquitesimilartoassigningdifferentseedvalue.AwayaroundfromGUI46aMonteCarlosimulation

(Seedno¶llelsimulation)Runningmultipleanalysisfromonefile

ThiscanbedonebydefiningmultiplemontecarloanalysisstatementintheinputfileasshownbelowNote:Foreachanalysisadifferentnametochildanalysis(forexampleac,dc,tran)andtooutputfilehastobeassigned.Analysis1Analysis247aMonteCarlosimulation

(Seedno¶llelsimulation)Runningscriptforexecutingmultiplefiles(sequentially)

Thiscanbedonebymakinganexecutablefileasshown

温馨提示

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

评论

0/150

提交评论