約束與時延分析_第1頁
約束與時延分析_第2頁
約束與時延分析_第3頁
約束與時延分析_第4頁
約束與時延分析_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

約束與時延分析第一頁,共五十二頁,編輯于2023年,星期三本章主要內(nèi)容約束的基本概念管腳約束時序約束約束的分析方法靜態(tài)時延分析第二頁,共五十二頁,編輯于2023年,星期三6.1約束的目的約束的終極目的就是為了設計達到所要實現(xiàn)的功能主要有如下幾個方面的作用。管腳位置鎖定及電氣標準設定。提高設計的工作頻率。獲得正確的時序分析報告。第三頁,共五十二頁,編輯于2023年,星期三6.2管腳約束及電氣標準設定管腳約束是CPLD/FPGA的基礎之一。管腳約束主要有三種方式:一是采用各家公司的集成開發(fā)環(huán)境來實現(xiàn)管腳約束二是設計專門的管腳約束文件三是采用注釋的方式在代碼中自動鎖定第四頁,共五十二頁,編輯于2023年,星期三6.2.1管腳約束文件不同的廠商支持不同的管腳約束文件如Lattice所采用的管腳約束文件為.lpf文件Xilinx支持的管腳約束文件為.ucf文件Altera所使用的管腳約束文件為.qsf文件。第五頁,共五十二頁,編輯于2023年,星期三Xilinx公司的管腳約束文件.ucf文件的語法規(guī)則:通用規(guī)則:.ucf文件對于大小寫敏感,也就是是說同一單詞的大小寫不同表示不同的含義,標識符必須與代碼中的名字一致。但是約束中的關鍵字對大小寫不敏感。語句以分號結尾,一個語句可以多行表述。語句之間不分先后次序,不過建議管腳約束順序與代碼中管腳列表順序一致。采用“#”或者“

