EDA技术与应用讲义-第9章第2节-Quartus-II中的设计优化_第1页
EDA技术与应用讲义-第9章第2节-Quartus-II中的设计优化_第2页
EDA技术与应用讲义-第9章第2节-Quartus-II中的设计优化_第3页
EDA技术与应用讲义-第9章第2节-Quartus-II中的设计优化_第4页
EDA技术与应用讲义-第9章第2节-Quartus-II中的设计优化_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

第9章第2节

QuartusII中的优化设计

配置、仿真和报告

<EDA技术与应用>课程讲义下一章上一章南海学院刘刚本节内容时序分析的根本概念和术语QuartusII中的时序约束设置QuartusII中的时序分析QuartusII中的编译报告FPGA芯片的时序指标举例有关时序分析更多的资料请参见时序分析的根本概念和术语时钟建立时间(tSU:clocksetuptime)时钟保持时间(th:clockholdtime)时钟输出延时(tCO:Clocktooutputdelay)时钟偏斜〔ClockSkew〕引脚到引脚的延时(tPD:Pin-to-PinDelay)时序裕量〔Slack〕独立时钟和衍生时钟〔AbsoluteClock&DerivedClock〕占空比〔DutyCycle〕行波时钟〔RippleClock〕建立时间和保持时间tSU=DataDelay+MicrotSU-ClockDelaytSU(clocksetuptime)tH=ClockDelay+MicrotH-DataDelaytH(clockholdtime)tCO(Clocktooutputdelay)tCO=ClockDelay+MicroTco+DataDelay时钟偏斜〔clockskew〕:图示时钟偏斜〔clockskew〕Thedifferenceinthearrivaltimeofaclocksignalattwodifferentregisters,whichcanbecausedbypathlengthdifferencesbetweentwoclockpaths,orbyusinggatedorrippledclocks.Clockskewisthemostcommoncauseofinternalholdviolations,asshowninfigure1引脚间延时tPD(pin-to-pindelay)

Thetimerequiredforasignalfromaninputpintopropagatethroughcombinationallogicandappearatanexternaloutputpin.IntheQuartus®

IIsoftware,youcanspecifytherequiredtPDfortheentireprojectand/orforanyinputpin,outputpin,bidirectionalpin.

Youcanalsoassignapoint-to-pointtPDassignmenttospecifytherequireddelaybetweenaninputpinandaregister,aregisterandaregister,aregisterandanoutputpin.时序裕量〔Slack〕Slackisthemarginbywhichatimingrequirementwasmetornotmet.Apositiveslackvalue,displayedinblack,indicatesthemarginbywhicharequirementwasmet.Anegativeslackvalue,displayedinred,indicatesthemarginbywhicharequirementwasnotmet.Slacktimeiscalculatedusingthefollowingequation:

slack=<requiredmaximumP2Ptime>-<actualmaximumP2Ptime>TimingAnalyzerSummaryTypeSlackRequiredTimeActualTimeWorst-casetsuN/ANone4.500nsWorst-casetcoN/ANone10.900nsWorst-casethN/ANone1.000nsWorst-caseMinimumtcoN/ANone9.600nsClockSetup:'clk'N/ANone96.15MHz独立时钟和衍生时钟

〔absoluteclock&derivedclock〕概念:absoluteclock

不依赖于其他时钟信号而存在的时钟derivedclock

由某个absoluteclock

经过相移、分频、倍频而得到的时钟时序分析的处理:一个设计可以允许有多个独立时钟存在只对一个独立时钟内相关的所有信号进行时序分析占空比〔Dutycycle(%)〕Indicatesthepercentageoftimethatthesignalishighorlowduringthetimeperiod.行波时钟〔RippleClock〕不建议使用D触发器输出作为驱动时钟QuartusII中的时序约束设置:目的目的:时序约束对设计的编译过程起着重要作用布局布线工具将对最差的时序路径进行最多的努力对于不满足时序设置的路径将以“红色”显示出来QuartusII中的时序约束设置:内容可以进行那些时序约束设置?内部

时序约束设置I/O

时序约束设置最大

时序约束设置最小

