XilinxXDC約束學(xué)習(xí)筆記_第1頁(yè)
XilinxXDC約束學(xué)習(xí)筆記_第2頁(yè)
XilinxXDC約束學(xué)習(xí)筆記_第3頁(yè)
XilinxXDC約束學(xué)習(xí)筆記_第4頁(yè)
XilinxXDC約束學(xué)習(xí)筆記_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、時(shí)間:2015-05-17文檔:目錄TOC o 1-5 h z HYPERLINK l bookmark0第一章介紹3一、UCF向XDC的遷移3二、關(guān)于XDC約束3 HYPERLINK l bookmark2三、添加(Entering)XDC約束4 HYPERLINK l bookmark4第二章約束方法論4 HYPERLINK l bookmark6一、管理(Organizing)約束文件4 HYPERLINK l bookmark10二、約束命令排序(OrderingYourConstraints)6 HYPERLINK l bookmark12三、添加約束(EnteringConstra

2、ints)10四、創(chuàng)建綜合約束12第一章介紹一、UCF向XDC的遷移XDC(XilinxDesignConstraints)約束不同于UCF(UserConstraintsFile)約束,XDC約束是基于SDC(SynopsysDesignConstraints)約束格式的。SDC已經(jīng)被使用并演進(jìn)(evolving)20多年了,這使得它是一種流行的、經(jīng)過驗(yàn)證的、用于描述設(shè)計(jì)約束的方法。如果你熟悉UCF,且剛剛開始接觸xdc的話,請(qǐng)學(xué)習(xí)進(jìn)部分(UG911)。為了正確地約束設(shè)計(jì),必須要正確理解XDC與UCF的不同之處通過UCF到XDC格式轉(zhuǎn)換的方法實(shí)現(xiàn)XDC的創(chuàng)建,是不能代替對(duì)XDC語(yǔ)法以及創(chuàng)建X

3、DC約束的理解的,所以需要理解XDC的原理。二、關(guān)于XDC約束XDC約束由以下部分組成:1、工業(yè)標(biāo)準(zhǔn)的SynopsysDesignConstraint(SDC),和2、Xilinx公司所有的物理約束(physicalconstraint);XDC約束具有如下特性:1、XDC約束不是簡(jiǎn)單的字符(strings),而是遵循Tcl語(yǔ)法規(guī)則的命令;2、XDC約束可以像任何Tcl命令一樣被VivadoTcl解析器解析;3、XDC約束像其他Tcl命令一樣被順序的讀入和解析;三、添加(Entering)XDC約束在設(shè)計(jì)的不同節(jié)點(diǎn),有三種方法添加XDC約束:1、將約束保存成可以加入到工程約束集(project

4、constraintsset)的一個(gè)或者多個(gè)文件(GUI方式);2、使用read_xdc命令讀取約束文件(批處理方式);3、打開工程的時(shí)候(即將設(shè)計(jì)導(dǎo)入內(nèi)存),在Tcl控制臺(tái)中直接調(diào)用約束命令(命令行方式);第二章約束方法論這一章將討論推薦地添加約束的流程(ConstraintsEntryFlow)。設(shè)計(jì)約束定義了編譯流程(theCompilationFlow)中必須滿足的設(shè)計(jì)需求,以使設(shè)計(jì)上板測(cè)試時(shí)功能能夠正確。在編譯流程中,每個(gè)步驟使用不同的約束,例如物理約束會(huì)在實(shí)現(xiàn)(Implementation)步驟中使用,實(shí)現(xiàn)步驟包括Placer(布局)和Router(布線)。因?yàn)閂ivadoIDE(

5、VivadoIntegratedDesignEnvironment)綜合(Synthesis)與實(shí)現(xiàn)(Implementation)算法是時(shí)序驅(qū)動(dòng)的(Timing-driven),所以需要?jiǎng)?chuàng)建適宜的(proper)時(shí)序約束。過緊約束(Over-constraining)與過松約束(Under-constraining)會(huì)使設(shè)計(jì)的時(shí)序逼近變得困難。所以,設(shè)計(jì)者必須使用切合設(shè)計(jì)應(yīng)用需求的約束。一、管理(Organizing)約束文件VivadoIDE允許使用一個(gè)或者多個(gè)約束文件。對(duì)設(shè)計(jì)項(xiàng)目來說,在整個(gè)編譯過程中僅使用一個(gè)約束文件似乎是方便的,但是隨著設(shè)計(jì)復(fù)雜度的提升,會(huì)越來越難以掌控約束。Xili

