入門(mén)資料_FPGA時(shí)序分析基礎(chǔ)與時(shí)鐘約束實(shí)例_第1頁(yè)
入門(mén)資料_FPGA時(shí)序分析基礎(chǔ)與時(shí)鐘約束實(shí)例_第2頁(yè)
入門(mén)資料_FPGA時(shí)序分析基礎(chǔ)與時(shí)鐘約束實(shí)例_第3頁(yè)
入門(mén)資料_FPGA時(shí)序分析基礎(chǔ)與時(shí)鐘約束實(shí)例_第4頁(yè)
入門(mén)資料_FPGA時(shí)序分析基礎(chǔ)與時(shí)鐘約束實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、WORD18/18入門(mén):FPGA時(shí)序分析基礎(chǔ)與時(shí)鐘約束實(shí)例2013-07-16何謂靜態(tài)時(shí)序分析(STA,Static Timing Analysis)?首先,設(shè)計(jì)者應(yīng)該對(duì)FPGA部的工作方式有一些認(rèn)識(shí)。FPGA的部結(jié)構(gòu)其實(shí)就好比一塊PCB板,F(xiàn)PGA的邏輯陣列就好比PCB板上的一些分立元器件。PCB通過(guò)導(dǎo)線將具有相關(guān)電氣特性的信號(hào)相連接,F(xiàn)PGA也需要通過(guò)部連線將相關(guān)的邏輯節(jié)點(diǎn)導(dǎo)通。PCB板上的信號(hào)通過(guò)任何一個(gè)元器件都會(huì)產(chǎn)生一定的延時(shí),F(xiàn)PGA的信號(hào)通過(guò)邏輯門(mén)傳輸也會(huì)產(chǎn)生延時(shí)。PCB的信號(hào)走線有延時(shí),F(xiàn)PGA的信號(hào)走線也有延時(shí)。這就帶來(lái)了一系列問(wèn)題,一個(gè)信號(hào)從FPGA的一端輸入,經(jīng)過(guò)一定的邏輯

2、處理后從FPGA的另一端輸出,這期間會(huì)產(chǎn)生多大的延時(shí)呢?有多個(gè)總線信號(hào)從FPGA的一端輸入,這條總線的各個(gè)信號(hào)經(jīng)過(guò)邏輯處理后從FPGA的另一端輸出,這條總線的各個(gè)信號(hào)的延時(shí)一致嗎?之所以關(guān)心這些問(wèn)題,是因?yàn)檫^(guò)長(zhǎng)的延時(shí)或者一條總線多個(gè)信號(hào)傳輸時(shí)間的不一致,不僅會(huì)影響FPGA本身的性能,而且也會(huì)給FPGA之外的電路或者系統(tǒng)帶來(lái)諸多問(wèn)題。言歸正傳吧,之所以引進(jìn)靜態(tài)時(shí)序分析的理論也正是基于上述的一些思考。它可以簡(jiǎn)單的定義為:設(shè)計(jì)者提出一些特定的時(shí)序要求(或者說(shuō)是添加特定的時(shí)序約束),套用特定的時(shí)序模型,針對(duì)特定的電路進(jìn)行分析。分析的最終結(jié)果當(dāng)然是要求系統(tǒng)時(shí)序滿足設(shè)計(jì)者提出的要求。 下面舉一個(gè)最簡(jiǎn)單的例

