1. 程式人生 > >關於FPGA重要的幾個設計思想

關於FPGA重要的幾個設計思想

轉載 原文連結:https://www.cnblogs.com/BruceLone/p/5366216.html
1、速度和麵積互換原則。以面積換速度可以實現很高的資料吞吐率,其實串/並轉換、就是一種以面積換速度的思想。

2、乒乓操作
乒乓操作的處理流程為:輸入資料流通過“輸入資料選擇單元”將資料流等時分配到兩個資料緩衝區,通過“輸入資料選擇單元”和“輸出資料選擇單元”按節拍、相互配合的切換,將經過緩衝的資料流沒有停頓地送到“資料流運算處理模組”進行運算與處理。

3、串/並轉換的思想。
高速資料處理的重要技巧之一。這裡我來舉一個多相濾波器抽取的例子:
在這裡插入圖片描述
抽取之後,兩路資料以二分頻的速度進行處理即可

4.流水線設計(在fir濾波器中表現很突出,一個時鐘輸出一個數據)
流水線設計可以從某種程度上提高系統頻率。。前提是:設計可以分為若干步驟進行處理,而且整個資料處理的過程是單向的,即沒有反饋或者逆運算、前一個步驟的輸出是下一個步驟的輸入。。。
在這裡插入圖片描述

5.邏輯複製與模組複用。
模組複用在節省邏輯資源方面使用非常廣泛(舉個例子吧)
在這裡插入圖片描述
對比一下,不多說了,一例勝千言!
至於邏輯複製呢,以後再說,目前還沒碰到。把概念先抄上來:邏輯複製是一種通過增加面積來改善時序條件的優化手段,其最重要的應用是調整訊號的扇出。換句話說,也就是其扇出非常大,那麼為了增加這個訊號的驅動能力,就必須插入很多級的Buffer,這樣就在一定程度上增加了這個訊號的路徑延時。這種情況下就可以賦值生成這個訊號的邏輯,用多路同頻同相的訊號驅動後續電路,是平均到每路德扇出變低,這樣就不需要插入Buffer就能滿足驅動能力增加的需求,從而節約該訊號的路徑延時。
總之。模組複用節省面積,犧牲速度,而邏輯複製正好相反。。

6.模組化設計
就是自頂向下的設計方法。。不討論了、很簡單有很難得東西。

7.時鐘設計技巧
儘量避免使用FPGA內部邏輯產生的時鐘,因為它很容易導致功能或時序出現問題。內部組合邏輯產生的時鐘容易出現毛刺,影響設計的功能實現;組合邏輯固有的延時也容易導致時序問題。
如果採用內部組合邏輯產生的輸出作為時鐘訊號或者非同步復位訊號,可能會不可避免的出現毛刺。如果此時訊號正處於變換過程,那麼它將違反建立時間和保持時間的要求,從而影響後續電路的輸出狀態,甚至導致整個系統執行失敗。
如果要減少毛刺,最好用時鐘打一下。。達到同步處理的效果。
對於設計中需要用到的分頻時鐘,應該儘量使用使能時鐘,讓分頻訊號作為使能訊號來使用。
在這裡插入圖片描述