Virtex-Ⅱ Pro FPGA的嵌入系統設計與應用
隨著(zhù)通信技術(shù)的飛速發(fā)展,為滿(mǎn)足高速數字電路和數字信號處理等對時(shí)鐘管理、信號完整性、高速寬帶接口的要求,高速處理器與通信的融合日趨緊密,高速處理器、可編程邏輯器件和高速存儲器成為設計的關(guān)鍵。Virtex- ⅡPro 系列FPGA 將可編程邏輯結構和高速處理器集成在同一芯片內部,直接的連接克服了利用總線(xiàn)在FPGA 和附加外部處理器之間接口的瓶頸。
Virtex-II Pro 簡(jiǎn)介
Virtex- ⅡPro 系列最大容量的FPGA 目前能提供多達5 萬(wàn)個(gè)邏輯單元具有超過(guò)10 Mb 的RAM;556 個(gè)乘法單元12 個(gè)數字時(shí)鐘管理單元以及24個(gè)集成3. 125 GbPs 的Rocket IOTM 收發(fā)器最大可提供1 200 個(gè)IO 引腳, 支持CMOS、SSTL 、HSTL 、LVDS、GTL 和3. 3V PCI 信號標準。Virtex - II Pro 系列FPGA 支持多達4 個(gè)運行頻率高達300 MHz 的PowerPC 405 處理器。PowerPC405 采用嵌入式300 MHz哈佛(Harvard) 結構的RISC 核具有五級數據通道流水線(xiàn)、硬件乘除單元、32 個(gè)32 位通用寄存器、16 KB指令Cache 和16 KB 數據Cache 、1 KB~16MB 可變頁(yè)尺寸組成存儲器管理單元(MMU) 和專(zhuān)用的片內存儲器接口。
PowerPC405 處理器由IBM CoreConnect 技術(shù)支持,CoreConnect 是運行在100~133 MHz 的64 位總線(xiàn),為了使系統設計靈活性達到最大,CoreConnect 結構是作為軟IP 核在Virtex - ⅡPRO FPGA 中實(shí)現的。CoreConnect 總線(xiàn)結構有2 個(gè)主要總線(xiàn)組成,處理器局部總線(xiàn)(PLB) 和片內外設總線(xiàn)(OPB) 。這些總線(xiàn)可以用來(lái)分別連接高速和低速外設到PowerPC處理器。此外,設備控制寄存器總線(xiàn)對通用外設器件寄存器的進(jìn)行管理和控制。
EDK(Embedded Development Kit) 是Xilinx 公司提供的嵌入開(kāi)發(fā)工具,用于在FPGA 內部集成多種不同的IP 核,可方便地規劃、設計并生成整個(gè)片上系統的硬件和軟件結構。通過(guò)編寫(xiě)硬件描述文件(MHS) 來(lái)設置FPGA 內部硬件系統,主要包括定制嵌入處理器PowerPC405、外圍設備IP 核、設定外部存儲器和其他外設的地址空間、管理外圍設備的控制信號及中斷信號。EDK 的硬件生成平臺根據用戶(hù)編輯的MHS 文件生成相應的VHD 文件,原理圖文件等,同時(shí)支持系統仿真。EDK工具提供了大量可供使用的IP 核, 包括SDRAM,DDRRAM,UARTController ,10/ 100 M以太網(wǎng)MAC ,總線(xiàn)仲裁器等,使FPGA 可方便地與其他外圍器件連接。EDK 實(shí)現FPGA 片內軟、硬件設計過(guò)程如圖1 所示。
應用系統結構
數據糾錯譯碼接入設備要求對同步傳輸的數據進(jìn)行幀同步、解擾、糾錯譯碼處理并對處理后的數據進(jìn)行網(wǎng)絡(luò )接入。在以太網(wǎng)接入部分,要求對解碼后的數據進(jìn)行IP 協(xié)議封裝,然后使用數據鏈路層協(xié)議對協(xié)議包進(jìn)行以太網(wǎng)幀的封裝,最終通過(guò)網(wǎng)口接入局域網(wǎng)。
在對Virtex - II 系列FPGA 充分理解和研究的基礎上,根據系統設計需求,進(jìn)行系統硬件的設計。本設計采用了VII - Pro 系列的XC2VP7FG456 芯片,在芯片內部設計嵌入了一個(gè)PowerPC405 處理器IP核。應用系統由XC2VP7FG456 芯片及其上電復位電路, 系統時(shí)鐘電路、內存電路、程序存儲電路、PROM電路、以太網(wǎng)PHY接口電路和RS - 232 接口電路、JTAG接口、LVPECL 電平接口電路組成。系統組成框圖如圖2 所示。
由于FPGA 可允許PowerPC 硬IP 核心分布在Virtex 結構中的任何位置,設計時(shí)需要綜合考慮系統的設計要求,合理地指定FPGA 各個(gè)管腳的信號??紤]到輸入輸出標準的不同,FPGA 芯片劃分了8 個(gè)不同的Bank ,每個(gè)Bank 可支持不同的I/ O 特性。在設計過(guò)程中,盡量把同一特性的外圍芯片管腳連接到FPGA 芯片的同一Bank 的IO 管腳。同時(shí),為了方便進(jìn)行調試,可將FPGA 芯片內部不可測內部狀態(tài)引到空余管腳。
應用系統實(shí)現
系統時(shí)鐘
參考時(shí)鐘由外部晶振產(chǎn)生,通過(guò)FPGA 芯片全局時(shí)鐘管腳接入到FPGA 內部數字時(shí)鐘管理模塊(DCM) 和時(shí)鐘分配樹(shù)。DCM 支持超過(guò)400 MHz 的時(shí)鐘輸出,提供了一個(gè)可保證精確50/ 50 占空比的零延遲時(shí)鐘緩沖。同時(shí)提供了精確控制90 ,180 ,270 相移的能力,實(shí)現對時(shí)鐘信號的綜合,支持24~420 MHz間的精確頻率產(chǎn)生。在FPGA 內部,DCM統一分配時(shí)鐘信號,將DCM 的時(shí)鐘輸出設置為PowerPC 的系統時(shí)鐘,并提供給PLB ,OPB 總線(xiàn)仲裁器。
外部存儲器
PPC405 的PLB 總線(xiàn)支持高性能的高速存儲器,如DDR RAM,SDRAM 等。OPB 總線(xiàn)支持通用的存儲電路, 如EPROM, SRAM, FALSH 和外部寄存器等低速的存儲器。在本設計中采用了2 片MT48V8M16 高速同步SDRAM, 構成PowerPC405處理器數據總線(xiàn)寬度32 位,容量為32 MB 的外部數據存儲區。在編輯MHS 文件時(shí), 選擇加入PLBSDRAM核,在其中配置存儲器地址總線(xiàn)和數據總線(xiàn)寬度,指定存儲區的起始地址。程序存儲器除選用OPB 總線(xiàn)外,其余設置與數據存儲器類(lèi)似。
以太網(wǎng)接口
在FPGA 內部集成10/ 100 MEthernet MAC 核。外接BCM5221 以太網(wǎng)物理層芯片,該芯片適用于IEEE802. 3 物理層的應用,然后通過(guò)網(wǎng)絡(luò )變壓器后接入以太網(wǎng)。在編輯MHS 文件時(shí),選擇加入以太網(wǎng)MAC 層內核。
RS232 接口
根據需要,在FPGA 內部集成UART 控制器,外接RS232 電平轉換器,連接到計算機的串口,用作應用程序的調試信息輸出。在MHS文件中可配置串口的波特率,數據位寬度,奇偶校驗等設置。
在線(xiàn)可編程PROM
FPGA 是基于門(mén)陣列方式為用戶(hù)提供可編程資源的,其內部邏輯結構的形成是由配置數據決定的。這些配置數據通過(guò)外部控制電路或微處理器加載到FPGA 內部的SRAM 中,由于SRAM 的易失性,每次上電時(shí),都必須對FPGA 進(jìn)行重新配置。在實(shí)際應用時(shí),采用2 片XC18V04 PROM,用以存放FPGA 的配置數據流。通過(guò)硬件跳線(xiàn)將FPGA 設置為串行主模式配置方式,在FPGA 每次上電后,自動(dòng)將配置數據從PROM讀入到SRAM中,實(shí)現內部結構映射。
JTAG端口
JTAG端口用于進(jìn)行FPGA 配置信息的下載,編程PROM。在VII - Pro 中嵌入PowerPC 內核時(shí),還可進(jìn)行應用程序代碼的下載和調試。為方便軟件代碼的調試,除FPGA 專(zhuān)用配置管腳TCK,TMS ,TDO ,TDI外,還可在FPGA 芯片上指定4 個(gè)普通I/ O 管腳,內部配置連接PowerPC 內核的JTAG 接口, 用于PowerPC 內核的調試,軟件代碼跟蹤調試。在這種模式下,軟件代碼可單獨下載到PowerPC 內核進(jìn)行軟件的調試。在利用JTAG引腳配置FPGA 時(shí),需要注意:JTAG配置引腳最好接上拉電阻,在配置期間INIT 引腳要接地。
結束語(yǔ)
本文成功使用XC2VP7FG456 型FPGA 及其內部的PowerPC405 嵌入處理器開(kāi)發(fā)了數據處理和網(wǎng)絡(luò )接入板,經(jīng)電路測試,可實(shí)現傳輸速率為100 Mb/ s的同步數據接收和處理,滿(mǎn)足系統需要。Virtex - IIPro 系列FPGA 支持內部嵌入運行頻率高達300 MHz的PowerPC405 處理器IP 核,設計人員可以并行進(jìn)行快速的硬件和軟件開(kāi)發(fā),在系統結構一級利用可編程性能所提供的優(yōu)點(diǎn),從而使設計投入生產(chǎn)所需要的時(shí)間更短。
評論