前言
00
一般來說,面積是一個設(shè)計所消耗的目標(biāo)器件的硬件資源數(shù)量或者ASIC芯片的面積。速度是指設(shè)計在芯片上穩(wěn)定運行時所能夠達到的最高頻率,這個頻率由設(shè)計的時序狀況決定。
面積和速度是對立統(tǒng)一的矛盾體 ,既想要設(shè)計面積最小,又想運行頻率最高,這是不現(xiàn)實的??茖W(xué)的設(shè)計目標(biāo)應(yīng)該是在滿足設(shè)計時序要求(包含對設(shè)計最高頻率的要求)的前提下,占用最小的芯片面積,或者在所規(guī)定的面積下,使設(shè)計的時序余量更大,頻率更高。
一個設(shè)計如果時序余量較大,所能跑的頻率遠遠高于設(shè)計要求,能通過功能模塊復(fù)用減少整個設(shè)計所消耗的芯片面積,用速度的優(yōu)勢對換面積的節(jié)約。
一個設(shè)計的時序要求很高,普通方法達不到設(shè)計頻率,可以通過將數(shù)據(jù)流串并轉(zhuǎn)換,并行復(fù)制多個操作模塊,對整個設(shè)計采取“乒乓操作”和“串并轉(zhuǎn)換”的思想進行處理,在芯片輸出模塊處再對數(shù)據(jù)進行“并串轉(zhuǎn)換”。
串并轉(zhuǎn)換 并串轉(zhuǎn)換
01
例如輸入數(shù)據(jù)流的速率是450Mbit/s,而在FPGA上設(shè)計的數(shù)據(jù)處理模塊的處理速度最大為150Mbit/s,在這種情況就應(yīng)該利用“面積換速度”的思想,至少復(fù)制3個處理模塊。首先將輸入數(shù)據(jù)進行串并轉(zhuǎn)換,然后利用這3個模塊并行處理分配的數(shù)據(jù),最后將處理結(jié)果并串轉(zhuǎn)換以滿足數(shù)據(jù)速度的要求。
乒乓操作
02
“乒乓操作”是一個常常應(yīng)用于數(shù)據(jù)流控制的處理技巧,乒乓操作的結(jié)構(gòu)如下圖所示:
數(shù)據(jù)緩沖模塊一般是常用的存儲單元,例如雙口RAM(DPRAM)、單口RAM(SPRAM)、FIFO等。
第一個緩沖周期:將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1;
第二個緩沖周期:通過輸入數(shù)據(jù)選擇單元的切換,將輸入數(shù)據(jù)緩存到數(shù)據(jù)緩沖模塊2,同時數(shù)據(jù)緩沖模塊1通過輸出數(shù)據(jù)選擇單元輸出數(shù)據(jù);
第三個緩沖周期:通過輸入數(shù)據(jù)選擇單元的切換,將輸入數(shù)據(jù)緩存到數(shù)據(jù)緩沖模塊1,同時數(shù)據(jù)緩沖模塊2通過輸出數(shù)據(jù)選擇單元的切換輸出數(shù)據(jù);
如此循環(huán),直到輸入結(jié)束。
乒乓操作有兩個優(yōu)點:1、完成數(shù)據(jù)的無縫緩沖與處理;2、節(jié)約緩沖區(qū)空間。
完成數(shù)據(jù)的無縫緩沖與處理 :從上面乒乓操作的描述中可以看出,數(shù)據(jù)基本上是源源不斷地輸入輸出,只不過是中間的過程用了流水線式的設(shè)計來處理。根據(jù)這個優(yōu)點可以 用低速模塊處理高速數(shù)據(jù)流 ,其核心思想還是通過串并轉(zhuǎn)換實現(xiàn)面 積換速度 。
節(jié)約緩沖區(qū)空間 :例如需要將一幀的數(shù)據(jù)延時一個時隙后處理,最直接的辦法就是將這幀數(shù)據(jù)緩存起來,然后延時一個時隙進行處理,這時緩沖區(qū)的長度是一幀數(shù)據(jù)的長度。如果使用乒乓操作,用8個時隙完成一幀數(shù)據(jù)的傳輸,只需要兩個小的緩沖區(qū)即可,一個緩沖區(qū)是1/8幀數(shù)據(jù)的大小,其核心思想是 速度換面積 。
流水線設(shè)計
03
流水線設(shè)計大家應(yīng)該都不陌生,福特發(fā)明了流水線提高了工人的效率,硬件電路也因為流水線而元氣滿滿。
流水線特點: 通過插入寄存器,將長的串行邏輯鏈分成較小的部分;當(dāng)系統(tǒng)運算是串行的時候,利用時鐘控制,使運算依照順序接續(xù)進行;在任何給定時刻,大部分電路都在工作。
流水線好處: 每一部分延時較小,可以使用更快的時鐘;大部分電路同時進行運算,可以提高數(shù)據(jù)通過量。
電路的最高頻率取決于最長組合邏輯鏈路的延遲值,所以減少最長組合邏輯鏈的延遲值,有利于提高電路速度。我們先來看一下不使用流水線的電路有什么問題:
可以從上面的圖看出,組合邏輯鏈會有很大部分的閑置電路,根據(jù)這個基礎(chǔ)我們來分析一下計算log(|a+b|)的硬件電路:
計算最小周期,即計算出電路最大頻率,對照電路的最小周期主要是加法器延時+求絕對值延時+求對數(shù)延時,因為一個部分電路在工作時,另一個部分的電路在閑置;
而流水線電路的最小周期主要是?。臃ㄆ餮訒r,求絕對值延時,求對數(shù)延時)的最大值,可以看出流水線電路比原來的電路頻率大約快3倍左右,因為流水線是每一個部分的電路都在工作,效率大大提高。
接下來我們來看一下流水線與非流水線電路的比較,以4級流水線為例。
以上是4級流水線的結(jié)構(gòu)圖, 要注意的是流水線是按照延遲劃分的,不是按照功能劃分的 。具體流水線與非流水線電路的性能比較如下:
根據(jù)上面的性能比較表格,可以得知,具體使用流水線好還是非流水線好,還是要根據(jù)實際情況計算比較,一般來說流水線會較好。
另外, 流水線分割點及級數(shù)的確定要考慮的因素:
①單元延遲時間及時鐘頻率的大小決定了數(shù)據(jù)通過速率;
②過多的級數(shù)不一定能產(chǎn)生最快的結(jié)果;
③太多寄存器的插入會導(dǎo)致芯片面積增加,布線困難,時鐘偏差增加;
-
FPGA設(shè)計
+關(guān)注
關(guān)注
9文章
428瀏覽量
26545 -
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30153 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59838 -
DPRAM
+關(guān)注
關(guān)注
0文章
2瀏覽量
10946 -
ASIC芯片
+關(guān)注
關(guān)注
2文章
92瀏覽量
23793
發(fā)布評論請先 登錄
相關(guān)推薦
評論