时序约束设置全局 时序约束设置单个节点或模块 时序约束设置QuartusII中的时序约束设置:步骤先进行全局设置,再进行单个设置单个设置的优先级别高于全局设置〔在2者冲突的情况下〕方法:通过菜单窗口设置:Assignments->TimeSetingsAssignments->Setings->TimingRequire&Options通过修改“.QSF”文件设置全局时序设置建立延时输出延时引脚间延时时钟频率最小输出延时最小保持延时最小引脚间延时剪除选项CutOptionsCutOffFeedbackfromI/OPinsCutOffClearandPresetSignalPathsCutOffReadDuringWriteSignalPathsCutPathsbetweenUnrelatedClockDomains单个时钟设置〔InvididualClock〕独立时钟设置衍生时钟设置QuartusII中的时序分析报告类型

文件扩展名Analysis&Synthesis分析与综合.map.rptAssembler.asm.rptCompilation(Thisreportfileisasinglefilethatcombinestheinformationoftheindividualmodulecompilationreportfiles.)编译.cmp.rptDesignAssistant.drc.rptEDANetlistWriter.eda.rptFitter.fit.rptFlow.flow.rptSimulator.sim.rptTimingAnalyzer.tan.rptQuartusII中的编译报告文件FPGA芯片的时序指标Theend

Theend.

以下内容

正文的引用,

可不阅读。建立时间和保持时间返回CutOffClearandPresetSignalPaths

Cutsoffthetimingpathsforallclearandpresetsignalsinthecurrentdesign.Whenyouturnthisoptionon,theTimingAnalyzerdoesnotconsiderthedelayalongthesepathsduringtiminganalysis.WhenyouturnCutoffclearandpresetsignalpathson,theTimingAnalyzerdoesnotincludeclearandpresetsignalstoaDflipflopinthetiminganalysis.Cuttingoffthesepathsmayhelpeliminateinvalidpathsfromthetiminganalysis.返回CutOffFeedbackfromI/OPins

Cutsoffthedelaythatisfedbackfromabidirectionalpinduringtiminganalysis.Youcanuseabidirectionalpinasbothaninputpinandoutputpin.Whenyouturnon

CutofffeedbackfromI/Opins,thetiminganalysisdoesnotincludesignalfeedbackfromwithinthedevice,thuseliminatinginvalidpaths.CutofffeedbackfromI/Opinsisespeciallyusefulwhenyouconnectabidirectionalpindirectlyorindirectlytoboththeinputandtheoutputofalatch.Thistypeoffeedbackpathiscontinuousbecauseclockedlogicprimitivescannotinterruptthepath.AstheTimingAnalyzerencountersadditional,interconnectedlatch-to-pinloops,thenumberofhiddenpathsgrowsexponentially,forexample,whenyouuselatcheswithbidirectionalbuses.CutofffeedbackfromI/Opinsallowsyoutoeasilyeliminatethefalsepathscausedbylatch-to-pinloops.返回CutOffReadDuringWriteSignalPaths

CutsoffthedelayfromthewriteenableregisterthroughtheEmbeddedSystemBlock(ESB)toanydestinationregisterduringtiminganalysis.WhenyouturnCutoffreadduringwritesignalpathson,theTimingAnalyzerdoesnotconsiderthedelayalongthesepathsduringtiminganalysis.IfyourdesignreadsthedatafromtheESBasitiswritten,youmaywanttoturnoffCutoffreadduringwritesignalpaths.However,ifyourdesigndoesnotreadthedatafromtheESBasitiswritten,thedelayfromthesepathscancausemisleadingresultsinyourtiminganalysisunlessyouturnonCutoffreadduringwritesignalpaths.返回CutPathsbetweenUnrelatedClockDomainsEliminatesthepathsbetweenunrelatedclockdomainsfromthetiminganalysis.WhenyouturnCutpathsbetweenunrelatedclockdomainson,theTimingAnalyzerignoresthedelayalongthesepathsduringtiminganalysis.返回UsingI/OTimingRequirements

TheQuartusIITimingAnalyzerprovidestwomethodsforspecifyingI/Otimingrequirements.YoucanspecifyI/OtimingrequirementsusingthetraditionaltsuRequirement,tcoRequirement,and/orthRequirementtimingassignments(resultsreportedinthetsu,th,andtcoTimingAnalyzerreports),oryoucanincludethesepathsaspartoftheclockanalysisbyusingtheInputMaximumDelay,InputMinimumDelay,OutputMaximumDelay,orOutputMinimumDelayassignmentstospecifydelaysbasedonexternaldevicetiming(resultsreportedinClockSetuporClockHoldTimingAnalyzerreports).BothtypesofI/Otimingrequirementsultimatelyproducesimilarresultsthroughdifferentmethods.ThefollowingexampleillustratesthissimilaritybyshowinghowassigningeitheratsuRequirementorInputMaximumDelayrequirementachievesarequiredclockperiod.Theexampleassumesa10nsclockperiodrequirement,4nsexternaldelay,andzeroclockdelay(forsimplification).参见图示twomethodsfor