3、子來(lái)說(shuō)明時(shí)序分析的基本概念。假設(shè)信號(hào)需要從輸入到輸出在FPGA部經(jīng)過(guò)一些邏輯延時(shí)和路徑延時(shí)。系統(tǒng)要求這個(gè)信號(hào)在FPGA部的延時(shí)不能超過(guò)15ns,而開(kāi)發(fā)工具在執(zhí)行過(guò)程中找到了如圖所示的一些可能的布局布線方式。那么,怎樣的布局布線能夠達(dá)到系統(tǒng)的要求呢?仔細(xì)分析一番,發(fā)現(xiàn)所有路徑的延時(shí)可能為14ns、15ns、16ns、17ns、18ns,有兩條路徑能夠滿足要求,那么最后的布局布線就會(huì)選擇滿足要求的兩條路徑之一。 靜態(tài)時(shí)序分析的前提就是設(shè)計(jì)者先提出要 求,然后時(shí)序分析工具才會(huì)根據(jù)特定的時(shí)序模型進(jìn)行分析,即有約束才會(huì)有分析。若設(shè)計(jì)者不添加時(shí)序約束,那么時(shí)序分析就無(wú)從談起。特權(quán)同學(xué)常常碰見(jiàn)一些初學(xué) 者在

4、遇到問(wèn)題時(shí)不問(wèn)青紅皂白就認(rèn)為是時(shí)序問(wèn)題,實(shí)際上只有在添加了時(shí)序約束后,系統(tǒng)的時(shí)序問(wèn)題才有可能暴露出來(lái)。 下面我們?cè)賮?lái)看一個(gè)例子,我們假設(shè)有4個(gè)輸入信號(hào),經(jīng)過(guò)FPGA部一些邏輯處理后輸出。FPGA部的布線資源有快有慢之分,好比國(guó)道和高速公路。通過(guò)高速通道所需要的路徑延時(shí)假設(shè)為3ns-7ns,但只有兩條可用;而通過(guò)慢速通道的路徑延時(shí)則10ns。 默認(rèn)情況下,離高速通道較近的din_2和din_3路徑被布線到了高速通道上,當(dāng)前的4個(gè)信號(hào)在FPGA部的延時(shí)為: din1 = 15ns, din2 = 4ns, din3 = 6ns, din4 = 13ns。但是,我們實(shí)際的系統(tǒng)需這樣的: din1 1

5、0ns, din2 10ns, din3 20ns, din4 20ns。 按照前面給出的4個(gè)輸入信號(hào)的默認(rèn)布局布線情況來(lái)看,din1是無(wú)法滿足時(shí)序要求的。 如果我們按照實(shí)際的需求對(duì)FPGA進(jìn)行如下的時(shí)序約束: din1 10ns, din2 10ns, din3 20ns, din4 20ns。 此時(shí),F(xiàn)PGA將重新進(jìn)行布局布線。由于添加了時(shí)序約束,因此,F(xiàn)PGA的布局布線工具會(huì)根據(jù)這個(gè)實(shí)際需求,重新做布局布線后,我們看到,重新布局布線后的路徑延時(shí)如下: din1 = 7ns, din2 = 4ns, din3 = 18ns, din4 = 13ns。 此時(shí),F(xiàn)PGA部的時(shí)序全部都能夠滿足要

6、求。 關(guān)于約束,我們要稍微提一下兩種不恰當(dāng)?shù)募s束方法,即欠約束和過(guò)約束。我們假設(shè)下面提到的兩種情況下的原始系統(tǒng)實(shí)際時(shí)序要求都是一樣的,即前面我們所說(shuō)的:din1 10ns, din2 10ns, din3 20ns, din4 20ns但是下面這兩種情況的約束不是完全按照實(shí)際系統(tǒng)時(shí)序需求來(lái)約束,我們來(lái)看看這些情況下會(huì)出現(xiàn)什么問(wèn)題。欠約束的情況(din1和din2過(guò)約束): 如果對(duì)本實(shí)例添加約束為 din1 20ns, din2 20ns, din3 20ns, din4 20ns。 此時(shí),由于4條路徑的延時(shí)都能夠控制在20ns要求之,所以當(dāng)前的約束都能夠達(dá)到目標(biāo)。 但是,相對(duì)于實(shí)際的情況,有兩