”的方式來進行注釋第六頁,共五十二頁,編輯于2023年,星期三6.3時序約束的基本概念時序約束是指路徑之間的約束,任何一條路徑都有起點和終點,最重要的是,路徑是不能穿過觸發(fā)器的CPLD/FPGA至少有三種不同的基本路徑:一是觸發(fā)器到觸發(fā)器之間的路徑;一是從輸入端口到內(nèi)部觸發(fā)器之間的路徑;一是從內(nèi)部觸發(fā)器到輸出端口之間的路徑。時序約束有幾個重要的基本概念:建立時間、保持時間、時鐘到輸出延時、傳播延時等等。第七頁,共五十二頁,編輯于2023年,星期三圖6–1簡單的時序模型第八頁,共五十二頁,編輯于2023年,星期三6.3.1路徑Clock-to-setup路徑Clock-to-setup路徑是我們常見到的時序模型,一般用來描述CPLD/FPGA內(nèi)觸發(fā)器之間的延時。圖6–2時序模型示意圖第九頁,共五十二頁,編輯于2023年,星期三圖6–3時序邏輯波形示意圖第十頁,共五十二頁,編輯于2023年,星期三路徑的延時包括:源端觸發(fā)器的時鐘端到輸出端的延時邏輯和布線延時時鐘的布線延時建立時間通過計算可以讀出最小的時鐘周期和最高的時鐘頻率。第十一頁,共五十二頁,編輯于2023年,星期三輸出模型。任何一個CPLD/FPGA在系統(tǒng)中都不是單獨存在的,而CPLD/FPGA的時序不僅僅只是內(nèi)部的時序模型,同樣它可以驅動下一級芯片,從而產(chǎn)生一個新的時序模型圖6–4Clock-to-PAD路徑Clock-to-PAD路徑第十二頁,共五十二頁,編輯于2023年,星期三圖6–5Clock-to-PAD路徑波形圖第十三頁,共五十二頁,編輯于2023年,星期三從系統(tǒng)層面來看,Clock-to-PAD路徑是整個系統(tǒng)中路徑延時的一部分,要計算整個路徑延時和最小的時鐘周期還需要考慮信號在PCB上的走線延時、飛行時間以及下一級接收芯片的輸入時序模型。從CPLD/FPGA層面上來看,它包括時鐘端到觸發(fā)器輸出端延時、邏輯和布局布線延時、輸出緩沖延時等等。Clock-to-PAD設計注意點:第十四頁,共五十二頁,編輯于2023年,星期三當對Clock-to-PAD路徑進行時序約束時,需要電路設計工程師、CPLD/FPGA工程師和布局布線工程師共同決定信號在Clock-to-PAD路徑的延時、信號在PCB板上的延時以及接收端芯片可承受的延時容限各為多少,最后以文檔的形式確定時序約束。第十五頁,共五十二頁,編輯于2023年,星期三PAD-to-Setup路徑圖6-6是另外一種常見的時序模型,也叫做輸入模型。圖6–6PAD-to-Setup路徑第十六頁,共五十二頁,編輯于2023年,星期三從CPLD/FPGA層面來看輸入模型的路徑延時包括了輸入緩沖延時、邏輯及布局布線延時以及建立時間從系統(tǒng)角度來看,整條路徑的延時還需要包括上一級芯片的輸出模型延時以及PCB走線延時和信號的飛行時間因此要確定對此路徑進行時序約束,需要召集電路設計工程師和布局布線工程師一起討論最后決定此路徑的時序約束。圖6–7PAD-to-Setup路徑波形圖第十七頁,共五十二頁,編輯于2023年,星期三PathsEndingatClockPinofFlip-Flops此路徑是指時鐘信號從源端到達各個具體觸發(fā)器的時鐘端的路徑。在CPLD/FPGA中,設計工程師都推薦采用全局時鐘來驅動觸發(fā)器但是盡管采用全局時鐘,時鐘到達觸發(fā)器之間還是有一段延時時間,這段時間在計算時延的時候必須考慮進去。第十八頁,共五十二頁,編輯于2023年,星期三圖6–9PathsEndingatClockPinofFlip-Flops波形圖圖6–8PathsEndingatClockPinofFlip-Flop第十九頁,共五十二頁,編輯于2023年,星期三PADtoPAD路徑圖6-10表示為一條純組合邏輯的路徑,從芯片輸入的管腳開始,經(jīng)過任意級的組合邏輯電路,然后從另外一個輸出管腳輸出。圖6–10PADtoPAD路徑第二十頁,共五十二頁,編輯于2023年,星期三整條路徑的延時分為輸入延時、輸出延時以及中間的邏輯和布局布線延時。如果放在整個系統(tǒng)層面來看,嚴格來說不能稱之為路徑因為這個時延路徑的源端和目的端都不在這個芯片里面,而在上一級或者上上級的芯片中和下一級的芯片中。第二十一頁,共五十二頁,編輯于2023年,星期三6.3.2時序約束參數(shù)建立時間建立時間就是指數(shù)據(jù)必須在時鐘有效沿到來之前穩(wěn)定的最小時間長度。當建立時間不夠的時候,觸發(fā)器采集不到數(shù)據(jù),或者采集到的數(shù)據(jù)是錯誤的數(shù)據(jù),從而導致整個時序邏輯的錯誤。任何一個時序邏輯芯片都會存在建立時間這個概念,一般使用

Tsu來表示第二十二頁,共五十二頁,編輯于2023年,星期三圖6–12計算建立時間的時序模型圖第二十三頁,共五十二頁,編輯于2023年,星期三保持時間保持時間是指當時鐘信號有效沿到來之后,數(shù)據(jù)必須保持的最小的穩(wěn)定時間一般采用Th來表示。當保持時間不夠的時候,數(shù)據(jù)傳輸將出現(xiàn)紊亂,系統(tǒng)將出現(xiàn)亞穩(wěn)態(tài)的問題。第二十四頁,共五十二頁,編輯于2023年,星期三時鐘到輸出延時當時鐘到達一個觸發(fā)器并成功地采樣到數(shù)據(jù)端的數(shù)據(jù)的時候,并不會立即就表現(xiàn)在輸出端上,這之間會有一段延時時間,叫做時鐘到輸出延時時間一般用

Tco表示。傳播延時數(shù)據(jù)從寄存器出來以后,到達下一級寄存器之間的邏輯和布線延遲,就叫做傳播延時一般使用Tpd表示。第二十五頁,共五十二頁,編輯于2023年,星期三Fmax對于芯片內(nèi)部而言,它是寄存器到寄存器之間的延時對于整個芯片而言,還需要考慮進入芯片的建立保持時間以及輸出芯片的