specifyingI/Otimingrequirements.TwoorMoreRegisterOutputsinCascadeShouldNotDirectlyDriveClockPortsofFollowingRegisters(DesignAssistantRule)

Adesignshouldnotcontainrippleclockstructures,thatis,structureswheretheoutputsoftwoormoreregistersinacascadeeachdirectlydrivestheinputclockportofthefollowingregisterinthecascade.ThefollowingimageshowsanexampleofarippleclockstructureEachstageofarippleclockstructurecausesphasedelay,whichaccumulatesandresultsinlargeskewsinthestructure'soutputsignal;thelargeskewcancauseproblemswhenyouusetherippleclockstructureasaclocksignalforothercircuits.Eachstageofarippleclockstructurealsocausesanewclockdomaintobedefined;theadditionalclockdomainsmaketiminganalysisofthedesignmorecomplexandtime-consuming.Rippleclockstructuresareoftenusedtomakecountersoutofthesmallestamountoflogicpossible.However,inallAltera®devicessupportedbytheQuartus®

IIsoftware,usingarippleclockstructuretoreducetheamountoflogicusedforacounterisunnecessarybecausethedeviceallowsyoutoconstructacounterusingonelogicelementpercounterbit.返回tSU(clocksetuptime)

Thelengthoftimeforwhichdatathatfeedsaregisterviaitsdataorenableinput(s)mustbepresentataninputpinbeforetheclocksignalthatclockstheregisterisassertedattheclockpin.IntheQuartus®

IIsoftware,youcanspecifyarequiredtSUfortheentireprojectand/orforanyinputpin,bidirectionalpin,inputregister,orclock.Youcanalsospecifyapoint-to-pointtSUrequirementbetweenaninputpinandaregister.TheTimingAnalyzercalculatestSUusingthefollowingequation: tSU=<pintoregisterdelay> +<microsetupdelay>-<clocktodestinationregisterdelay>返回tH(clockholdtime)

Theminimumlengthoftimeforwhichdatathatfeedsaregisterviaitsdataorenableinput(s)mustberetainedataninputpinaftertheclocksignalthatclockstheregisterisassertedattheclockpin.IntheQuartus®

IIsoftware,youcanspecifyarequiredtHfortheentireprojectand/orforanyinputpin,bidirectionalpin,inputregister,orclock.Youcanalsospecifyapoint-to-pointtHrequirementbetweenaninputpinandaregister.TheTimingAnalyzercalculatestHusingthefollowingequation:tH=<clocktodestinationregisterdelay>+<microholddelayofdestinationregister>-<pintoregisterdelay>返回tCO(Clocktooutputdelay)

Themaximumtimerequiredtoobtainavalidoutputatanoutputpinthatisfedbyaregisterafteraclocksignaltransitiononaninputpinthatclockstheregister.Thistimealwaysrepresentsanexternalpin-to-pindelay.IntheQuartus®

IIsoftware,youcanspecifytherequiredtCOfortheentireprojectand/oranyclocksignal,anyregisterdrivinganoutputorbidirectionalpin,oranyoutputorbidirectionalpindrivenbyaregister.Youcanalsospecifyapoint-to-pointtCOrequirementbetweenaclockandaregister,aclockandanoutputpin,oraregisterandanoutputpin.tCOiscalculatedusingthefollowingequation:tCO=<clocktosourceregisterdelay> +<microclocktooutputdelay> +<registertopindelay>返回DesignAssistantRulesClock

CombinationallogicusedasclocksignalshouldbeimplementedaccordingtoAltera®standardscheme

Invertershouldnotbeimplementedinlogiccell

Inputclockpinshouldfanouttoonlyonesetofcombinationallogicusedasclocksignal

Clocksignalsourceshoulddriveonlyinputclockports

Clocksignalshouldbeaglobalsignal

Clocksignalsourceshouldnotdriveregistersthataretriggeredbydifferentclockedges

Reset

Combinationallogicusedasresetsignalshouldbesynchronized

Externalresetshouldbesynchronizedusingtwocascadedregisters

Externalresetshouldbecorrectlysynchronized