7、種情形: A. din1和din2走了高速通道,那么當(dāng)前約束也能夠滿足實(shí)際的時(shí)序要求; B. din1和din2都沒(méi)有走高速通道,或者有1條路徑走了高速通道,那么結(jié)果是一樣的,整個(gè)系統(tǒng)的時(shí)序無(wú)法滿足要求。 過(guò)約束的情況(din3和din4過(guò)約束): 如果對(duì)本實(shí)例添加約束為: din1 10ns, din2 10ns, din3 10ns, din4 10ns。 此時(shí),由于能夠走高速通道使得路徑延時(shí)10ns的路徑只有2條,那么無(wú)論如何當(dāng)前的約束都有2條無(wú)法達(dá)到目標(biāo)。 但是,相對(duì)于實(shí)際的情況,有兩種情形: A. din1和din2走了高速通道,那么當(dāng)前約束也能夠滿足實(shí)際的時(shí)序要求; B. din1

8、和din2都沒(méi)有走高速通道,或者有1條路徑走了高速通道,那么結(jié)果是一樣的,整個(gè)系統(tǒng)的時(shí)序無(wú)法滿足要求。 這個(gè)簡(jiǎn)單的例子當(dāng)然不會(huì)是FPGA部實(shí)際的情況,但是FPGA部的各種資源若要得到均衡的分配,設(shè)計(jì)者就必須添加一定的約束(時(shí)序約束),將設(shè)計(jì)的需求傳達(dá)給工具,那么才有可能指導(dǎo)工具進(jìn)行資源的合理分配,保證系統(tǒng)的基本性能要求得以實(shí)現(xiàn)。 時(shí)序欠約束和時(shí)序過(guò)約束都是不可取的,設(shè)計(jì)者應(yīng)該根據(jù)實(shí)際的系統(tǒng)時(shí)序要求,添加合適的時(shí)序要求(可以稍微過(guò)約束),幫助設(shè)計(jì)工具達(dá)到最佳的時(shí)序性能。 下面我們?cè)賮?lái)認(rèn)識(shí)一些時(shí)序分析的幾個(gè)最基本的概念,即時(shí)鐘和建立時(shí)間、保持時(shí)間的關(guān)系。 時(shí)鐘這個(gè)并不陌生的詞匯,特權(quán)同學(xué)也不大做文

9、章,就先舉個(gè)最典型的時(shí)鐘模型獻(xiàn)給大家。如圖所示,理想的時(shí)鐘模型是一個(gè)占空比為50%且周期固定的方波。為一個(gè)時(shí)鐘周期,為高脈沖寬度,為低脈沖寬度,=+。占空比定義為高脈沖寬度與周期之比,即/。 所謂建立時(shí)間(),是指在時(shí)鐘上升沿到來(lái)之前數(shù)據(jù)必須保持穩(wěn)定的時(shí)間;所謂保持時(shí)間(),是指在時(shí)鐘上升沿到來(lái)以后數(shù)據(jù)必須保持穩(wěn)定的時(shí)間。一個(gè)數(shù)據(jù)需要在時(shí)鐘的上升沿被鎖存,那么這個(gè)數(shù)據(jù)就必須在這個(gè)時(shí)鐘上升沿的建立時(shí)間和保持時(shí)間保持穩(wěn)定。 這里,我們舉一個(gè)二輸入與功能的時(shí)序設(shè)計(jì)模型,如圖所示。輸入數(shù)據(jù)data1和data2會(huì)在時(shí)鐘的上升沿被分別鎖存到reg2和reg1的輸出端,然后這兩個(gè)信號(hào)分別經(jīng)過(guò)各自的路徑到達(dá)

10、與門(mén)and的輸入端,他們相與運(yùn)算后信號(hào)傳送到下一級(jí)寄存器reg3的輸入端,對(duì)應(yīng)他們上一次被鎖存后的下一個(gè)時(shí)鐘上升沿,reg3的輸入端數(shù)據(jù)被鎖存到了輸出端。這個(gè)過(guò)程是一個(gè)典型的寄存器到寄存器的數(shù)據(jù)傳輸。下面我們就要以此為基礎(chǔ)來(lái)探討他們需要滿足的建立時(shí)間和保持時(shí)間關(guān)系。 下面這個(gè)波形,clk表示時(shí)鐘源發(fā)出的時(shí)鐘波形,它要分別達(dá)到上面例子中的源寄存器reg1和reg2,以與達(dá)到目的寄存器reg3,所經(jīng)過(guò)的時(shí)間是不一樣的,因此我們看到波形中給出的時(shí)鐘達(dá)到reg3的波形clk_r3相對(duì)于基準(zhǔn)時(shí)鐘clk的波形會(huì)略有一些偏差(稍微延時(shí)一些,這是真實(shí)情況的模擬)。Reg1out和reg2out分別是數(shù)據(jù)dat

