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