Resetsignalsourceshoulddriveonlyinputresetports

Resetsignalthatisgeneratedinoneclockdomainandusedinother,asynchronousclockdomainsshouldbesynchronized

Resetsignalthatisgeneratedinoneclockdomainandusedinother,asynchronousclockdomainsshouldbecorrectlysynchronized

TimingClosure

Nodeswithmorethanspecifiednumberoffan-outs:<n>

Topnodeswithhighestfan-out:<n>

Registeroutputdirectlydrivesinputofanotherregisterwhenbothregistersaretriggeredatsametime

Registersindirectdatatransferbetweenclockdomainsaretriggeredbyclockedgesatthesametime

Non-synchronousdesignstructure

Designshouldnotcontaincombinationalloops

Registeroutputshouldnotdriveitsowncontrolsignaldirectlyorthroughcombinationallogic

Designshouldnotcontaindelaychains

Twoormoreregisteroutputsincascadeshouldnotdirectlydriveclockportsoffollowingregisters

PulsesshouldbeimplementedaccordingtoAlterastandardscheme

Multiplepulsesshouldnotbegeneratedindesign

DesignshouldnotcontainSRlatches

Designshouldnotcontainlatches

CombinationallogicshouldnotdirectlydrivewriteenablesignalofasynchronousRAM

Designshouldnotcontainasynchronousmemory

Signalrace

Outputenableandinputoftri-statenodeshouldnotbedrivenbysamesignalsource

Asynchronousclockdomains

Databitsarenotsynchronizedwhentransferredbetweenasynchronousclockdomains

Alldatabitsthataretransferredbetweenasynchronousclockdomainsaresynchronized

Databitsarenotcorrectlysynchronizedwhentransferredbetweenasynchronousclockdomains

HardCopy™rules

OnlyoneVREFpinshouldbeassignedtoHardCopytestpininanI/Obank

PLLdrivesmultipleclocknetworktypes

Assignmentchecking

Designismissingfmaxrequirement

Designismissingtco,tpd,ortsurequirement

保持时间关系:图

1保持时间关系:图2保持时间关系:图2holdrelationship〔1〕Theassumedholdtimingrelationshipbetweenthesourceanddestinationclocksinamulticyclepath.TheTimingAnalyzerassumesthemoststringentholdrelationship(0nsbydefault)whenanalyzingpathsbetweenregisters.TheTimingAnalyzerperformsthefollowingtwoholdcheckstoverifythateachdesignmeetstheconditionsofthedefaultholdrelationship.TheTimingAnalyzerreportsaninternalholdviolationintheClockHoldsectionoftheCompilationReportwhenareceivingclockispresentedwithdatathatdoesnotmeettheseholdrelationshipchecks.

Guidelinesholdrelationship〔2〕Holdrelationshipcheck1Verifiesthatdatafromthesourceclockedge,whichfollowsthesetuplaunchedge,isnotlatchedbythesetuplatchedge.Holdrelationshipcheck2Verifiesthatdatafromthesetuplaunchedgeisnotlatchedbythedestinationclockedgethatprecedesthesetuplatchedge.Thefollowingillustrationshowsthedefaultholdrelationshipforamultifrequencypath.holdrelationship〔3〕YoucanrelaxthedefaultholdrelationshipinvariouswaysbyassigningtheHoldRelationship,MinimumDelay,MulticycleHold,SourceMulticycleHold,ClockEnableMulticycleHold,orClockEnableSourceMulticycleHoldtimingassignments.Figure2showshowassigningaMulticycleHoldvalueof2affectstheholdrelationship.Bydefault,theTimingAnalyzerassumesthattheDefaultMulticycleHoldsettingisthesameastheMulticyclesetting.Therefore,ifyouassignaMulticycle,SourceMulticycle,ClockEnableMulticycle,orClockEnableSourceMulticycleassignment,thecorrespondingholdrequirementissimilarlychangedunlessyouspecifyaspecificvaluefortheholdrequirement.Forexample,figure3showshowtheholdrequirementisaffectedbybothanimpliedandspecifiedholdrequirement.内部保持时间违规:图1内部保持时间违规:图2CauseofInternalHoldViolationsAninternalholdviolationoccurswhenareceivingclockispresentedwithdatathathasnotmettheholdrequirement.Thisconditionusuallyoccursbecauseofclockskewintroducedbygatedclocksinthedesign.Theexamp

温馨提示

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

评论

0/150

提交评论