6、nx建議將時(shí)序約束(timingconstraints)與物理約束(physicalconstraint)分開保存為獨(dú)立的文件。1、工程流程(ProjectFlow)在創(chuàng)建新工程的過程中,可以將約束文件XDC添加文件到約束集(ConstraintsSet),建好工程后添加也可。Figure2-1,顯示一個(gè)工程中添加兩個(gè)文件:第一個(gè)約束集包含2個(gè)XDC文件;第二個(gè)約束集包含了一個(gè)帶有所有約束的文件;I-話-DesignScuroes.VwBogHeader:4;yg:-ConsirairHs:二i匚constrs_lHd茁*片:wave_gen_pHisj(dc?-kEioonstrs_2jwa

7、vejgen.xdc住SimutationSources:.Figure2-1SingleorMultiXDC2、Non-ProjectFlows在no-project流程中,執(zhí)行編譯命令之前讀取每個(gè)約束文件也可以取得ProjectFlow的相同效果。xampleScriptread_verilogglobsrc/*.vread_xdcwave_gen_timing.xread_xdcwave_gen_pins.xdcsynth_designtopwave_genopt_designplace_designroute_design3、約束文件的綜合與實(shí)現(xiàn)屬性默認(rèn)情況下,添加到工程的約束文件帶有

8、綜合和實(shí)現(xiàn)兩種屬性。通過如下方法改變約束文件的屬性:1)在Sourcewindow中選擇約束文件2)勾選實(shí)現(xiàn)屬性,不勾選綜合屬性;3)點(diǎn)擊應(yīng)用;Figure2-2:SourceFilePropertiesWindow等效的Tel命令是:set_propertyused_in_synthesisfalseget_fileswave_gen_pins.xdcset_propertyused_in_implementationtrueget_fileswave_gen_pins.xde、約束命令排序(OrderingYourConstraints)因?yàn)閄DC約束是按順尋應(yīng)用的,且根據(jù)之前的順序規(guī)則進(jìn)

9、行優(yōu)化,所以要仔細(xì)檢查約束的順序。推薦的約束順序如下,無論使用一個(gè)還是多個(gè)約束文件,都應(yīng)該按照下面的順序安排約束。1、推薦的約束命令順序#TimingAssertionsSection#Primaryclocks#Virtualclocks#Generatedclocks#ClockGroups#Inputandoutputdelayconstraints#TimingExceptionsSection#FalsePaths#MaxDelay/MinDelay#MulticyclePaths#CaseAnalysis#DisableTiming#PhysicalConstraintsSecti

10、on#locatedanywhereinthefile,preferablybeforeorafterthetimingconstraints#orstoredinaseparateXDCfile當(dāng)使用多個(gè)約束文件時(shí),彼此的約束定義最好不要相關(guān),如果相關(guān)的話,就要合理安排XDC文件的順序。約束文件是按文件的順序讀入的。2、新編輯的約束命令的順序VivadoIDE約束管理器(manager)將被重新編輯的約束命令保存到它位于XDC文件的原始位置。任何新添加的約束文件將被保存到帶有target屬性的約束文件結(jié)尾處。在大多數(shù)情況下,當(dāng)約束集帶有多個(gè)約束文件時(shí),帶有target屬性的約束文件通常不是最

11、后(last)一個(gè)文件,即當(dāng)打開工程時(shí)該約束文件不是最后導(dǎo)入的。因此,保存在硬盤中的約束可能與之前內(nèi)存中的約束不通(Vivado軟件打開工程時(shí),會(huì)將約束導(dǎo)入內(nèi)存。此時(shí)添加新約束時(shí),該新約束被寫入內(nèi)存中,且是位于最后順序的。而將約束保存到文件后,會(huì)將該約束保存到帶有target屬性的文件中,當(dāng)下次打開工程時(shí),約束的順序就與之前不同了)。3、約束文件的順序在沒有任何IP的工程中,所有的約束文件都位于一個(gè)約束集(ConstraintsSet)之中。默認(rèn)情況下,VivadoIDE所顯示的XDC文件的順序,就定義了工具將綜合設(shè)計(jì)導(dǎo)入內(nèi)存時(shí)讀取約束文件的順序約束集中約束列表的最頂端約束被最先讀到內(nèi)存,最下

12、邊的約束被最后讀入內(nèi)存。該約束的順序可以通過設(shè)置改變。例如,下圖中約束文件順序的改變。El-空CQIirssriMtOflTestatertirarehyIPSeurttSLjbfantS-C&niieQrdiiSources.NsHetTemdabej;XDCfilesintheIPSources默認(rèn)情況下,設(shè)計(jì)者的XDC文件會(huì)先于IP的約束文件被讀入到內(nèi)存。對(duì)于一些定義了PrimaryClock的IP來說,有些特別(Execption)之處,例如ClockingWizard。這種情況下,IPXDC文件默認(rèn)會(huì)被最先讀入到內(nèi)存中??梢酝ㄟ^PROCESSING_ORDER屬性來控制約束文件的順序

13、。丄EARLY:文件會(huì)被最先讀入;丄NORMAL:(Default);LATE:文件會(huì)被最后讀入;帶有上述相同屬性的約束文件將由VivadoIDE軟件中的先后順序決定讀入的順序。先創(chuàng)建的帶有XDC的IP,與后創(chuàng)建的帶有相同屬性XDC的IP,先創(chuàng)建IP的XDC將優(yōu)先讀入,且不可更改順序。丄UserConstraintsmarkedasEARLY;丄IPConstraintsmarkedasEARLY;丄UserConstraintsmarkedasNORMAL;丄IPConstraintsmarkedasNORMAL;丄IPConstraintsmarkedasLATE;丄UserConstra

14、intsmarkedasLATE;SettingtheXDCFilePROCESSING_ORDERExample4、更改約束文件的順序SelecttheXDCfileyouwanttomove.DraganddroptheXDCfiletothedesiredplaceinthelist.三、添加約束(EnteringConstraints)VivadoIDE提供了幾種方法來添加約束文件,如果沒有通過文本編輯器直接編寫的話,那么必須要打開一個(gè)設(shè)計(jì)數(shù)據(jù)庫(kù)(即一個(gè)project)來訪問constraints窗口。1、將內(nèi)存里的約束進(jìn)行保存在編輯約束的時(shí)候,需要打開一個(gè)設(shè)計(jì)來驗(yàn)證約束的正確性。當(dāng)使

15、用VivadoIDE軟件GUI方式來編輯約束的時(shí)候(除了TimingConstraintEditor之外),會(huì)在TCL控制臺(tái)中產(chǎn)生等效的XDC命令,目的是為了將約束應(yīng)用到內(nèi)存中。在進(jìn)行綜合和實(shí)現(xiàn)之前,需要將內(nèi)存中的約束保存到XDC文件。手動(dòng)保存約束:1、clickSave,或者2、slecetFileSaveConstraint2、添加約束方法(Flow)的選擇1)UserInterfaceOption(UI)這種方法是指VivadoIDEEditors,例如Device、Physical、Timing或者其他方法,如TclConsole。在VivadoIDE管理約束的時(shí)候,不能同時(shí)編輯XDC

16、文件。當(dāng)VivadoIDE保存內(nèi)存中的內(nèi)容時(shí):被修改的約束會(huì)代替原約束文件中的約束;新產(chǎn)生的約束會(huì)被附加到target文件中;XDC文件中的所有手動(dòng)修改內(nèi)容會(huì)被覆蓋;PINAssignmentSelecttheI/OPlanningpre-configuredlayout.Openthewindowsshowninthefollowingtable.ClockResourcesAssignmentSelecttheClockPlanningpre-configuredlayout.Openthewindowsshowninthefollowingtable.Floorplanning1.Sel

17、ecttheFloorplanningpre-configuredlayout.Openthewindowsshowninthefollowingtable2)HandEditOption手動(dòng)編輯的時(shí)候,可能需要在Tel控制臺(tái)中驗(yàn)證約束的語(yǔ)法,當(dāng)關(guān)閉或者重新導(dǎo)入設(shè)計(jì)時(shí),必須忽略內(nèi)存中的修改。O當(dāng)保存約束發(fā)生沖突時(shí),可以選擇:A.忽略內(nèi)存中的改變,或者另存新文件,或者覆蓋XDC文件VES|GUlOfctcn:VESEilrlDptionlNemore-占MRzenurweHjnt!SyCiuFiRurlgOiphil伽:OUisaveuoXDCH已劉iwwor梃剛infflHand申;鈕:山ew

18、m吋(ordecaniBHh*妙iinapjUse區(qū)涵IDEetfigIDevLunTulfrrNnOint*.)bToCWOHI.ECilMDG鬧H&HEdftX2.3=grND匸電Hem1RetaSO咖riJRjnFigure2-4:ConstraintsEditingFlow3、TimingConstraints時(shí)序約束窗口只有在綜合與實(shí)現(xiàn)之后才會(huì)有效WiriMb血jiLayoutViewHelpProjectSymmaryA女iti疋皀dTempire羊PropErtrt5Ctrt+EG站虻tinriJI甌皿HPhyticalCn-drairrt-盤liming匚qfiHwMa-Pdc

19、kagePmiI/OPom室IClockRegions鼻Dehug*Metrics*yntheK魁SrrzhesBSettngsR*jrSlfl7thE5SJ亠丨SjyHfeMdDfeapnRBpWtTfWflSLfflTWvpfteportObckNehwks,RflpbtDm*詢尅*eZ|lReportDRC囲RspodNotK耳RtjrlLTBiUilWi二jSthemafic電Implmentatiar:Se-tlngs.Rlt*iIrernefiUiWiIniplgdtejgageIr-Eiit7imngConsirBhts(2|ftipwdThrigSunms-y總!ibeponC

20、M.JnfeMfianHepartDfLC圉WiNfrHife剁taKSTTUhlrwixin輜碗阿i伽erMultipleMethodsforOpeningtheTimingConstraintsWindow約束編輯器顯示內(nèi)存中的時(shí)序約束,該約束要么:與約束文件中的約束相同順序,要么與Tel平臺(tái)輸入的約束命令相同順序;約束編輯器可以創(chuàng)建多種約束,但是僅僅是把約束應(yīng)用到內(nèi)存中所以,需要將約束保存后,才可以記錄到XDC文件中。四、創(chuàng)建綜合約束1、綜合約束有三種:RTLAttributesTimingConstraintsPhysiealandConfigurationConstraintsRTL

21、Attributes:該約束必須寫在RTL代碼中(查看Ug901)。被應(yīng)用在XDC中的RTL屬性約束僅有DONT_TOUCH。set_propertyDONT_TOUCHtrueget_eellsfsm_regTimingConstraints:ereate_eloeereate_generated_eloeset_input_delayset_output_delayset_eloek_groupsset_false_pathset_max_delayset_multieyele_pathPhysiealandConfigurationConstraints:綜合過程忽略該約束。2、RTL-BasedXDC迭代推薦:在設(shè)計(jì)第一個(gè)版本的約束文件時(shí),可以使用簡(jiǎn)單的約束來描述頂層設(shè)計(jì)(high-leveldesign)的需求。在設(shè)計(jì)的該階段,線網(wǎng)延時(shí)的模型仍然是不精確的。該階段添加約束的主要目的,是在布局布線開始之前獲得滿足初步時(shí)序要求或者帶有少量Timing-failled的網(wǎng)表。多數(shù)情況下,獲得時(shí)序滿足可能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論