高速低功耗FPGA的應用設計
Actel公司是眾多FPGA生產(chǎn)廠(chǎng)家中的著(zhù)名供應商,美國的火星探路者使用了該公司的FPGA,表明它具有優(yōu)異性能。
本文引用地址:http://dyxdggzs.com/article/3046.htm54SX系列FPGA是公司新一代產(chǎn)品,采用Actel專(zhuān)利的反熔絲技術(shù)制成。SX系列器件采用FastConnect與DirectConnect兩種創(chuàng )新的局部連線(xiàn)資源將邏輯塊連接在一起。一方面,這兩種連線(xiàn)為分段式連線(xiàn)資源,因而連接電容更小。分段結構還允許切斷未使用連線(xiàn),進(jìn)一步減小電容,連接電容的減小意味著(zhù)功耗的降低;另一方面,該系列器件是在細顆粒的4輸入多路選擇器基本邏輯塊上構建的,并且具備有多個(gè)控制輸入,一個(gè)基本單元能實(shí)現所有5輸入邏輯功能,使大規模的邏輯映射更有效。這種細顆粒結構與大量分段式連線(xiàn)資源的結合,有助于在不降低性能的前提下減小功耗。
與其它FPGA廠(chǎng)家的產(chǎn)品相比,54SX系列器件還具有以下優(yōu)勢:
* 可靠性高:芯片內部采用金屬-金屬反熔絲元件,編程后內部連接為永久的反熔絲型連接,而反熔絲互連就象純金屬連接一樣,防靜電及電磁干擾;
* 功耗低:反熔絲結構消除了靜態(tài)存儲器互連開(kāi)關(guān)的功耗,并且由于邏輯信息是永久性編程的,器件在通電序列中無(wú)需進(jìn)行重構,信息的存儲與保持不消耗電流,從而減小靜態(tài)電流,降低功耗;
* 保密性好:采用多層邏輯單元,內部邏輯易破解。
以Actel FPGA實(shí)現的數字邏輯電路設計,必須采用先進(jìn)的EDA(電子設計自動(dòng)化)軟件,該類(lèi)軟件一般包括兩部分:邏輯電路設計部分和FPGA布局布線(xiàn)器。本文邏輯電路設計工具主要采用的是ViewLogic公司(已更名為Innoveda公司——編者注)的WorkView Office軟件包和Actel公司的邏輯功能模塊產(chǎn)生器Actgen Macro Builder。布局布線(xiàn)器是Actel公司的Designer軟件。
WorkView Office軟件包集成了多種數字電路計算機輔助設計工具,包括電路原理圖輸入軟件ViewDraw、VHDL(超高速集成電路硬件設計描述語(yǔ)言)、仿真軟件SpeedWave、VHDL綜合工具FPGA Express、門(mén)級電路仿真工具ViewSim、信號波形與時(shí)序顯示工具ViewWaves、邏輯設計結果與FPGA布局布線(xiàn)器接口軟件EDIF Interface等幾部分。
Actgen Macro Builder主要功能是生成基于Actel元件庫的可參數化的常用邏輯模塊,例如,計數器、寄存器、加法器、比較器等等。這些功能模塊可在ViewDraw中實(shí)例化,作為更上層功能單元的子模塊使用。Designer軟件包括EDIF編譯、工藝映射、設計優(yōu)化、延時(shí)約束、FPGA引腳指定、自動(dòng)布局布線(xiàn)、延時(shí)分析、延時(shí)信息反標注、邏輯信息固化文件生成等多種功能。
為提高FPGA的數據處理速度及降低芯片功耗,邏輯電路設計應重點(diǎn)采用以下措施:
1)采用流水線(xiàn),降低芯片功耗,提高系統時(shí)鐘。流水線(xiàn)是一種設計技巧,它在很長(cháng)的組合邏輯路徑中插入寄存器,寄存器雖增加了運算周期數,卻能大大減少組合邏輯延時(shí),提高整個(gè)系統工作頻率。例如,在如下計算模型Err=a-b-c+d中,沒(méi)有流水線(xiàn)的電路如圖1(a),引入流水線(xiàn)后,電路如圖1(b)。
為考察圖1a與圖1b兩種電路的速度差別,本文進(jìn)行如下實(shí)驗:
實(shí)驗1:設計兩套數字電路A、B,并分別以?xún)善?/font>FPGA54SX32PQ208來(lái)實(shí)現,其中電路A與圖1a無(wú)流水線(xiàn)電路對應,電路B與圖1b有流水線(xiàn)電路對應,電路A、B都使用具有超前進(jìn)位功能的16位快速加法器和減法器。仿真結果如表1中A,B所示。
結論:有流水線(xiàn)電路B在占用資源略有增加情況下,工作速度是沒(méi)有流水線(xiàn)電路A的2倍多,可見(jiàn),少量資源換來(lái)了芯片工作速度的成倍增加。
2)按面積優(yōu)化組合邏輯,減小組合邏輯的復雜性,從而減少組合電路需要的邏輯門(mén)數量,邏輯門(mén)數的減少,意味著(zhù)芯片功耗的降低。流水線(xiàn)的使用已經(jīng)保證芯片具有足夠高的處理速度,各個(gè)寄存器間的組合邏輯不再以速度為優(yōu)化目標進(jìn)行設計,考慮到功耗要求,應以最少的邏輯門(mén)數實(shí)現該功能。例如,上面預測誤差的計算電路,其中加法器、減法器都使用簡(jiǎn)單的結構形式,而不再使用超前進(jìn)位或更復雜的結構,這樣可以在節省邏輯門(mén)數情況下,電路仍具有高的處理速度,實(shí)驗結果如表1。
實(shí)驗2:使用結構簡(jiǎn)單的加法器、減法器流水線(xiàn)電路C與電路A、B的比較實(shí)驗。電路C采用流水線(xiàn)結構,使用的加法器、減法器也是16位,但結構比電路A、B中的加法器、減法器簡(jiǎn)單,該電路在一片FPGA54SX32PQ208內實(shí)現。仿真結果如表1的C所示。
結論:同電路A相比,電路C在資源節省13%條件下,工作頻率高出電路A 15%,達到45MHz以上;與電路B相比,電路C節省資源20%以上,并且由于45MHz的工作頻率對于復雜功能芯片(例如圖像或視頻編解碼芯片)來(lái)講,已經(jīng)足夠了。由此可見(jiàn):在使用流水線(xiàn)的情況下,應以邏輯門(mén)數為優(yōu)化目標,設計組合邏輯電路。
3)以原理圖描述功能模塊的數據流,以VHDL語(yǔ)言的行為語(yǔ)句描述控制流。這種邏輯電路設計思想,充分利用原理圖設計直觀(guān)、形象和VHDL輸入法簡(jiǎn)單明了的優(yōu)勢,既可以獲得具有高效率流水線(xiàn)結構的同步電路,又能夠大大縮短設計時(shí)間。
4)在電路設計過(guò)程中,應使用“自底向上”與“自頂向下”設計相結合、“邏輯設計”與“功能仿真”交替進(jìn)行的設計技巧,以保證邏輯電路的層次化、模塊化以及功能的正確性。首先把邏輯復雜的功能模塊,分割為幾個(gè)相對簡(jiǎn)單的小模塊;然后分別設計這些小模塊,進(jìn)行功能仿真,發(fā)現錯誤,修改設計,再仿真……,直到功能完全正確;再實(shí)例化小模塊,組成功能復雜的大模塊,依舊重復功能仿真、修改設計的過(guò)程;再實(shí)例化這些大模塊,構成更上層模塊……,最后獲得功能完全正確的邏輯電路。
如果邏輯電路不可能在單個(gè)芯片上實(shí)現,必須對原有邏輯電路進(jìn)行功能拆分,分割為若干功能塊,每個(gè)功能塊在一片FPGA中實(shí)現,整個(gè)電路由一組芯片實(shí)現。
電路拆分是一項具有試湊特點(diǎn)的工作,但還是有一定規律可以遵循:
1) 按照VLSI結構設計時(shí)形成的功能模塊分割邏輯電路,同一功能模塊中的邏輯電路在一片FPGA中實(shí)現,這樣保證了系統設計時(shí)的模塊化,便于設計的再利用、修改與升級。
2) 邏輯分割沒(méi)有必要平均化,而是考慮模塊功能的相對獨立性與模塊間的數據交換量,功能模塊間數據交換鏈路多的邏輯電路在一片FPGA內實(shí)現,這樣可以減少芯片的I/O引腳,降低功耗。
3)如果使用了片外存儲器,功能分割要使FPGA芯片組與存儲器之間的連接關(guān)系簡(jiǎn)單,有利于PCB布局布線(xiàn)。
邏輯電路設計完成,按以下步驟在FPGA中物理實(shí)現:
1)、生成EDIF文件:使用 EDIF Interface工具將原理圖轉化成EDIF文件。
2)、編譯:使用Designer軟件編譯該EDIF文件,并指定FPGA器件為54SX系列。
3)、引腳定義:按照有利于印刷線(xiàn)路板設計的原則,定義FPGA引腳功能。
4)、布局布線(xiàn):?jiǎn)?dòng)FPGA自動(dòng)布局布線(xiàn)器。
5)、延時(shí)分析:布局布線(xiàn)完成后,利用Designer軟件進(jìn)行分析,從中得到芯片的最高工作頻率。
6)、延時(shí)仿真:提取布局布線(xiàn)后的延時(shí)信息,進(jìn)行延時(shí)仿真。
7)、生成邏輯信息固化文件:延時(shí)仿真通過(guò)后,由Designer生成邏輯信息固化文件。
8)、制造芯片:使用特定編程器根據邏輯信息固化到FPGA中,從而制成專(zhuān)用芯片?!?/font>
參考文獻
Actel公司,Actel FPGA Data Book,2000.
評論