ISE時(shí)序約束筆記_第1頁(yè)
ISE時(shí)序約束筆記_第2頁(yè)
ISE時(shí)序約束筆記_第3頁(yè)
ISE時(shí)序約束筆記_第4頁(yè)
ISE時(shí)序約束筆記_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、ISE時(shí)序約束筆記ISE時(shí)序約束筆記1Global Timing Constraints時(shí)序約束和你的工程執(zhí)行工具不會(huì)試圖尋找達(dá)到最快速的布局&布線路徑。取而代之的是,執(zhí)行工具會(huì)努力達(dá)到你所期望的性能要求。性能要求和時(shí)序約束相關(guān)時(shí)許約束通過(guò)將邏輯元件放置的更近一些以縮短布線資源從而改善設(shè)計(jì)性能。沒(méi)有時(shí)序約束的例子該工程沒(méi)有時(shí)序約束和管腳分配注意它的管腳和放置該設(shè)計(jì)的系統(tǒng)時(shí)鐘頻率能夠跑到50M時(shí)序約束的例子和上面是相同的一個(gè)設(shè)計(jì),但是加入了3個(gè)全局時(shí)序約束。它最高能跑到60M的系統(tǒng)時(shí)鐘頻率注意它大部分的邏輯的布局更靠近器件邊沿其相應(yīng)管腳的位置更多關(guān)于時(shí)序約束時(shí)序約束應(yīng)該用于界定設(shè)計(jì)的性能目標(biāo)1.

2、 太緊的約束將會(huì)延長(zhǎng)編譯時(shí)間2. 不現(xiàn)實(shí)的約束可能導(dǎo)致執(zhí)行工具罷工3. 查看綜合報(bào)告或者映射后靜態(tài)時(shí)序報(bào)告以決定你的約束是否現(xiàn)實(shí)執(zhí)行后,查看布局布線后靜態(tài)時(shí)序報(bào)告以決定是否你的性能要求達(dá)到了如果約束要求沒(méi)有達(dá)到,查看時(shí)序報(bào)告尋找原因。路徑終點(diǎn)有兩種類型的路徑終點(diǎn):1. I/O pads2. 同步單元(觸發(fā)器,鎖存器,RAMs)時(shí)序約束的兩個(gè)步驟:1. 路徑終點(diǎn)生產(chǎn)groups(顧名思義就是進(jìn)行分組)2. 指點(diǎn)不同groups之間的時(shí)序要求全局約束使用默認(rèn)的路徑終點(diǎn)groups即所有的觸發(fā)器、I/O pads等ISE時(shí)序約束筆記2Global Timing Constraints問(wèn)題思考單一的全

3、局約束可以覆蓋多延時(shí)路徑如果箭頭是待約束路徑,那么什么是路徑終點(diǎn)呢?所有的寄存器是否有一些共同點(diǎn)呢?問(wèn)題解答什么是路徑終點(diǎn)呢?FLOP1,FLOP2,FLOP3,FLOP4,FLOP5。所有的寄存器是否有一些共同點(diǎn)呢?它們共享一個(gè)時(shí)鐘信號(hào),約束這個(gè)網(wǎng)絡(luò)的時(shí)序可以同時(shí)覆蓋約束這些相關(guān)寄存器間的延時(shí)路徑。周期約束周期約束覆蓋由參考網(wǎng)絡(luò)鐘控的的同步單元之間的路徑延時(shí)。周期約束不覆蓋的路徑有:input pads到output pads之間的路徑(純組合邏輯路徑),input pads到同步單元之間的路徑,同步單元到output pads之間的路徑。周期約束特性周期約束使用最準(zhǔn)確的時(shí)序信息,使其能夠自

4、動(dòng)的計(jì)算:1. 源寄存器和目的寄存器之間的時(shí)鐘偏斜(Clock Skew)2. 負(fù)沿鐘控的同步單元3. 不等同占空比的時(shí)鐘4. 時(shí)鐘的輸入抖動(dòng)(jitter)假設(shè):1. CLK信號(hào)占空比為50%2. 周期約束為10ns3. 由于FF2將在CLK的下降沿觸發(fā),兩個(gè)觸發(fā)器之間的路徑實(shí)際上將被約束為10ns的50%即5ns時(shí)鐘輸入抖動(dòng)(Clock Input Jitter)時(shí)鐘輸入抖動(dòng)是源時(shí)鐘的不確定性(clock uncertainty)之一時(shí)鐘的不確定時(shí)間必須從以下路徑扣除:周期約束建立時(shí)間路徑OFFSET IN約束的建立時(shí)間路徑時(shí)鐘的不確定時(shí)間必須添加到以下路徑中:周期約束保持時(shí)間路徑OFFS