11、a1和data2被鎖存到各自寄存器的輸出端的波形,reg3in則是reg1out和reg2out的波形經(jīng)過(guò)路徑延時(shí)和門(mén)延時(shí)后到達(dá)reg3in的波形,而reg3out則是在clk_r3的上升沿來(lái)到并鎖存好有效的數(shù)據(jù)后,其寄存器輸出端的波形。 在這個(gè)波形中,我們看到clk_r3的前后各有一條虛線,前一條虛線到clk_r3的上升沿這段時(shí)間即建立時(shí)間,clk_r3的上升沿到后一條虛線即保持時(shí)間。前面對(duì)建立時(shí)間和保持時(shí)間下定義時(shí)提到過(guò),在這段時(shí)間不能夠有數(shù)據(jù)的變化,數(shù)據(jù)必須保持穩(wěn)定。而在這個(gè)波形中,也確實(shí)沒(méi)有看到建立時(shí)間和保持時(shí)間,reg3in的數(shù)據(jù)有任何的變化,因此我們可以穩(wěn)定的將reg3in的數(shù)據(jù)鎖

12、存到reg3的輸出reg3out中。我們?cè)賮?lái)看下面這個(gè)波形,同樣的一些信號(hào),但我們發(fā)現(xiàn)reg3in在clk_r3的建立時(shí)間發(fā)生了變化,這帶來(lái)的后果就是clk_r3上升沿鎖存到的reg3in數(shù)據(jù)不確定,那么隨后的reg3out值也會(huì)處于一個(gè)不確定狀態(tài)。比如第一個(gè)時(shí)鐘周期,原本reg3in應(yīng)該是穩(wěn)定的低電平,但是由于真?zhèn)€路徑上的延時(shí)時(shí)間過(guò)長(zhǎng),導(dǎo)致了reg3in在clk_r3的建立時(shí)間數(shù)據(jù)還未能穩(wěn)定下來(lái),在建立時(shí)間出現(xiàn)了電平正處于從高到低的變化,即不穩(wěn)定的狀態(tài),那么導(dǎo)致的后果就是reg3out的最終輸出要么是高電平要么是低電平,而不是原本期望的低電平。 我們?cè)賮?lái)看看保持時(shí)間違規(guī)的情況,如圖所示,這次

13、是數(shù)據(jù)傳輸?shù)锰炝?,原本?yīng)該下一個(gè)時(shí)鐘周期到達(dá)clk_r3的數(shù)據(jù)竟然在clk_r3的前一個(gè)時(shí)鐘周期后的保持時(shí)間還未過(guò)去就來(lái)到了。因此,它出現(xiàn)的最終危害也是后端輸出的reg3out處于不確定的狀態(tài)。對(duì)于FPGA部而言,通常我們把它的時(shí)序路徑分為三類(lèi)基本的約束路徑,即: 輸入信號(hào) pin2reg 部信號(hào) reg2reg 輸出信號(hào) reg2pin 我們逐個(gè)來(lái)看這三類(lèi)基本路徑分別約束的是那個(gè)部分的時(shí)序。 reg2reg路徑約束的對(duì)象是路徑起始的源寄存器以與最終結(jié)束的目的寄存器都在FPGAn部的路徑。如圖所示,紅色部分是從一個(gè)FPGA部的寄存器到FPGA部的另一個(gè)寄存器的路徑,他們共用一個(gè)時(shí)鐘(當(dāng)然也有

14、不共用一個(gè)時(shí)鐘的reg2reg路徑,這種路徑的分析會(huì)復(fù)雜一些,這里不做深入討論)。對(duì)于reg2reg路徑,我們只要告訴FPGA時(shí)序分析工具他們所使用時(shí)鐘的頻率(或時(shí)鐘周期),那么FPGA部通常就“心領(lǐng)神會(huì)”的讓這條reg2reg的路徑總延時(shí)不超過(guò)這個(gè)時(shí)鐘頻率。 我們?cè)賮?lái)看pin2reg的路徑模型,如圖所示。雖然和FPGA連接的外部芯片部寄存器的狀態(tài)我們無(wú)從知曉(一般芯片也不會(huì)給出這么detail的部信息),但是一般芯片都會(huì)給出針對(duì)于這個(gè)芯片管腳的一些時(shí)序信息,如Tco、Tsu和Th等,我們其實(shí)也是用圖示的這個(gè)模型來(lái)分析的。在這個(gè)模型中,紅色的大圈所覆蓋的路徑代表了和FPGA部reg2reg分析

