基于FPGA的嵌入式的Floorplanner工具的設(shè)計(jì)與實(shí)現(xiàn)
出處:電子工程世界 發(fā)布于:2011-08-23 11:35:35
可編程邏輯器件的兩種主要類型是現(xiàn)場(chǎng)可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。 在這兩類可編程邏輯器件中,F(xiàn)PGA提供了的邏輯密度、豐富的特性和的性能。 現(xiàn)在的FPGA器件,如Xilinx Virtex?系列中的部分器件,可提供八百萬"系統(tǒng)門"(相對(duì)邏輯密度)。 這些先進(jìn)的器件還提供諸如內(nèi)建的硬連線處理器(如IBM Power PC)、大容量存儲(chǔ)器、時(shí)鐘管理系統(tǒng)等特性,并支持多種的超快速器件至器件(device-to-device)信號(hào)技術(shù)。 FPGA被應(yīng)用于范圍廣泛的應(yīng)用中,從數(shù)據(jù)處理和存儲(chǔ),以及到儀器儀表、電信和數(shù)字信號(hào)處理等。與此相比,CPLD提供的邏輯資源少得多 - 約1萬門。 但是,CPLD提供了非常好的可預(yù)測(cè)性,因此對(duì)于關(guān)鍵的控制應(yīng)用非常理想。 而且如Xilinx CoolRunner?系列CPLD器件需要的功耗極低,
目前世界上具有嵌入式功能特點(diǎn)的處理器已經(jīng)超過1000種,流行體系結(jié)構(gòu)包括MCU,MPU等30多個(gè)系列。鑒于嵌入式系統(tǒng)廣闊的發(fā)展前景,很多半導(dǎo)體制造商都大規(guī)模生產(chǎn)嵌入式處理器,并且公司自主設(shè)計(jì)處理器也已經(jīng)成為了未來嵌入式領(lǐng)域的一大趨勢(shì),其中從單片機(jī)、DSP到FPGA有著各式各樣的品種,速度越來越快,性能越來越強(qiáng),價(jià)格也越來越低。目前嵌入式處理器的尋址空間可以從64kB到16MB,處理速度快可以達(dá)到2000 MIPS,封裝從8個(gè)引腳到144個(gè)引腳不等。
本文將討論如何在一個(gè)集成了PowerPC內(nèi)核、一個(gè)DDR內(nèi)存控制器以及一個(gè)LCD控制器的嵌入式系統(tǒng)的開發(fā)過程中采用Floorplanner。在圖1中,DDR內(nèi)存控制器通過一個(gè)高速處理器本地總線(PLB)與PPC相連,因而在該系統(tǒng)中可以通過高速內(nèi)存訪問來實(shí)現(xiàn)指令和數(shù)據(jù)傳輸。LCD控制器對(duì)帶寬要求較低,可以通過較低速的片上外圍總線(OPB)與PPC連接,OPB通過一個(gè)PLB到OPB橋?qū)⒌退俚耐鈬鷥?nèi)核與PLB相連。圖中還顯示了兩個(gè)片上存儲(chǔ)控制器和BRAM的用法,這是一個(gè)很重要的特性。
系統(tǒng)生成
我們可以采用系統(tǒng)生成器來定義所需處理器以及相關(guān)控制器的參數(shù),從而簡(jiǎn)化嵌入式系統(tǒng)的設(shè)計(jì)和創(chuàng)建,并產(chǎn)生嵌入式系統(tǒng)的源設(shè)計(jì)。同時(shí),系統(tǒng)生成器還能產(chǎn)生系統(tǒng)啟動(dòng)所需的軟件頭文件。
對(duì)硬件設(shè)計(jì)工程師而言,系統(tǒng)生成器能夠創(chuàng)建系統(tǒng)中關(guān)鍵部件安裝時(shí)所需的所有文件,并能使外圍器件定義、外圍器件創(chuàng)建、以及處理器上數(shù)百個(gè)管腳與外圍器件和系統(tǒng)總線的連接自動(dòng)進(jìn)行。對(duì)于開發(fā)工程師而言,系統(tǒng)生成器在進(jìn)行HW/SW系統(tǒng)權(quán)衡時(shí)能提供很大幫助,而且還能解決軟硬件優(yōu)化的問題。
如何利用Floorplanner
很多EDA廠商都提供的另一種工具是Floorplanner,硬件設(shè)計(jì)工程師利用該工具可以控制擺放那些與他們所感興趣的功能相關(guān)的邏輯,并且在功能實(shí)現(xiàn)后立即查看器件內(nèi)的布局線路情況。以嵌入式系統(tǒng)為例,F(xiàn)loorplanner可以幫助設(shè)計(jì)工程師查看和(或)控制處理器以及相關(guān)外圍器件的擺放,這些外圍器件的布局可能對(duì)滿足設(shè)計(jì)性能要求非常關(guān)鍵。
PowerPC 處理器有廣泛的實(shí)現(xiàn)范圍,包括從諸如 Power4 那樣的高端服務(wù)器CPU 到嵌入式 CPU 市場(chǎng)。PowerPC 處理器有非常強(qiáng)的嵌入式表現(xiàn),因?yàn)樗哂袃?yōu)異的性能、較低的能量損耗以及較低的散熱量。除了象串行和以太網(wǎng)控制器那樣的集成 I/O,該嵌入式處理器與臺(tái)式機(jī)CPU 存在非常顯著的區(qū)別。例如,4xx 系列 PowerPC 處理器缺乏浮點(diǎn)運(yùn)算,并且還使用一個(gè)受軟件控制的 TLB 進(jìn)行內(nèi)存管理,而不是象臺(tái)式機(jī)芯片中那樣采用反轉(zhuǎn)頁(yè)表。 如圖2所示。要想控制這類布局,簡(jiǎn)單的方法也許就是采用Floorplanner工具。
Floorplanner應(yīng)用恰當(dāng)時(shí)能夠提升嵌入式系統(tǒng)的性能,但若應(yīng)用不當(dāng)則會(huì)降低系統(tǒng)性能。因此,用戶要想成功地應(yīng)用該工具,還應(yīng)該注意以下幾點(diǎn)建議:
1. 硬件設(shè)計(jì)工程師在采用Floorplanner對(duì)硬件開始布局之前,必須清楚了解設(shè)計(jì)和目標(biāo)結(jié)構(gòu),這對(duì)正確的設(shè)計(jì)布局和硬件資源利用非常關(guān)鍵。

