FPGA設(shè)計(jì)頻率的計(jì)算方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
我們的設(shè)計(jì)需要多大容量的芯片?我們的設(shè)計(jì)能跑多快?這是經(jīng)常困擾工程師的兩個(gè)問題。對(duì)于前一個(gè)問題,我們可能還能先以一個(gè)比較大的芯片實(shí)現(xiàn)原型,待原型完成再選用大小合適的芯片實(shí)現(xiàn)。對(duì)于后者,我們需要一個(gè)比較精確的預(yù)估,我們的設(shè)計(jì)能跑50M,100M 還是133M?
首先讓我們先來(lái)看看Fmax 是如何計(jì)算出來(lái)的。圖(1)是一個(gè)通用的模型用來(lái)計(jì)算FPGA的。我們可以看出,F(xiàn)max 受Tsu , Tco , Tlogic 和 Troute 四個(gè)參數(shù)影響。( 由于使用FPGA 全局時(shí)鐘,時(shí)鐘的抖動(dòng)在這里不考慮)。
時(shí)鐘周期 T = Tco + Tlogic + Troute + Tsu
時(shí)鐘頻率 Fmax = 1/Tmax
其中:
Tco : D 觸發(fā)器的輸出延時(shí)
Tlogic : 組合邏輯延時(shí)
Troute : 布線延時(shí)
Tsu : D 觸發(fā)器的建立時(shí)間
圖( 1 ) 時(shí)鐘周期的計(jì)算模型
由圖(1)可以看出,在影響Fmax 的四個(gè)參數(shù)中,由于針對(duì)某一個(gè)器件Tsu 和Tco 是固定的,因此我們?cè)谠O(shè)計(jì)中需要考慮的參數(shù)只有兩個(gè)Tlogic 和Troute.通過良好的設(shè)計(jì)以及一些如Pipeline 的技巧,我們可以把Tlogic 和Troute 控制在一定的范圍內(nèi)。達(dá)到我們所要求的Fmax.
經(jīng)驗(yàn)表明一個(gè)良好的設(shè)計(jì),通??梢詫⒔M合邏輯的層次控制在4 層以內(nèi),即( Lut Levels 《=4 ) 。而Lut Levels( 組合邏輯的層次 )將直接影響Tlogic 和Troute 的大小。 組合邏輯的層次多,則Tlogic 和Troute 的延時(shí)就大,反之, 組合邏輯的層次少,則Tlogic 和Troute 的延時(shí)就小。
讓我們回過頭來(lái)看看Xilinx 和Altera 的FPGA 是如何構(gòu)成的。是由Logic Cell ( Xilinx )或 Logic Element( Altera )這一種基本結(jié)構(gòu)和連接各個(gè)Logic Cell 或Logic Element 的連線資源構(gòu)成。無(wú)論是Logic Cell 還是 Logic Element ,排除其各自的特點(diǎn),取其共性為一個(gè)4 輸入的查找表和一個(gè)D 觸發(fā)器。如圖(2)所示。而任何復(fù)雜的邏輯都是由此基本單元復(fù)合而成。圖(3)。上一個(gè)D 觸發(fā)器的輸出到下一個(gè)D 觸發(fā)器的輸入所經(jīng)過的LUT 的個(gè)數(shù)就是組合邏輯的層次( Lut Levels )。因此,電路中用于實(shí)現(xiàn)組合邏輯的延時(shí)就是所有Tlut 的總和。在這里取Lut Levels = 4 。故Tlogic = 4 * Tlut ?! ?/p>
圖( 2 ) FPGA基本邏輯單元
圖( 3 ) 復(fù)雜組合邏輯的實(shí)現(xiàn) [!--empirenews.page--]
解決的 Tlogic 以后,我們來(lái)看看Troute 如何來(lái)計(jì)算。由于Xilinx 和Altera 在走線資源的設(shè)計(jì)上并不一樣,并且Xilinx 沒有給出布線延時(shí)的模型,因此更難于分析,不過好在業(yè)內(nèi)對(duì)布線延時(shí)與邏輯延時(shí)的統(tǒng)計(jì)分析表明,邏輯延時(shí)與布線延時(shí)的比值約為1:1 到1:2.由于我們所選用的芯片大量的已經(jīng)進(jìn)入0.18um 和0.13um 深亞微米的工藝,因此我們?nèi)∵壿嬔訒r(shí)與布線延時(shí)的比值為1:2.
Troute = 2 * Tlogic
Tmax = Tco + Tlogic + Troute + Tsu
= Tco + Tsu + 3 * Tlogic
= Tco + Tsu + 12 * Tlut
下表是我們常用的一些 Xilinx 和Altera 器件的性能估算。我們選取的是各個(gè)系列中的最低的速度等級(jí)。由于Altera 的APEX ,APEX II 系列器件的不同規(guī)模的參數(shù)不同,我們選取EP20K400E 和 EP2A15 作代表。
Tsu ( ns ) | Tco ( ns ) | Tlut ( ns ) | Fmax | |
Spartent II-5 | 0.7 | 1.3 | 0.7 | 96 M |
Virtex E-6 | 0.63 | 1.0 | 0.47 | 137M |
Virtex II-4 | 0.37 | 0.57 | 0.44 | 160M |
Virtex II Pro -5 | 0.29 | 0.40 | 0.37 | 193M |
APEX E-3 # | 0.23 | 0.32 | 1.01 | 79M |
APEX II-9## | 0.33 | 0.23 | 0.7 | 112M |
Stratix -7 | 0.011 | 0.202 | 0.527 | 153M |
# 以EP20K400E-3 的數(shù)據(jù)計(jì)算得出。
## 以 EP2A15-9 的數(shù)據(jù)計(jì)算得出。