版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
讓-XDC-時序拘束為您效勞讓-XDC-時序拘束為您效勞讓-XDC-時序拘束為您效勞讓XDC時序拘束為您效勞AdamTaylore2v企業(yè)首席工程師aptaylor@時序和布局拘束是實現(xiàn)設計要求的重點要素。本文是介紹其使用方法的入門讀物。達成RTL設計不過FPGA設計量產(chǎn)準備工作中的一局部。接下來的挑戰(zhàn)是保證設計知足芯片內的時序和性能要求。為此,您常常需要定義時序和布局拘束。我們認識一下在鑒于賽靈思FPGA和SoC設計系統(tǒng)時怎樣創(chuàng)辦和使用這兩種拘束。時序拘束最根本的時序拘束定義了系統(tǒng)時鐘的工作頻次。但是,更高級的拘束能成即刻鐘路徑之間的關系。工程師利用這種拘束確立能否有必需對路徑進行剖析,或許在時鐘路徑之間不存在有效的時序關系時忽視路徑。默認狀況下,賽靈思的Vivado?設計套件會剖析所相關系。但是,并不是設計中的全部時鐘之間都有能夠正確剖析的時序關系。比如當時鐘是異步的,就沒法正確確立它們的相位,如圖1所示。文檔圖1–時鐘域CLK1和CLK2互相之間異步。您可經(jīng)過在拘束文件中申明時鐘組來管理時鐘路徑之間的關系。當申明時鐘組時,Vivado工具不會對組內定義的時鐘之間的任何方向履行時序剖析。為了有助于生成時序拘束,Vivado工具將時鐘定義為三種種類:同步、異步或不行擴展。同步時鐘擁有可展望的時序/相位關系。往常主時鐘及其衍生時鐘切合這種特征,因為它們擁有公共的根發(fā)源和周期。?異步時鐘之間不具備可展望的時序/相位關系。往常不一樣的主時鐘〔及其衍生時鐘)切合這種特征。異步時鐘有不一樣的發(fā)源。?假如超出1,000個周期后,仍沒法確立公共周期,那么兩個時鐘就是不行擴展的。假如是這種狀況,將使用1,000個周期內的最差成即刻間關系。可是,沒法保證這就是實質的最差狀況。使用Vivado生成的時鐘報告來確立您所辦理的時鐘是哪一種種類。該報告可幫助您辨別異步和不行擴展時鐘。申明多周期路徑能實現(xiàn)更適合并且要求放松的時序剖析,進而讓時序引擎集中辦理其余更關鍵的路徑。文檔辨別出這些時鐘后,您便可利用“setclockgroup〞拘束嚴禁它們之間的時序剖析。Vivado套件使用的是賽靈思設計拘束(XDC),其鑒于寬泛使用的Tcl拘束格式的Synopsys設計拘束(SDC)。經(jīng)過XDC拘束,您可使用以下命令定義時鐘組:set_clock_groups-name-logically_exclusive-physically_exclusive-asynchronous-group-name是為組給予的名稱。-group選項是定義構成員〔即沒有時序關系的時鐘〕的地點。當有多個用來驅動時鐘樹的時鐘源可供選擇,包含BUFGMUX和BUFGCTL,應使用logically和physicallyexclusive選項。進而,這些時鐘不可以同時出此刻時鐘樹上。所以,我們不希望Vivado剖析這些時鐘之間的關系,因為它們是互斥的。最后,–asynchronous拘束可用來定義異步時鐘路徑。成即刻序關系的最后一個方面是考慮時鐘的非理想關系,特別是顫動。您需要考慮兩種形式的顫動:輸入顫動和系統(tǒng)顫動。輸入顫動出此刻主時鐘輸入上,表達了實質跳變出現(xiàn)時間與理想條件下跳變出現(xiàn)時間之間的差別。系統(tǒng)顫動源自設計中存在的噪聲。您能夠使用set_input_jitter拘束來定義每個主輸入時鐘的顫動。同時,使用set_system_jitter拘束為整個設計(全部時鐘)設定系統(tǒng)顫動。時序例外當有時序例外時,您還一定關注已定義的時鐘組內發(fā)生了什么。但是,什么是時序例外呢?一種常有的時序例外是只有每隔一個時鐘周期所采樣的結果。另一種狀況是將數(shù)據(jù)從慢時鐘傳輸?shù)礁斓臅r鐘〔或相反),此中兩個時鐘都是同步的。事實上,這兩種時序例外一般被稱為多周期路徑,如圖2所示。文檔圖2–多周期路徑是一種時序例外的例子。為這些路徑申明多周期路徑能實現(xiàn)更適合并且要求放松的時序剖析,進而讓時序引擎集中處理其余更重點的路徑。最后的好處是能夠提升結果質量。您能夠在XDC文件中使用以下XDC命令申明多周期路徑:set_multicycle_pathpath_multiplier[-setup|-hold][-start|-end][-from][-to][-through]當您申明多周期路徑時,其實是將成立或保持(或兩者皆有)剖析要求與path_mutiplier相乘。比如在上邊的第一個實例中,每兩個時鐘周期有一次輸出,所以關于成即刻序而言path_multiplier是2。因為多周期路徑既可應用到成即刻間又可應用到保持時間,那么您能夠選擇其應用地點。當您申明成即刻間乘數(shù)時,最正確做法往常是使用下邊的公式同時申明一個保持時間乘數(shù)。保持周期=成立乘數(shù)–1–保持乘數(shù)文檔這關于我們所介紹的以下簡單實例意味著,保持乘數(shù)由下邊這個公式確立:保持乘數(shù)=成立乘數(shù)–1,當使用公共時鐘時。為了演示多周期路徑的重要性,我創(chuàng)辦了一個簡單實例,您可在這里下載。在XDC文件中有一個實例包含了成立和保持這兩個已被同時申明的多周期路徑。物理拘束最常用的物理拘束是I/O引腳布局和與I/O引腳相關的參數(shù)定義,比如標準驅動強度??墒牵€有其余種類的物理拘束,包含布局、布線、I/O和配置拘束等。布局拘束能夠定義單元的地點,而布線拘束可用來定義信號的布線。I/O拘束可用來定義I/O地點及其參數(shù)。最后,配置拘束可用來定義配置方法。相同,也有一些拘束不屬于這幾組拘束。Vivado設計套件包含三種這樣的拘束,它們主要用于網(wǎng)表中。DONT_TOUCH–該拘束可用來阻擋優(yōu)化,這樣當實現(xiàn)安全重點型或高靠譜性系統(tǒng)時該拘束會特別實用。?MARK_DEBUG–該拘束可用來保留RTL信號,以便隨后用于調試。?CLOCK_DEDICATED_ROUTE–該拘束可用來辨別時鐘布線。最常用的拘束與I/O布局和I/O的配置相關。將I/O放在FPGA上,需要使用布局約束找到物理引腳,使用I/O拘束配置I/O標準和斜率等I/O屬性?,F(xiàn)代化的FPGA支持多種單端和差分I/O標準。這些均可經(jīng)過I/O拘束來進行定義。不過,您一定保證恪守I/OBanking規(guī)那么,這取決于最后的引腳布局。文檔但什么是I/OBanking規(guī)那么?將FPGA中的用戶I/O分組為假定干個Bank,每個Bank包含多組I/O。這些Bank擁有獨立的電壓源,能支持多種I/O標準。在Zynq?-7000AllProgrammableSoC〔以及其余7系列器件)中,I/OBank被進一步分為高性能和大范圍這兩個大的組別。這種類型區(qū)分能進一步拘束性能,并要求工程師針對接口使用正確的類型。高性能(HP)類型針對更高的數(shù)據(jù)速率進行了精心優(yōu)化。它使用更低的工作電壓,并且不支持LVCMOS3v3和2v5。另一個是大范圍(HR)類型,其可辦理HP不支持的更多I/O標準。所以,HR支持傳統(tǒng)的3v3和2v5接口。圖3給出了這些Bank。文檔圖3–賽靈思7系列器件上的高性能(左)和大范圍I/OBank當您決定為信號使用哪一種Bank后,仍舊能夠改正信號驅動強度和斜率。這些都是硬件設計團隊很感興趣的指標,因為他們要努力保證單板的信號完好性抵達最優(yōu)。選擇結果還會影響單板設計的時序。為此,您能夠使用信號完好性工具。SI工具需要IBIS模型。當您打開了ImpelmentedDesign時,您可使用File->Export->ExportIBIS模型選項從Vivado工具中提取設計的IBIS模型。而后,使用該文件封閉解決系統(tǒng)級SI問題和最后PCB布局的時序剖析。文檔假如設計團隊整體上對SI性能以及系統(tǒng)的時序感覺滿意,您就會獲取針對設計中I/O的多個拘束,以下所示。set_propertyPACKAGE_PING17[get_ports{dout}]set_propertyIOSTAN-DARDLVCMOS33[get_ports{dout}]set_propertySLEWSLOW[get_ports{dout}]set_propertyDRIVE4[get_ports{dout}]關于HPI/OBank,您還可使用數(shù)控阻抗正確做IO端接并增添系統(tǒng)的SI,無需使用外面端接方案。假如沒有信號驅動I/O,比如將I/O連結到外面連結器,這時您還一定考慮I/O的影響。這種狀況下,您可使用I/O拘束實現(xiàn)上拉或下拉電阻,以防備因為FPGA輸入信號懸置而致使系統(tǒng)問題。自然,您也能夠使用物理拘束在I/Oblock內擱置最后的輸出觸發(fā)器,以改良設計的時序。這樣做能縮短clocktoout的時間。您也能夠對輸入信號做相同的辦理,以使設計知足引腳到引腳的成立和保持時間要求。物理拘束從布局開始您可能出于多種原由想對布局進行拘束,比如幫助抵達時序要求,或許在設計的不一樣地區(qū)間實現(xiàn)隔絕。就此而言,有三種種類的拘束很重要:BEL–將網(wǎng)表單元放在slice中的根本的邏輯元素。LOC–將網(wǎng)表的單元放在器件內的一個地點。PBlock–可使用物理(或“P〞)block將邏輯block拘束到FPGA的一個地區(qū)。文檔所以,LOC同意在器件內定義一個slice或其余地點;BEL拘束可用來定義觸發(fā)器在slice中使用的更精美粒度。當對設計的大面積地區(qū)進行分段時,PBlock可用來將邏輯會合在一起。PBlock的另一個用途是在履行局部重配置時定義邏輯地區(qū)。有些狀況下,您需要將較小的邏輯功能放在一組,以保證時序抵達最正確。只管能夠用PBlock來實現(xiàn),但更常有的方法是使用相對擱置的宏命令。相對擱置的宏命令(RPM)同意將DSP、觸發(fā)器、LUT和RAM等設計元素在布局中放在一起。與PBlock不一樣,RPM不會將這些元素的地點拘束在器件的特定地區(qū)(除非您想這樣做),而是在布局時將這些元素放在一同。將設計元素放在一同能實現(xiàn)兩個目標。這樣能改良資源效率,讓您能夠精美調理互聯(lián)長度,以實現(xiàn)更好的時序性能。要將設計元素放在一同,可使用三種種類的拘束,這些拘束用HDL源文件進行定義。?U_SET可定義一個與層級沒關的單元RPM集。HU_SET可定義有層級的單元RPM集RLOC給定義好的SET分派相對地點。RLOC拘束被定義為RLOC=X
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川電影電視學院《表演基礎訓練》2021-2022學年第一學期期末試卷
- 合同法228條對應民法典
- 《上海房產(chǎn)交易稅》課件
- 沈陽城市學院《法理學》2021-2022學年第一學期期末試卷
- 水利工程合同簽訂及執(zhí)行管理辦法
- 農(nóng)業(yè)科技顧問招聘合同
- 水利工程灰工施工合同
- 建筑電器簡易施工合同
- 空手道館施工合同
- 風力發(fā)電的安全培訓
- WDZANYJY23低壓電力電纜技術規(guī)格書
- 抗高血壓藥物基因檢測課件
- 醫(yī)院管理醫(yī)院應急調配機制
- (公開課)文言文斷句-完整版課件
- 小學生性教育調查問卷
- 醫(yī)院感染管理質量持續(xù)改進反饋表
- 旅游行政管理第二章旅游行政管理體制課件
- 學生崗位實習家長(或法定監(jiān)護人)知情同意書
- 衛(wèi)生院關于召開基本公共衛(wèi)生服務項目培訓會的通知
- JJF(電子)0036-2019 示波器電流探頭校準規(guī)范-(高清現(xiàn)行)
- 飛機試飛運行管理+調機飛行運行管理規(guī)定
評論
0/150
提交評論