2. 在對(duì)FPGA進(jìn)行物理布局時(shí)必須優(yōu)先考慮I/O。如圖3所示,控制信號(hào)I/O應(yīng)該放在FPGA的頂部或底部,數(shù)據(jù)總線I/O應(yīng)放在左側(cè)或右側(cè),這樣才能保證有效地利用FPGA的布線資源,并地優(yōu)化性能。
3. 算術(shù)功能在FPGA中通常利用專用的進(jìn)位鏈來實(shí)現(xiàn),進(jìn)位鏈在一個(gè)特殊的垂直方向上運(yùn)行。例如,一個(gè)10位計(jì)數(shù)器的進(jìn)位鏈就在從器件底端到頂端的垂直方向上運(yùn)行。因而,設(shè)計(jì)者可以將其總線的LSB置于器件的底部而將MSB置于頂部,充分利用進(jìn)位鏈的方向性。
4. Floorplanner根據(jù)邏輯層次的不同來顯示邏輯單元,因而很容易將邏輯單元?jiǎng)澐譃楣驳慕M或區(qū)域。這種根據(jù)層次分組的方式利用了本地布線資源,因而能夠降低信號(hào)延遲,提高電路性能。
5. 如圖4所示,交替地放置相關(guān)的總線。硬件設(shè)計(jì)工程師可以通過交替放置相關(guān)的I/O總線來降低信號(hào)延遲,但只有在這樣的處理不增加額外的邏輯單元時(shí)才有意義。需要提醒的是,在進(jìn)行布線決策時(shí)一定要把整個(gè)設(shè)計(jì)看作一個(gè)整體。
硬件設(shè)計(jì)工程師在嵌入式系統(tǒng)設(shè)計(jì)中適當(dāng)注意以上幾點(diǎn),就能輕松地對(duì)一個(gè)設(shè)計(jì)進(jìn)行組織和規(guī)劃。在對(duì)嵌入式系統(tǒng)進(jìn)行底層規(guī)劃之前,設(shè)計(jì)工程師必須首先給不同的組分配邏輯資源。組通常都是基于設(shè)計(jì)層次的,設(shè)計(jì)層次為嵌入式系統(tǒng)提供了一個(gè)自然的邊界,F(xiàn)loorplanner可以利用這個(gè)邊界輕松地進(jìn)行組創(chuàng)建。系統(tǒng)生成器在創(chuàng)建系統(tǒng)的每一個(gè)模塊時(shí)均相應(yīng)創(chuàng)建了獨(dú)特的分層參考,這就使得嵌入式系統(tǒng)的組定義變得非常簡(jiǎn)單。
設(shè)計(jì)版圖約束
Floorplanner提供了三種方法來約束邏輯模塊和邏輯組的物理位置分配:
1. 種方法就是將邏輯部件置于一個(gè)特定的物理位置,或放在某個(gè)特定的元件內(nèi)部。例如,數(shù)據(jù)總線的一個(gè)輸出(以第10位為例)可以分配給器件的第37腳。但這類分配沒有靈活性,布局工具和布線工具必須將第10位的輸出驅(qū)動(dòng)置于器件管腳37中。這種方法還可以用于布局和分配一組邏輯部件。
2. 第二種方法是將某個(gè)邏輯單元或邏輯組分配給一個(gè)物理區(qū)域。通常采用的都是這種方法,因?yàn)樗试S布局工具和布線工具移動(dòng)某區(qū)域組內(nèi)的邏輯單元,以實(shí)現(xiàn)的布局和布線。為了優(yōu)化系統(tǒng)設(shè)計(jì),功能更強(qiáng)大的Floorplanner工具還支持組間重疊,以及在一個(gè)經(jīng)過底層規(guī)劃的區(qū)域?qū)崿F(xiàn)不經(jīng)底層規(guī)劃處理的邏輯。
3. 第三種方法是創(chuàng)建關(guān)聯(lián)布局宏(Relationally Plalced Macro, RPM)。RPM定義了各邏輯單元之間的相對(duì)版圖設(shè)計(jì),但準(zhǔn)確的布局是由布局和布線工具決定的,這樣可以得到的設(shè)計(jì)性能。例如,一個(gè)查找表(LUT) 可以與一個(gè)觸發(fā)器置于同一塊(slice)內(nèi),而一個(gè)塊又可以直接置于另一塊之上。RPM使設(shè)計(jì)工程師能夠控制某些特定模塊的布線,但并沒有嚴(yán)格地限制布局和布線工具。
通過在嵌入式系統(tǒng)設(shè)計(jì)中應(yīng)用以上提出的建議和方法,硬件設(shè)計(jì)工程師就能控制某些特定部件的布局,改善器件的整體布線(通過利用區(qū)域性分組),并控制某些特定部件之間的相對(duì)布局(通過采用RPM)。