Tco。把它取反就是最小時鐘周期的概念。圖6–13計算Fmax的時序模型示意圖第二十六頁,共五十二頁,編輯于2023年,星期三芯片內(nèi)部的Fmax的計算方法如下

整個系統(tǒng)時鐘頻率

Fmax的計算方法為:第二十七頁,共五十二頁,編輯于2023年,星期三SlackSlack用來衡量一個設計是否滿足時序——正的slack表示滿足時序,而負的slack則表示不滿足時序。

是指兩個不同時鐘的有效邊沿之差第二十八頁,共五十二頁,編輯于2023年,星期三如果slack為負,數(shù)據(jù)保持時間不夠,主要是由于數(shù)據(jù)路徑延時大于時鐘延時而造成的。從建立時間來來考慮,最壞的情況是slack是一個時鐘周期減去時鐘抖動的最大絕對值而從保持時間來考慮,最壞的情況是slack一個時鐘周期加上時鐘抖動的最大絕對值。對于異步電路來說,由于采用不同的時鐘信號進行驅動,第二十九頁,共五十二頁,編輯于2023年,星期三時鐘偏斜與抖動時鐘偏斜是指同一時鐘源產(chǎn)生的時鐘信號由于經(jīng)過不同的布局布線延時到達兩個不同的寄存器的時鐘端的時間之差。建議采用全局時鐘資源來驅動設計中的主要時鐘信號,以減少時鐘偏斜。第三十頁,共五十二頁,編輯于2023年,星期三時鐘抖動與時鐘偏斜的概念不一樣。時鐘抖動有很多種情況周期抖動頻率抖動相位抖動在時序約束中,我們主要考慮的是周期抖動。所謂的周期抖動是指實際的時鐘周期與理想中的時鐘之間的偏差。第三十一頁,共五十二頁,編輯于2023年,星期三圖6–14時鐘偏斜示意圖第三十二頁,共五十二頁,編輯于2023年,星期三6.4時序約束的本質時序約束的本質就是要使建立時間和保持時間滿足設計的要求當設計同步電路的時候,要使電路正常工作則需要保證時鐘周期要不小于數(shù)據(jù)的路徑延時。第三十三頁,共五十二頁,編輯于2023年,星期三異步電路的基本設計,它有許多種情況如同頻異相、同相異頻、既不同相也不同頻等等??傮w的原則還是需要確保建立時間和保持時間滿足設計的要求。如果頻率不同,相位差恒定的話,可以采用下面的公式來設計時鐘約束如果既不同頻也不同相,則需要從電路設計的角度去考慮其穩(wěn)定性。第三十四頁,共五十二頁,編輯于2023年,星期三圖6–15時序約束示意圖第三十五頁,共五十二頁,編輯于2023年,星期三圖6–16異步時序邏輯示意圖第三十六頁,共五十二頁,編輯于2023年,星期三6.5靜態(tài)時延分析靜態(tài)時延分析是CPLD/FPGA設計中的一個很重要的時序分析手段在設計中主要有三個階段需要涉及靜態(tài)時延分析:邏輯綜合階段——需要檢查綜合的時序質量在布局后——需要檢查布局對信號時序的影響在布線后——需要整體考慮信號的質量,包括邏輯時延和布線延時。第三十七頁,共五十二頁,編輯于2023年,星期三靜態(tài)時延設計特別適合于經(jīng)典的同步設計和流水線結構,靜態(tài)時延設計不僅速度很快,而且不需要Testbench,最重要的是能夠完全測試每一條路徑外。靜態(tài)時延分析工具在處理鎖存器、異步電路和組合反饋邏輯的時候存在不足。第三十八頁,共五十二頁,編輯于2023年,星期三靜態(tài)時延分析時,需要考慮以下方面:在分析之前,需要先審查電路是否是同步電路,時鐘有無毛刺,異步復位置位信號是否有毛刺等邏輯問題。先檢查布局布線的約束文件,確保約束全面。第三十九頁,共五十二頁,編輯于2023年,星期三靜態(tài)時延分析時,需要考慮以下方面:需要特別注意雙沿都被使用的時鐘信號,延時要求只能是半個周期。如果時鐘信號的占空比不是50%,那么延時要求只能是有效邊沿之差。對于有I/O管腳的路徑,需要考慮輸入和輸出延時。時鐘信號盡量使用全局時鐘管腳,否則要考慮時鐘偏斜并加以約束。第四十頁,共五十二頁,編輯于2023年,星期三6.6統(tǒng)計靜態(tài)時延分析內(nèi)連線延時比邏輯延時大得多,現(xiàn)在的光刻制程不能夠產(chǎn)生足夠的精確形狀,產(chǎn)生的趨膚效應卻很明顯。解決的方案之一是采用統(tǒng)計靜態(tài)時延分析(SSTA),它的基本理念就是為每一條線路的每一段上的每一個信號延遲生成一個概率函數(shù),然后再估算信號通過整個路徑的總延時概率函數(shù)。避免單次靜態(tài)時延分析生成的報告失真,從統(tǒng)計學的角度觀察整個芯片時延狀況要求的軟件算法非常復雜第四十一頁,共五十二頁,編輯于2023年,星期三6.7動態(tài)時延分析動態(tài)時延分析(DTA)是另外一種時延分析的方法,目前已經(jīng)不常用。不僅需要使用事件驅動仿真器,而且必須使用Testbench。動態(tài)時序分析采用延時對來估算信號變化引起的事件。在動態(tài)延時分析中,需要引入兩個新的狀態(tài):“一定會變成高電平,但是時間未知”“一定會變成低電平,但是時間未知”。第四十二頁,共五十二頁,編輯于2023年,星期三實例:

建立時間和保持時間違例分析圖6–18建立時間和保持時間違例線路圖第四十三頁,共五十二頁,編輯于2023年,星期三表6–1實例4時延參數(shù)表時延參數(shù)表元件參數(shù)最小值最大值單位U4和U5建立時間tSU2納秒(ns)保持時間tH0納秒(ns)時鐘到數(shù)據(jù)有效輸出tCO0.92.7納秒(ns)U1-U3傳播時延tPD0.61.8納秒(ns)時鐘周期tCK10納秒(ns)偏斜1tCS1納秒(ns)到達測試點2A,B,CtAR0.82.7納秒(ns)1,從CLKa到CLKb或者從CLKb到CLKa的最大時延2,不考慮時鐘偏斜的影響第四十四頁,共五十二頁,編輯于2023年,星期三如果信號C實際到達U4,并且能夠被正確采樣的時間將會是:從信號C到U4時序約束已經(jīng)違例B:A:在建立時間和保持時間方面,U4到U5的時序約束情況建立時間:

,滿足時序要求保持時間:

,不滿足時序要求第四十五頁,共五十二頁,編輯于2023年,星期三6.9時序違例及解決方式如果需要解決建立時間違例的情況,我們可以通過改變時鐘頻率的方式來解決,問題是在許多設計中時序約束的目的就在于保持特定的時鐘頻率來達到最大的性能要求,因此上述方式不可行。要解決建立時間違例的問題,可以采取如下的方式:在違例的組合邏輯增加一級觸發(fā)器來減小組合邏輯的延時,也就是所謂的流水線技術。第四十六頁,共五十二頁,編輯于2023年,星期三針對于上面的例子,可以把兩輸入的邏輯門改成三輸入的邏輯門,通過增加扇入數(shù)來減少組合邏輯的級聯(lián)從而減小延時。要解決保持時間違例的問題,可以采取如下的方式:在違例的觸發(fā)器之間增加一級緩沖,從而增大上級觸發(fā)器輸出到下級觸發(fā)器輸入之間的延時,不過需要同時兼顧建立時間。針對于上面的例子,緩沖邏輯至少需要0.1ns的延時第四十七頁,共五十二頁,編輯于2023年,星期三為了避免時序違例,當采用綜合工具要進行時序約束時,應該在設計本身應滿足的要求上再增加10~20%的約束條件因為一是需要考慮綜合后的布局布線二是絕大多數(shù)的綜合軟件本身會按所設置參數(shù)中的低要求的約束進行。在代碼設計中需要切實定義好各個模塊的邊界信號在做仿真的時候,建議采用負載模型來進行仿真,這樣可以盡量地模擬出實際信號的輸出第四十八頁,共五十二頁,編輯于2023年,星期三7.12本章小結本章主要講述了CPLD/FPGA設計中的最重要的內(nèi)容——約束。約束包含兩種

溫馨提示

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

評論

0/150

提交評論