5、ET IN約束保持時(shí)間路徑OFFSET OUT約束路徑Pad-to-Pad約束不包含任何同步單元的純組合邏輯電路純組合邏輯延時(shí)路徑開(kāi)始并結(jié)束于I/O pads,所以通常會(huì)被我們遺漏而未約束ISE時(shí)序約束筆記3Global Timing Constraints問(wèn)題思考哪些路徑是由CLK1進(jìn)行周期約束?哪些路徑是由pad-to-pad進(jìn)行約束?OFFSET約束OFFSET約束覆蓋以下路徑:從input pads到同步單元(OFFSET IN)從同步單元到output pads(OFFSET OUT)OFFSET約束特性O(shè)FFSET約束自動(dòng)計(jì)算時(shí)鐘分布延時(shí)1. 提供最準(zhǔn)確的時(shí)序信息2. 大量增加輸入

6、信號(hào)到達(dá)同步單元的時(shí)間(時(shí)鐘和數(shù)據(jù)路徑并行)3. 大量減少輸出信號(hào)到達(dá)輸出管腳的時(shí)間(時(shí)鐘和數(shù)據(jù)路徑先后)OFFSET約束也可以解釋時(shí)鐘輸入抖動(dòng)使用抖動(dòng)確定關(guān)聯(lián)的周期約束時(shí)鐘延時(shí)數(shù)據(jù)路徑延時(shí)和時(shí)鐘分布延時(shí)都需要在OFFSET計(jì)算中使用到OFFSET IN = T_data_in T_clk_inOFFSET OUT = T_data_out + T_clk_outISE時(shí)序約束筆記4Global Timing Constraints問(wèn)題思考在這個(gè)電路中哪些路徑是由OFFSET IN 和 OFFSET OUT來(lái)約束的?問(wèn)題解答:OFFSET IN:PADA to FLOP and PADB to

7、 RAMOFFSET OUT:LATCH to OUT1, LATCH to OUT2, and RAM to OUT1問(wèn)題思考下面給出的系統(tǒng)框圖里,你將給出什么樣的約束值以使系統(tǒng)能夠跑到100MHz?假設(shè)在下面的器件之間沒(méi)有時(shí)鐘偏斜問(wèn)題解答:PERIOD = 10 ns , OFFSET IN (BEFORE) = 7 ns and OFFSET OUT (AFTER) = 8 ns小結(jié)1. 性能期望和時(shí)序約束相關(guān)聯(lián)2. 周期約束覆蓋同步單元之間的延時(shí)路徑3. OFFSET約束覆蓋從輸入管腳到同步單元和從同步單元到輸出管腳之間的延時(shí)路徑ISE時(shí)序約束筆記5Timing Groups and

8、OFFSET Constraints特定路徑時(shí)序約束使用全局時(shí)序約束(PERIOD,OFFSET,PAD-TO-PDA)將約束整個(gè)設(shè)計(jì)僅僅使用全局約束通常會(huì)導(dǎo)致過(guò)約束約束過(guò)緊編譯時(shí)間延長(zhǎng)并且可能阻止實(shí)現(xiàn)時(shí)序目標(biāo)通過(guò)綜合工具或者映射后時(shí)序報(bào)告重新審視性能評(píng)估特定路徑約束能夠覆蓋全局時(shí)序約束在特定路徑上的約束這就允許設(shè)計(jì)者放寬特定路徑的時(shí)序要求更多關(guān)于特定路徑約束你的設(shè)計(jì)器件的內(nèi)部面積將會(huì)從特定路徑約束收益1. 多周期路徑Multi-cycle paths2. 跨時(shí)鐘域路徑3. 雙向總線4. I/O時(shí)序特定路徑約束應(yīng)該由你的性能目標(biāo)來(lái)界定,不能夠不加限制的隨意放置全局約束回顧使用全局PERIOD,

