面積和速度這兩個指標貫穿著FPGA設計的始終,是設計質量評價的終極標準。
“面積”:指一個設計所消耗的FPGA的邏輯資源數量。FPGA中的邏輯資源,也就是觸發器( FF)和查找表(LUT) 。
“速度”:是指設計結果在芯片上穩定運行時所能達到的最高頻率,這個頻率由設計的時序狀況決定。與設計滿足的時鐘周期、PAD to PAD Time、建立時間、保持時間和時鐘到輸出延時等眾多時序特征向量密切相關。
邏輯復制
邏輯復制是一種最基本的通過增加面積改善時序條件的優化手段。這種方法最常用的場合是調整信號的扇出。當一個信號要驅動后級的許多單元時,也就是有多級扇出時,可能會出現如圖1中左圖所示的一些扇出路徑的長延時。此時的解決方法就是通過信號邏輯的復制來減少路徑延時。
串并轉換
串并轉換是面積與速度互換思想的另一種體現。假設FPGA 上處理模塊的處理速度最大為100Mbits/ s,如果輸入數據流的速率是300 Mbits/ s。在這種情況下,如圖2所示,首先將輸入數據進行串并轉換,然后利用這3個模塊并行處理分配的數據,最后將處理結果“并串轉換”,完成數據速率的要求。
布爾邏輯擴展運算-超前進位加法器
在數字信號處理的快速運算電路中常常用到多位數字量的加法運算,這時需要用到并行加法器。現在普遍采用的超前進位加法器,只是在幾個全加器的基礎上增加了一個超前進位形成邏輯,以減少由于逐位進位信號的傳遞所造成的延遲。下面的邏輯圖表示了一個四位二進制超前進位加法電路。
布爾邏輯擴展運算-流水線技術
所謂流水線設計實際上就是把規模較大、層次較多的組合邏輯電路分為幾個級,在每一級插入寄存器組暫存中間數據。K級的流水線就是從組合邏輯的輸入到輸出恰好有K個寄存器組(分為K級,每一級都有一個寄存器組)上一級的輸出是下一級的輸入而又無反饋的電路。
使用EDA工具提高工作時序
工具優化設計的工作時序主要是通過給設計添加各種各樣的時序約束,時序約束可以規范設計的時序行為,表達設計者期望滿足的時序條件。通過附加約束可以控制邏輯的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高工作頻率。
面積的優化—邏輯資源的共享
例如:使用數據選擇器實現加法器(運算器)的共享。