當前位置:
首頁 > 最新 > 高速FPGA系統設計幾條軍規

高速FPGA系統設計幾條軍規

如果符合一些簡單的設計原則,採用最新的Xilinx7系列FPGA架構上實現無線通信。Xilinx公司已經創建了典型無線數據路徑的設計範例,表明中速級(-2)器件上使用的幾乎100%的 slice資源都支持500 MHz以上的時鐘頻率。如何真正時序高速設計,需要注意一下幾點

影響時鐘頻率的基本規則

01

DSP48 slice數與時鐘速率成反比

一般來說DSP48 slice數與時鐘速率成反比。Block RAM資源也按照階躍函數隨時鐘速率降低。這在無線電信號處理設計中較常見,其中Block RAM基本上用來按照相對高的採樣率存儲大量函數運算的係數集合,例如,DDS(直接數字合成器)的正弦/餘弦值,峰值抵消脈衝產生器中的CFR (波峰因數衰減)係數,或DPD (數字預失真)模型中的非線性函數抽樣。

所以,提供時鐘頻率能夠降低Slice和BlockRAM的資源利用,當時鐘頻率從368.64轉換至491.52 MHz(1.33時鐘比) ,按照比例LUT和FF的數據量分別減少了1.34和1.44倍。將時鐘速率從245.76放大一倍至491.52 MHz,這些數據減少了1.8倍和1.7倍。這種非線性行為基本上是為執行信號處理控制邏輯,不需要按照時鐘頻率進行線性放大。

02

信號採樣率也影響資源利用率

採樣速率為25 Msamples/sec的濾波器帶寬在250 MHz運行時與帶寬在500 MHz運行時相比所需的邏輯資源略降低兩倍。採樣速率為500 Msamples/sec的多相實現帶寬在250 MHz運行時與帶寬在500 MHz時相比,所需的邏輯資源增加兩倍。對邏輯資源使用的一階估計是時鐘頻率增加x倍相當於邏輯利用率減少0.85至1.1倍

高速設計其他注意事項

01

流水線設計

適當的流水線程序當然是設計高速程序的關鍵因素,所有的高速設計都推崇流水線設計,在此不做詳細描述

02

合理使用BlockRAM

需要構建一個以上Block RAM的存儲時,可通過選擇最大限度地減少數據復用和資源利用的配置優化速度。舉例來說, 存儲16位數據的16K存儲器最好使用16K × 1位的Block RAM進行構建,而不是1K × 16位的Block RAM.

03

正確使用DSP Slice

DSP slice邏輯本質上可支持較高的時鐘速率。邏輯電平與數據路由路徑的數量限制了速度,因此在構建高速設計時應在每一個或兩個LUT電平上插入一個寄存器

04

合理的層次結構

定義合理的層次結構,按照邏輯分區將設計劃分成相應的功能模塊。這種層次結構提供便於在層次邊界寄存輸出的方法,從而限制特定模塊的關鍵路徑。這樣分析和修復在單一模塊中定位的時序路徑就很容易。實際上,定位超高時鐘速度時,應在層次結構的一些層級使用多個寄存器級,以優化時序並為後端工具留下更多設計空間。好的設計層次結構應該將相關的邏輯集成在一起,使得區域分組和邏輯壓縮更為有效;

建立適當的層次結構可在多個模塊時獲取可重複結果

在模塊級應用實現屬性,可令代碼簡單並具可擴展性,該屬性可傳播該模塊中聲明的所有信號

05

良好的時鐘管理和時鐘分配方法

儘可能減少獨立主時鐘數量

將時鐘元件放在設計層次結構的頂層,以便在多個模塊共享時鐘,這將減少所需的時鐘資源,提高時序性能,並降低資源和功率利用率

在不相關時鐘域之間使用適當的再同步技術

限制時鐘「使能」的使用。實際上這條規則難以實現,原因是在多周期實現中時鐘「使能」通常需要評估數據樣本或操作符輸出。實現有效的降低功耗技術很有效。在任何情況下,必須適當寄存時鐘使能信號以刪除高扇出 nets

06

複位策略

最小化複位網路的大小

避免全局複位。

優選同步複位,實際上對DSP48邏輯片和Block RAM是強制的。

總結

高速設計時FPGA設計的未來,隨著信號處理能力的增強,FPGA高速設計必不可少。如何合理優化FPGA架構設計是我們必須要考慮的問題。

更多FPGA設計技巧請參考下面的鏈接分享。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FPGA技術聯盟 的精彩文章:

TAG:FPGA技術聯盟 |