9、OFFSET IN和OFFSET OUT約束將約束所有以下的路徑這使得控制設(shè)計(jì)的總體性能更加容易特定路徑約束實(shí)例一條特定路徑約束對(duì)于路徑本身的優(yōu)化微乎其微這有助于你更好的控制設(shè)計(jì)性能,并帶給執(zhí)行工具更大的靈活性以達(dá)到你的性能和使用要求生成特定路徑約束需要兩個(gè)步驟:1. 多個(gè)有共同時(shí)序要求的特定路徑終點(diǎn)生成一個(gè)groups2. 關(guān)聯(lián)兩個(gè)groups,指定它們的特定路徑的時(shí)序要求生成終點(diǎn)路徑的Groups特定路徑時(shí)序約束在終點(diǎn)路徑較好的分組后會(huì)更加高效否則,約束一個(gè)大的工程將極其耗時(shí)耗力。約束編輯有助于你更容易的進(jìn)行路徑終點(diǎn)(pads, flip-flops, latches, and RAMs)

10、進(jìn)行Groups分組。使用約束編輯器,終點(diǎn)路徑的分組有以下選項(xiàng): Group by nets Group by instance name Group by hierarchy Group by output net name Timing THRU Points option Group by clock edgeNets 分組與output net name分組對(duì)比由net分組的 “NET_A”將生成一個(gè)只包含F(xiàn)LOP2的groupGroup包含選擇網(wǎng)絡(luò)所驅(qū)動(dòng)的寄存器由output net name分組的“NET_A”將生成一個(gè)只包含F(xiàn)LOP1的groupGroup包含選擇網(wǎng)絡(luò)的源寄存器I

11、SE時(shí)序約束筆記6Timing Groups and OFFSET Constraints回顧全局OFFSET約束在時(shí)鐘行中使用Pad-to-Setup和Clock-to-Pad列為所有出于該時(shí)鐘域的I/O路徑指定OFFSETs。為大多數(shù)I/O路徑進(jìn)行約束的最簡(jiǎn)單方法然而,這將會(huì)導(dǎo)致一個(gè)過(guò)約束的設(shè)計(jì)。指定管腳的OFFSET約束使用Pad-to-Setup和Clock-to-Pad列為每個(gè)I/O路徑指定OFFSETs。這種約束方法適用于只有少數(shù)管腳需要不同的時(shí)序約束。更常用的方法是:1. 為Pads生成Groups2. 對(duì)生成的指定Groups進(jìn)行OFFSET IN/OUT約束雙沿時(shí)鐘的OFFS

12、ET約束OFFSET約束指明了FPGA管腳的輸入數(shù)據(jù)和初始時(shí)鐘之間的關(guān)系。初始時(shí)鐘沿在周期約束定義中出現(xiàn)關(guān)鍵詞“高”和“低”。高:初始時(shí)鐘上升沿(默認(rèn)),即上升沿鎖存數(shù)據(jù)低:初始時(shí)鐘下降沿如果所有的I/O都由時(shí)鐘的一個(gè)沿控制,那么你可以使用這個(gè)關(guān)鍵字高或低進(jìn)行周期約束。如果兩個(gè)沿都用到,你就必須進(jìn)行兩個(gè)OFFSET的約束。每個(gè)OFFSET對(duì)應(yīng)一個(gè)時(shí)鐘沿DDR寄存器也是這樣使用的一個(gè)例子雙沿時(shí)鐘的OFFSET IN約束輸入數(shù)據(jù)在上升沿或者下降沿之前3ns有效周期約束為10ns,初始上升沿,占空比為50%。為每個(gè)時(shí)鐘沿生成一個(gè)時(shí)鐘Groups輸入時(shí)鐘的上升沿,OFFSET = IN 3ns BEF

13、ORE CLK;輸入時(shí)鐘的下降沿,OFFSET = IN -2ns BEFORE CLK;(在初始時(shí)鐘的上升沿后2ns = 時(shí)鐘下降沿前3ns)雙沿時(shí)鐘的OFFSET OUT約束輸出數(shù)據(jù)必須在時(shí)鐘的上升沿或者下降沿后3ns內(nèi)有效周期約束為10ns,初始上升沿,占空比為50%。為每個(gè)時(shí)鐘沿生成一個(gè)時(shí)鐘Groups輸入時(shí)鐘的上升沿,OFFSET = OUT 3ns AFTER CLK;輸入時(shí)鐘的下降沿,OFFSET = OUT 8ns AFTER CLK;(在初始時(shí)鐘的上升沿后8ns = 時(shí)鐘下降沿后3ns)問(wèn)題思考特定路徑時(shí)序約束如何改善了設(shè)計(jì)性能?你如何約束這個(gè)設(shè)計(jì)使其內(nèi)部時(shí)鐘頻率達(dá)到100