15、一樣的模型,pin2reg原則上只是reg2reg分析的一部分。綠色圓圈則表示我們實(shí)際要告訴FPGA的pin2reg約束信息,或者應(yīng)該這樣說(shuō),我們希望進(jìn)行路徑延時(shí)控制的路徑就是這段綠色圓圈覆蓋的路徑,但是我們需要通過(guò)整個(gè)reg2reg路徑的情況,即根據(jù)綠色圓圈以外、紅色圓圈以這部分路徑的延時(shí)情況去告訴FPGA部pin2reg路徑延時(shí)可以在什么樣一個(gè)圍。 最后,再看reg2pin的路徑。如圖所示。同樣的,紅色圓圈部分覆蓋了FPGA部的源寄存器開(kāi)始,到FPGA外部芯片的目的寄存器為止的reg2reg的路徑。外部芯片通常也不會(huì)給出detail的信息,也是通過(guò)相對(duì)他們的管腳給出一些時(shí)序的信息。而綠色圓

16、圈所覆蓋的路徑則是我們需要去約束的reg2pin的延時(shí)。它的延時(shí)信息同樣是需要通過(guò)紅色大圈以、綠色小圈以外路徑的情況來(lái)推測(cè)得出。 本節(jié)的重點(diǎn)是reg2reg的時(shí)鐘約束。如圖所示,一般的時(shí)序分析我們都可以來(lái)看看他們的數(shù)據(jù)路徑(data path)和時(shí)鐘路徑(clock path)。所謂數(shù)據(jù)路徑,就是數(shù)據(jù)在整個(gè)傳輸起點(diǎn)到傳輸終點(diǎn)所走過(guò)的路徑;所謂時(shí)鐘路徑,則是指時(shí)鐘時(shí)鐘達(dá)到各個(gè)寄存器的路徑。 如圖所示,為了便于后續(xù)的時(shí)序余量分析和計(jì)算,我們提出了data arrival path和data required path的概念。Data arrival path是指數(shù)據(jù)在兩個(gè)寄存器間傳輸?shù)膶?shí)際所需時(shí)間

17、;data required path則是指為了確保穩(wěn)定、可靠且有效的傳輸,數(shù)據(jù)在兩個(gè)寄存器間傳輸?shù)睦碚撍钑r(shí)間(也就是最低必須滿足的傳輸時(shí)間要求,對(duì)于建立時(shí)間是最大值,對(duì)于保持時(shí)間則是最小值)。很明顯,從圖中,我們就可以看出data arrival path傳輸?shù)钠瘘c(diǎn)是時(shí)鐘源,達(dá)到源寄存器,然后是實(shí)際的數(shù)據(jù)從源寄存器到目的寄存器時(shí)間;而data required path的傳輸起點(diǎn)也是源時(shí)鐘,但卻是達(dá)到目的寄存器,然后再考慮目的寄存器的建立時(shí)間和保持時(shí)間要求(圖中未示意)。 如圖所示,對(duì)于上面所提出的data arrival path和data required path,我們做了一些喜歡,

