FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。隨著通信技術(shù)的飛速發(fā)展,為滿足高速數(shù)字電路和數(shù)字信號(hào)處理等對(duì)時(shí)鐘管理、信號(hào)完整性、高速寬帶接口的要求,高速處理器與通信的融合日趨緊密,高速處理器、可編程邏輯器件和高速存儲(chǔ)器成為設(shè)計(jì)的關(guān)鍵。Virtex- ⅡPro 系列FPGA 將可編程邏輯結(jié)構(gòu)和高速處理器集成在同一芯片內(nèi)部,直接的連接克服了利用總線在FPGA 和附加外部處理器之間接口的瓶頸。
Virtex-II Pro 簡(jiǎn)介
Virtex- ⅡPro 系列最大容量的FPGA 目前能提供多達(dá)5 萬(wàn)個(gè)邏輯單元具有超過(guò)10 Mb 的RAM;556 個(gè)乘法單元12 個(gè)數(shù)字時(shí)鐘管理單元以及24個(gè)集成3. 125 GbPs 的Rocket IOTM 收發(fā)器最大可提供1 200 個(gè)IO 引腳, 支持CMOS、SSTL 、HSTL 、LVDS、GTL 和3. 3V PCI 信號(hào)標(biāo)準(zhǔn)。Virtex - II Pro 系列FPGA 支持多達(dá)4 個(gè)運(yùn)行頻率高達(dá)300 MHz 的PowerPC 405 處理器。PowerPC405 采用嵌入式300 MHz哈佛(Harvard) 結(jié)構(gòu)的RISC 核具有五級(jí)數(shù)據(jù)通道流水線、硬件乘除單元、32 個(gè)32 位通用寄存器、16 KB指令Cache 和16 KB 數(shù)據(jù)Cache 、1 KB~16MB 可變頁(yè)尺寸組成存儲(chǔ)器管理單元(MMU) 和專用的片內(nèi)存儲(chǔ)器接口。
PowerPC405 處理器由IBM CoreConnect 技術(shù)支持,CoreConnect 是運(yùn)行在100~133 MHz 的64 位總線,為了使系統(tǒng)設(shè)計(jì)靈活性達(dá)到最大,CoreConnect 結(jié)構(gòu)是作為軟IP 核在Virtex - ⅡPRO FPGA 中實(shí)現(xiàn)的。CoreConnect 總線結(jié)構(gòu)有2 個(gè)主要總線組成,處理器局部總線(PLB) 和片內(nèi)外設(shè)總線(OPB) 。這些總線可以用來(lái)分別連接高速和低速外設(shè)到PowerPC處理器。此外,設(shè)備控制寄存器總線對(duì)通用外設(shè)器件寄存器的進(jìn)行管理和控制。
EDK(Embedded Development Kit) 是Xilinx 公司提供的嵌入開(kāi)發(fā)工具,用于在FPGA 內(nèi)部集成多種不同的IP 核,可方便地規(guī)劃、設(shè)計(jì)并生成整個(gè)片上系統(tǒng)的硬件和軟件結(jié)構(gòu)。通過(guò)編寫(xiě)硬件描述文件(MHS) 來(lái)設(shè)置FPGA 內(nèi)部硬件系統(tǒng),主要包括定制嵌入處理器PowerPC405、外圍設(shè)備IP 核、設(shè)定外部存儲(chǔ)器和其他外設(shè)的地址空間、管理外圍設(shè)備的控制信號(hào)及中斷信號(hào)。EDK 的硬件生成平臺(tái)根據(jù)用戶編輯的MHS 文件生成相應(yīng)的VHD 文件,原理圖文件等,同時(shí)支持系統(tǒng)仿真。EDK工具提供了大量可供使用的IP 核, 包括SDRAM,DDRRAM,UARTController ,10/ 100 M以太網(wǎng)MAC ,總線仲裁器等,使FPGA 可方便地與其他外圍器件連接。EDK 實(shí)現(xiàn)FPGA 片內(nèi)軟、硬件設(shè)計(jì)過(guò)程如圖1 所示。
應(yīng)用系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)糾錯(cuò)譯碼接入設(shè)備要求對(duì)同步傳輸?shù)臄?shù)據(jù)進(jìn)行幀同步、解擾、糾錯(cuò)譯碼處理并對(duì)處理后的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)接入。在以太網(wǎng)接入部分,要求對(duì)解碼后的數(shù)據(jù)進(jìn)行IP 協(xié)議封裝,然后使用數(shù)據(jù)鏈路層協(xié)議對(duì)協(xié)議包進(jìn)行以太網(wǎng)幀的封裝,最終通過(guò)網(wǎng)口接入局域網(wǎng)。
在對(duì)Virtex - II 系列FPGA 充分理解和研究的基礎(chǔ)上,根據(jù)系統(tǒng)設(shè)計(jì)需求,進(jìn)行系統(tǒng)硬件的設(shè)計(jì)。本設(shè)計(jì)采用了VII - Pro 系列的XC2VP7FG456 芯片,在芯片內(nèi)部設(shè)計(jì)嵌入了一個(gè)PowerPC405 處理器IP核。應(yīng)用系統(tǒng)由XC2VP7FG456 芯片及其上電復(fù)位電路, 系統(tǒng)時(shí)鐘電路、內(nèi)存電路、程序存儲(chǔ)電路、PROM電路、以太網(wǎng)PHY接口電路和RS - 232 接口電路、JTAG接口、LVPECL 電平接口電路組成。系統(tǒng)組成框圖如圖2 所示。
由于FPGA 可允許PowerPC 硬IP 核心分布在Virtex 結(jié)構(gòu)中的任何位置,設(shè)計(jì)時(shí)需要綜合考慮系統(tǒng)的設(shè)計(jì)要求,合理地指定FPGA 各個(gè)管腳的信號(hào)。考慮到輸入輸出標(biāo)準(zhǔn)的不同,F(xiàn)PGA 芯片劃分了8 個(gè)不同的Bank ,每個(gè)Bank 可支持不同的I/ O 特性。在設(shè)計(jì)過(guò)程中,盡量把同一特性的外圍芯片管腳連接到FPGA 芯片的同一Bank 的IO 管腳。同時(shí),為了方便進(jìn)行調(diào)試,可將FPGA 芯片內(nèi)部不可測(cè)內(nèi)部狀態(tài)引到空余管腳。
應(yīng)用系統(tǒng)實(shí)現(xiàn)
1.系統(tǒng)時(shí)鐘
參考時(shí)鐘由外部晶振產(chǎn)生,通過(guò)FPGA 芯片全局時(shí)鐘管腳接入到FPGA 內(nèi)部數(shù)字時(shí)鐘管理模塊(DCM) 和時(shí)鐘分配樹(shù)。DCM 支持超過(guò)400 MHz 的時(shí)鐘輸出,提供了一個(gè)可保證精確50/ 50 占空比的零延遲時(shí)鐘緩沖。同時(shí)提供了精確控制90 ,180 ,270 相移的能力,實(shí)現(xiàn)對(duì)時(shí)鐘信號(hào)的綜合,支持24~420 MHz間的精確頻率產(chǎn)生。在FPGA 內(nèi)部,DCM統(tǒng)一分配時(shí)鐘信號(hào),將DCM 的時(shí)鐘輸出設(shè)置為PowerPC 的系統(tǒng)時(shí)鐘,并提供給PLB ,OPB 總線仲裁器。
2.外部存儲(chǔ)器
PPC405 的PLB 總線支持高性能的高速存儲(chǔ)器,如DDR RAM,SDRAM 等。OPB 總線支持通用的存儲(chǔ)電路, 如EPROM, SRAM, FALSH 和外部寄存器等低速的存儲(chǔ)器。在本設(shè)計(jì)中采用了2 片MT48V8M16 高速同步SDRAM, 構(gòu)成PowerPC405處理器數(shù)據(jù)總線寬度32 位,容量為32 MB 的外部數(shù)據(jù)存儲(chǔ)區(qū)。在編輯MHS 文件時(shí), 選擇加入PLBSDRAM核,在其中配置存儲(chǔ)器地址總線和數(shù)據(jù)總線寬度,指定存儲(chǔ)區(qū)的起始地址。程序存儲(chǔ)器除選用OPB 總線外,其余設(shè)置與數(shù)據(jù)存儲(chǔ)器類似。
3.以太網(wǎng)接口
在FPGA 內(nèi)部集成10/ 100 MEthernet MAC 核。外接BCM5221 以太網(wǎng)物理層芯片,該芯片適用于IEEE802. 3 物理層的應(yīng)用,然后通過(guò)網(wǎng)絡(luò)變壓器后接入以太網(wǎng)。在編輯MHS 文件時(shí),選擇加入以太網(wǎng)MAC 層內(nèi)核。
4.RS232 接口
根據(jù)需要,在FPGA 內(nèi)部集成UART 控制器,外接RS232 電平轉(zhuǎn)換器,連接到計(jì)算機(jī)的串口,用作應(yīng)用程序的調(diào)試信息輸出。在MHS文件中可配置串口的波特率,數(shù)據(jù)位寬度,奇偶校驗(yàn)等設(shè)置。
5.在線可編程PROM
FPGA 是基于門陣列方式為用戶提供可編程資源的,其內(nèi)部邏輯結(jié)構(gòu)的形成是由配置數(shù)據(jù)決定的。這些配置數(shù)據(jù)通過(guò)外部控制電路或微處理器加載到FPGA 內(nèi)部的SRAM 中,由于SRAM 的易失性,每次上電時(shí),都必須對(duì)FPGA 進(jìn)行重新配置。在實(shí)際應(yīng)用時(shí),采用2 片XC18V04 PROM,用以存放FPGA 的配置數(shù)據(jù)流。通過(guò)硬件跳線將FPGA 設(shè)置為串行主模式配置方式,在FPGA 每次上電后,自動(dòng)將配置數(shù)據(jù)從PROM讀入到SRAM中,實(shí)現(xiàn)內(nèi)部結(jié)構(gòu)映射。
6.JTAG端口
JTAG端口用于進(jìn)行FPGA 配置信息的下載,編程PROM。在VII - Pro 中嵌入PowerPC 內(nèi)核時(shí),還可進(jìn)行應(yīng)用程序代碼的下載和調(diào)試。為方便軟件代碼的調(diào)試,除FPGA 專用配置管腳TCK,TMS ,TDO ,TDI外,還可在FPGA 芯片上指定4 個(gè)普通I/ O 管腳,內(nèi)部配置連接PowerPC 內(nèi)核的JTAG 接口, 用于PowerPC 內(nèi)核的調(diào)試,軟件代碼跟蹤調(diào)試。在這種模式下,軟件代碼可單獨(dú)下載到PowerPC 內(nèi)核進(jìn)行軟件的調(diào)試。在利用JTAG引腳配置FPGA 時(shí),需要注意:JTAG配置引腳最好接上拉電阻,在配置期間INIT 引腳要接地。
FPGA簡(jiǎn)介
目前以硬件描述語(yǔ)言(Verilog 或 VHDL)所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn)單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。
系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過(guò)可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來(lái),就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。一個(gè)出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能。
FPGA一般來(lái)說(shuō)比ASIC(專用集成芯片)的速度要慢,無(wú)法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來(lái)改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠商也可能會(huì)提供便宜的但是編輯能力差的FPGA。因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計(jì)的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類似于ASIC的芯片上。另外一種方法是用CPLD(復(fù)雜可編程邏輯器件備)。
FPGA芯片結(jié)構(gòu)
目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如RAM、時(shí)鐘管理和DSP)的硬核(ASIC型)模塊。如圖3所示(注:圖3只是一個(gè)示意圖,實(shí)際上每一個(gè)系列的FPGA都有其相應(yīng)的內(nèi)部結(jié)構(gòu)),F(xiàn)PGA芯片主 要由6部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯單元、完整的時(shí)鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊。
總結(jié)
使用XC2VP7FG456 型FPGA 及其內(nèi)部的PowerPC405 嵌入處理器開(kāi)發(fā)了數(shù)據(jù)處理和網(wǎng)絡(luò)接入板,經(jīng)電路測(cè)試,可實(shí)現(xiàn)傳輸速率為100 Mb/ s的同步數(shù)據(jù)接收和處理,滿足系統(tǒng)需要。 Virtex- ⅡPro 系列FPGA 將可編程邏輯結(jié)構(gòu)和高速處理器集成在同一芯片內(nèi)部,直接的連接克服了利用總線在FPGA 和附加外部處理器之間接口的重點(diǎn),支持內(nèi)部嵌入運(yùn)行頻率高達(dá)300 MHz的PowerPC405 處理器IP 核,設(shè)計(jì)人員可以并行進(jìn)行快速的硬件和軟件開(kāi)發(fā),在系統(tǒng)結(jié)構(gòu)一級(jí)利用可編程性能所提供的優(yōu)點(diǎn),從而使設(shè)計(jì)投入生產(chǎn)所需要的時(shí)間更短。
-
處理器
+關(guān)注
關(guān)注
68文章
19470瀏覽量
231457 -
FPGA
+關(guān)注
關(guān)注
1631文章
21811瀏覽量
606825 -
局域網(wǎng)
+關(guān)注
關(guān)注
5文章
765瀏覽量
46441
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Xilinx可編程邏輯器件的高級(jí)應(yīng)用與設(shè)計(jì)技巧絕版教程
XC2V1000-4FGG456C XILINX Virtex-II? 系列介紹
采用高級(jí)語(yǔ)言開(kāi)發(fā)FPGA的探索
【下載】《FPGA上的嵌入式系統(tǒng)設(shè)計(jì)實(shí)例(附光盤XILINX大學(xué)合作計(jì)劃指定教材)》
Virtex-6 FPGA ML605開(kāi)發(fā)評(píng)估技術(shù)方案

DS112 - Virtex- 4 系列概述
基于ASF開(kāi)發(fā)庫(kù)進(jìn)行ATWINC1500軟件開(kāi)發(fā)

詳解嵌入式軟件開(kāi)發(fā)到FPGA開(kāi)發(fā)
Eclypse Z7開(kāi)發(fā)板讓軟件開(kāi)發(fā)人員了解FPGA

助力軟件開(kāi)發(fā)者—擴(kuò)展FPGA應(yīng)用開(kāi)發(fā)

評(píng)論