14、MHz?輸入(數(shù)據(jù))將在時(shí)鐘CLK的上升沿到達(dá)前3ns內(nèi)有效。輸出數(shù)據(jù)必須在時(shí)鐘CLK的下降沿后4ns內(nèi)穩(wěn)定下來(lái)。寫(xiě)出合適的OFFSET約束?問(wèn)題解答特定路徑時(shí)序約束如何改善了設(shè)計(jì)性能?它使得執(zhí)行工具更加靈活的達(dá)到你的時(shí)序要求。你如何約束這個(gè)設(shè)計(jì)使其內(nèi)部時(shí)鐘頻率達(dá)到100 MHz?給時(shí)鐘信號(hào)CLK施加一個(gè)10ns的全局周期約束。寫(xiě)出合適的OFFSET約束?OFFSET = IN 3 ns BEFORE CLK; OFFSET = OUT4 ns AFTER CLK;ISE時(shí)序約束筆記7Path-Specific Timing Constraints時(shí)鐘上升沿和下降沿之間的時(shí)序約束周期約束可以自

15、動(dòng)計(jì)算兩個(gè)沿的的約束包括調(diào)整非50%占空比的時(shí)鐘。例:一個(gè)CLK時(shí)鐘周期約束為10ns,能夠應(yīng)用5ns的約束到兩個(gè)寄存器之間。不需要特定路徑應(yīng)用到這個(gè)例子中。相關(guān)時(shí)鐘域的約束為一個(gè)時(shí)鐘進(jìn)行周期約束以這個(gè)周期約束確定相關(guān)的時(shí)鐘。執(zhí)行工具將根據(jù)它們的關(guān)系來(lái)決定如何處理跨時(shí)鐘域。DCM有多個(gè)輸出:確定DCM輸入時(shí)鐘的周期約束執(zhí)行工具將會(huì)從這個(gè)周期約束推導(dǎo)出其輸出的約束所有的約束將會(huì)和原始的周期約束相關(guān)不相關(guān)時(shí)鐘域的約束在這個(gè)例子中,周期約束不覆蓋到處于兩個(gè)時(shí)鐘域之間的任何延時(shí)路徑。這是默認(rèn)的處理方式。你必須添加一個(gè)約束覆蓋到相關(guān)時(shí)鐘域之間的路徑中。例如,頻率相同,但是CLK_B有一些相位偏移。在兩個(gè)

16、不相關(guān)的時(shí)鐘域你就必須添加一些同步電路。約束兩個(gè)時(shí)鐘域之間的路徑。使用Groups by NETs選項(xiàng)為CLK_A和CLK_B定義groups,如果你為每個(gè)時(shí)鐘添加完周期約束,這個(gè)步驟將自動(dòng)完成。在這個(gè)寄存器的groups之間指定快速/慢速例外約束。多周期路徑約束多周期約束應(yīng)用在連續(xù)幾個(gè)時(shí)鐘周期內(nèi)寄存器不需要更新的情況??偸侵辽傩枰粋€(gè)時(shí)鐘周期才更新。通常的,這樣的寄存器由時(shí)鐘使能信號(hào)控制。一個(gè)分段計(jì)數(shù)器就是這樣的一個(gè)例子。COUT14每隔4個(gè)時(shí)鐘周期才更新一次。這些寄存器間的路徑就算是多周期路徑。False 路徑False路徑選項(xiàng)將用于防止約束覆蓋到特定路徑時(shí)序約束優(yōu)先級(jí)從高到低為:1. F

17、alse路徑將會(huì)覆蓋任何其它的約束路徑2. FROM THRU TO3. FROM TO4. 管腳指定OFFSETs5. Groups OFFSETs(由寄存器或者PADS生產(chǎn)的groups)6. 全局PERIOD和OFFSETs最低優(yōu)先級(jí)約束這里特權(quán)同學(xué)提醒大家注意的是,通常類似下面這樣的計(jì)數(shù)器絕對(duì)不可以歸為多周期約束:reg15:0 counter;always (posedge clk or negedge rst_n)beginif(!rst_n) counter = 16d0;else counter = counter+1b1;end雖然我們想想似乎counter1也是2個(gè)clk變