18、將實(shí)際的各個(gè)路徑示意了出來(lái)。 Tc2t表示時(shí)鐘源到源寄存器reg1所經(jīng)過(guò)的時(shí)鐘網(wǎng)絡(luò)延時(shí); Tc2r表示時(shí)鐘源到目的寄存器reg2所經(jīng)過(guò)的時(shí)鐘網(wǎng)絡(luò)延時(shí); Tco表示數(shù)據(jù)在被鎖存后在寄存器所經(jīng)過(guò)的延時(shí); Tr2r表示數(shù)據(jù)從上一級(jí)寄存器(源寄存器)的輸出端到下一級(jí)寄存器(目的寄存器)的輸入端所經(jīng)過(guò)的延時(shí); Tsu表示寄存器的建立時(shí)間; Th表示寄存器的保持時(shí)間。 在開(kāi)始這些路徑關(guān)系公式的分析前,我們還需要了解Setup relationship和Hold relationship與其與launch edge和latch edge之 間的關(guān)系。如圖所示,對(duì)于一個(gè)寄存器到寄存器的傳輸來(lái)說(shuō),正常情況下,各

19、個(gè)寄存器都是在時(shí)鐘的控制下,每個(gè)上升沿鎖存一次數(shù)據(jù),那么也就意味著,兩個(gè)相鄰 的寄存器,后一級(jí)寄存器每次鎖存的數(shù)據(jù)應(yīng)該是前一級(jí)寄存器上一個(gè)時(shí)鐘周期鎖存過(guò)的數(shù)據(jù)。基于此,我們來(lái)討論建立時(shí)間,即setup relationship時(shí),源寄存器為lauch clock,目的寄存器為latch clock,而lauch edge從時(shí)間上看就要比latch edge早一個(gè)時(shí)鐘周期,即他們之間通常是相差一個(gè)時(shí)鐘周期的關(guān)系。反觀保持時(shí)間則不然,即hold relationship實(shí)際上是同一個(gè)edge,也就是說(shuō)后一級(jí)寄存器的保持時(shí)間很可能遭到上一級(jí)寄存器同一個(gè)時(shí)鐘周期所傳輸數(shù)據(jù)的違犯。我們的hold rel

20、ationship就是為了防備這種情況的,因此launch edge和latch edge實(shí)際上是同一個(gè)時(shí)鐘沿,那么他們的關(guān)系通常只是Tc2t(源時(shí)鐘傳輸?shù)皆醇拇嫫鞯臅r(shí)間)和Tc2r(源時(shí)鐘傳輸?shù)哪康募拇嫫鞯臅r(shí)間)的時(shí)間差。 因此,如圖所示,理想情況下,拋開(kāi)什么時(shí)鐘的抖動(dòng)以與其他不確定時(shí)間,我們可以得到reg2reg傳輸?shù)慕r(shí)間和保持時(shí)間余量(slack)計(jì)算公式: 建立時(shí)間Setup time slack = Data Required Time Data Arrival TimeData Arrival Time = Launch Edge + Tc2t + Tco + Tr2rData

21、 Required Time = Latch Edge + Tc2r - Tsu 保持時(shí)間Hold time slack = Data Arrival Time Data Required TimeData Arrival Time = Launch Edge + Tc2t + Tco + Tr2rData Required Time = Latch Edge + Tc2r + Th 接著,我們要來(lái)實(shí)際應(yīng)用這些理論,看看實(shí)際工程中如何對(duì)這些錯(cuò)綜復(fù)雜的關(guān)系進(jìn)行分析和處理。如圖所示,我們這個(gè)例程的分頻計(jì)數(shù)實(shí)驗(yàn)中使用了一個(gè)時(shí)鐘信號(hào)clk,每一次計(jì)數(shù)都是基于這個(gè)時(shí)鐘的上升沿。 這個(gè)時(shí)鐘哪里來(lái)?它的時(shí)鐘