應(yīng)用舉例
圖5采用了PPC 405來說明上面所述方法和建議,該應(yīng)用是包含了2個(gè)UART和一個(gè)BRAM控制器的嵌入式設(shè)計(jì)。
在該設(shè)計(jì)中,系統(tǒng)生成器創(chuàng)建層次邊界,而邏輯組則在這些邊界的基礎(chǔ)上創(chuàng)建。為PLB仲裁器、UART和BRAM內(nèi)存控制器均可創(chuàng)建區(qū)域組(area group)。將BRAM和PPC 405限制在特定位置,以使設(shè)計(jì)達(dá)到性能。應(yīng)該注意的是,在分配一個(gè)區(qū)域組時(shí),必須為該區(qū)域中的邏輯單元分配足夠的資源。而當(dāng) Floorplanner的功能更強(qiáng)大時(shí),還能為用戶提供每個(gè)區(qū)域組所需的資源。
在分配資源時(shí),BRAM內(nèi)存控制器被置于硅片的中央,這樣可以對(duì)所有BRAM元件以及PPC 405內(nèi)核進(jìn)行同等的訪問。在本設(shè)計(jì)之中BRAM中包含了PPC 405內(nèi)核所需的數(shù)據(jù)和指令。UART1和UART2的位置在IO附近,以盡可能減少輸入到時(shí)鐘和時(shí)鐘到輸出的時(shí)間。設(shè)計(jì)中有兩個(gè)PLB接口,一個(gè)是 CPU指令端PLB接口,另一個(gè)是CPU數(shù)據(jù)端PLB接口。
分配給每一個(gè)區(qū)域組的邏輯單元均根據(jù)區(qū)域約束進(jìn)行布局,而且為提高設(shè)計(jì)性能,還在設(shè)計(jì)中混入了額外的邏輯單元,這也正說明了為什么在每個(gè)區(qū)域組分配時(shí)都要保留一定的額外空間的原因。
參考文獻(xiàn):
[1]. CPLD datasheet http://www.hbjingang.com/datasheet/CPLD_1136600.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理
- 同步整流中MOSFET的應(yīng)用要點(diǎn)
- 輸出短路對(duì)電源芯片的影響
- 連接器壽命評(píng)估與可靠性設(shè)計(jì)
- PCB電源完整性(PI)設(shè)計(jì)核心實(shí)操規(guī)范
- 多層PCB疊層設(shè)計(jì)核心實(shí)操規(guī)范
- 提高M(jìn)OSFET效率的電路優(yōu)化方法
- 電源管理IC在智能家居中的應(yīng)用
- 差分信號(hào)連接器設(shè)計(jì)要點(diǎn)