18、化一次,counter2也是4個(gè)clk變化一次但是,我們想想看,如果從counter=1到counter=2沒(méi)有在一個(gè)clk完成,那么肯定就會(huì)影響到counter=2到counter=3的變化,對(duì)吧?所以,這樣的計(jì)數(shù)器不能算做多周期約束例外。提綱里描述的多周期例外的計(jì)數(shù)器應(yīng)該是這樣一個(gè)模型:reg15:0 counter;always (posedge clk or negedge rst_n)beginif(!rst_n) counter1:0 = 2d0;else counter1:0 = counter1:0+1b1;endalways (posedge clk or negedge r

19、st_n)beginif(!rst_n) counter15:2 = 14d0;else if(counter1:0 = 2b11) counter15:2 = counter15:2+1b1;end上面兩個(gè)always塊里的數(shù)據(jù)互不干擾,并且都正常工作,只有下一個(gè)always塊檢測(cè)到前一個(gè)always塊里的counter1:0=2b11時(shí)才進(jìn)位加1。寫(xiě)到這里,特權(quán)發(fā)現(xiàn)單從功能上來(lái)說(shuō),這兩個(gè)例子是沒(méi)有差別的,說(shuō)白了,任何一個(gè)計(jì)數(shù)器都可以建模成后面的形式。或者說(shuō),我的問(wèn)題其實(shí)沒(méi)有說(shuō)明白,反而被自己的例子給駁倒了。呵呵,換個(gè)角度思考這個(gè)問(wèn)題,到底什么時(shí)候是多周期例外,什么時(shí)候不是?這個(gè)其實(shí)還是要看

20、情況的,如果你的系統(tǒng)實(shí)時(shí)性較高,可能會(huì)在某一特定的時(shí)鐘周期用到16位計(jì)數(shù)器的計(jì)數(shù)值(如a = (counter = 16hffff)?1b1:1b0; ),那么這個(gè)計(jì)數(shù)器的高位就不能算作多周期例外。而如果比如在我的一個(gè)工程里,有這樣的計(jì)數(shù)器用法:cuonter2:0沒(méi)16個(gè)clk的后8個(gè)clk需要自增加(從0到15),而高位counter18:3當(dāng)然只有在16個(gè)clk變化一次,因?yàn)檫@里counter是用于作為一個(gè)地址產(chǎn)生器,也就是說(shuō),我的地址是每16個(gè)clk的后8個(gè)clk用到,那么這里的counter18:3就是一個(gè)8clk的多周期例外實(shí)例。說(shuō)白了,還是要具體問(wèn)題具體分析。ISE時(shí)序約束筆記8

21、Achieving Timing Closure題記:achieving timing closure即達(dá)到時(shí)序收斂,這是一個(gè)很具有挑戰(zhàn)性的任務(wù)。因?yàn)閷?shí)際的工程項(xiàng)目往往不會(huì)像我們用一個(gè)資源超大(相對(duì)于你的設(shè)計(jì)來(lái)說(shuō))的FPGA來(lái)做幾個(gè)數(shù)碼管串口實(shí)驗(yàn)?zāi)敲春?jiǎn)單。設(shè)計(jì)者往往需要達(dá)到成本、速度、資源等各個(gè)方面的平衡,即使是一個(gè)小設(shè)計(jì),有時(shí)候也是很費(fèi)神的。特權(quán)同學(xué)前幾周在飽經(jīng)ISE4里才有的老器件的折磨后,感慨良多。關(guān)于時(shí)序報(bào)告ISE中的時(shí)序報(bào)告分為兩種: Post-Map Static Timing Report Post-Place & Route Static Timing Report所謂Post-Map是布局后(沒(méi)有布線)的靜態(tài)時(shí)序報(bào)告,主要用于估計(jì)設(shè)計(jì)的性能,然后提前對(duì)設(shè)計(jì)做一些必要的修改。因?yàn)樵O(shè)計(jì)的實(shí)現(xiàn)(布局布線)是很消耗時(shí)間的。Post-Place & Route就是布局布線后的一個(gè)比較接近實(shí)際板級(jí)的一個(gè)靜態(tài)時(shí)序報(bào)告了,這算是設(shè)計(jì)者進(jìn)行時(shí)序分析的最終依據(jù)。關(guān)于性能估計(jì)綜合報(bào)告1. 準(zhǔn)確的邏輯延時(shí);2. 基于扇出的布線延時(shí)估計(jì)3. 報(bào)告的性能是實(shí)際的20%誤差內(nèi)Post-Map靜態(tài)時(shí)序報(bào)告1. 準(zhǔn)確的邏輯延時(shí)2. 基于最快的可能的布線資源的布線延時(shí)估計(jì)3. 使用了60/40規(guī)則來(lái)計(jì)算更趨近于實(shí)際的性能估計(jì)60/40法則:1. 這是一個(gè)時(shí)序約束

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論