22、頻率如何確定?拍腦袋隨便設(shè)?非也,咱做事一定要有依有據(jù)。如圖所示,我們的SF-CY3板載了一顆25MHz的有源晶振,通過(guò)管腳分配,我們便將這個(gè)時(shí)鐘引入了設(shè)計(jì)中。因此,我們這個(gè)設(shè)計(jì)的時(shí)鐘便要約束為25MHz,即40ns的時(shí)鐘周期。好,下面我們就動(dòng)手為這個(gè)實(shí)例添加時(shí)序約束。如圖所示,我們點(diǎn)擊工具欄的一個(gè)鬧鐘模樣的圖標(biāo)便可打開(kāi)Quartus II嵌的時(shí)序設(shè)計(jì)TimeQuest,我們接下來(lái)的時(shí)鐘約束設(shè)置便是在該工具中完成的。TimeQuest的主界面如圖所示,首先需要新建一個(gè)sdc文件,然后在該文件中輸入時(shí)鐘約束腳本,或者使用GUI進(jìn)行約束設(shè)置更新到sdc文件中。 點(diǎn)擊菜單欄NetlistCreate

23、 Timing Netlisk,彈出的菜單中使用默認(rèn)設(shè)置,點(diǎn)擊OK便可。接著進(jìn)行時(shí)鐘約束,點(diǎn)擊菜單欄ConstraintsCreate Clock。Clock name是我們隨便給約束的信號(hào)起的名字,沒(méi)有特別限制;Period為時(shí)鐘周期,我們的時(shí)鐘晶振是25MHz的,即40ns;Targets選擇實(shí)際被約束的時(shí)鐘管腳,點(diǎn)擊改行最后面的按鈕可以選擇相應(yīng)的管腳信號(hào);SDC command無(wú)須設(shè)置,自動(dòng)根據(jù)前面的設(shè)置生成,Waveform edges也無(wú)須設(shè)置,我們采用默認(rèn)設(shè)置,即0ns時(shí)鐘上升,20ns下降。點(diǎn)擊Run完成約束設(shè)置。接下來(lái),我們要依次點(diǎn)擊主界面右下方task欄里的Update Ti

24、ming Netlist和Write SDC File選項(xiàng),彈出的Write SDC File窗口如圖所示,我們更改SDC file name為ex0.sdc,接著點(diǎn)擊OK。 此時(shí),我們可以在工程目錄下找到一個(gè)ex0.sdc的文件,并且這個(gè)文件里面有一條這樣的時(shí)鐘約束語(yǔ)句:create_clock -name SYS_CLK -period 40.000 -waveform 0.000 20.000 get_ports clk。這便是我們前面所添加的約束。 接著回到Quartus II,重新對(duì)工程進(jìn)行編譯。接著再進(jìn)入TimeQuest,點(diǎn)擊Report下的Report All Core Tim

25、ings。 在Report窗口中,出現(xiàn)了Report Timing(Core)一欄,下拉后,我們便可以看到SYS_CLK時(shí)鐘的Setup和Hold路徑的分析。先點(diǎn)擊Setup一欄,我們看到右側(cè)齊刷刷的把所有的路徑都羅列了一通。這便是SYS_CLK時(shí)鐘的所有相關(guān)Setup路徑分析情況,打頭第1條是Slack最差的情況,喔,居然還有36ns多,可謂余量“富得流油”。 再看Hold路徑,如圖所示,Slack最差的只有0.464ns,正應(yīng)了前面所說(shuō)的,Hold和Setup是一對(duì)“魚(yú)和熊掌”,或者更形象一點(diǎn),那叫做“蹺蹺板的兩端”。二者平衡當(dāng)然是最佳狀態(tài),可惜很多時(shí)候咱說(shuō)得不算,大趨勢(shì)咱改變不了,頂多小圍微調(diào)。不過(guò),不用擔(dān)心,有正余量就OK了,說(shuō)明設(shè)計(jì)本身的時(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)論