基于FPGA的嵌入式串行千兆以太網(wǎng)設(shè)計(jì)
本系統(tǒng)基于Xilinx公司嵌入式系統(tǒng)開發(fā)工具EDK12.3完成軟硬件協(xié)同設(shè)計(jì)。EDK12.3由XPS(Xilinx Platform Studio)、SDK(Software Development Kit)等組成。設(shè)計(jì)時(shí)需在XPS環(huán)境下添加所需的IP核,生成硬件系統(tǒng)框架,并添加相應(yīng)的引腳約束和時(shí)序約束,然后調(diào)用Plat gen生成嵌入式系統(tǒng)硬件部分的網(wǎng)表(.NGC)文件和比特(.bit)文件,并通過軟件描述文件(.MSS文件)來(lái)設(shè)置系統(tǒng)軟件配置;接著將硬件設(shè)計(jì)導(dǎo)入到SDK中,并在SDK中生成各個(gè)外設(shè)的驅(qū)動(dòng)層和庫(kù),設(shè)置相應(yīng)軟件的操作系統(tǒng)、庫(kù)、外設(shè)驅(qū)動(dòng)的屬性,添加應(yīng)用軟件項(xiàng)目并編寫應(yīng)用軟件;最后,調(diào)用處理器對(duì)應(yīng)的編譯器編譯軟件并和硬件可執(zhí)行文件合成后,生成最終的二進(jìn)制比特文件,下載到目標(biāo)板進(jìn)行系統(tǒng)調(diào)試。
2 PowerPC的硬件設(shè)計(jì)
設(shè)計(jì)中采用的FPGA內(nèi)嵌硬核處理器PowerPC440屬于32位精簡(jiǎn)指令集嵌入式處理器,它采用擴(kuò)展型Book-E結(jié)構(gòu),其內(nèi)部包括一個(gè)高性能、可雙指令處理并有七級(jí)流水線的微內(nèi)核。同時(shí),具有靈活的存儲(chǔ)器管理單元(MMU)、3個(gè)相互獨(dú)立的128位PLB總線接口、4個(gè)直接存儲(chǔ)器存儲(chǔ)(DMA)控制單元,以及設(shè)備控制寄存器(DCR)等。它集成了32 KB指令和32 KB數(shù)據(jù)緩存,在550 MHz時(shí)鐘頻率下可提供高達(dá)1100 DMIPS的性能。在本設(shè)計(jì)中,PowerPCA40通過PLB總線與外設(shè)端口相連,其硬件架構(gòu)如圖3所示。本文引用地址:http://m.butianyuan.cn/article/153698.htm
系統(tǒng)硬件平臺(tái)的搭建(包括PowerPC處理器功能配置、系統(tǒng)總線結(jié)構(gòu)以及相應(yīng)的地址映射)均在EDK集成開發(fā)環(huán)境XPS中完成。
設(shè)計(jì)中采用片內(nèi)高速數(shù)據(jù)總線PLB連接各種控制IP核,PowerPC440通過PLB總線完成對(duì)內(nèi)部IP核以及外設(shè)的訪問和控制功能。其中,外部PHY芯片通過與在FPGA內(nèi)部例化EMAC核(Ethernet MAC)相連,掛載在PLB總線上,完成SGMII鏈路的建立;DDR II芯片通過IP核多端口存儲(chǔ)控制器(Multiport Memory Controller,MPMC)掛載在PLB總線上,實(shí)現(xiàn)外部存儲(chǔ)功能;串口通過串口控制器IP核(Xps_uartlite)與PLB總線相連,用于打印輸出調(diào)試狀態(tài)信息;8個(gè)撥碼開關(guān)DIP和LED燈分別通過GPIO口與PLB總線相連,實(shí)現(xiàn)簡(jiǎn)單的控制與狀態(tài)顯示功能。
硬件結(jié)構(gòu)如圖4所示。
本系統(tǒng)使用時(shí)鐘生成器IP核生成系統(tǒng)各模塊工作時(shí)所需時(shí)鐘。該IP核模塊的輸入時(shí)鐘為FPGA全局時(shí)鐘引腳輸入的100 MHz時(shí)鐘,經(jīng)過相應(yīng)的倍頻,生成400 MHz的PowerPC440工作時(shí)鐘,生成200 MHz的DDR Il工作時(shí)鐘以及125 MHz的Ethernet MAC工作時(shí)鐘。
在各模塊添加及連接結(jié)束后,需添加UCF約束文件,包括FPGA引腳約束和相應(yīng)的時(shí)序約束等,并對(duì)XPS自動(dòng)生成的微處理器硬件規(guī)范MHS文件進(jìn)行相應(yīng)的修改,對(duì)系統(tǒng)進(jìn)行適當(dāng)?shù)膬?yōu)化。生成的系統(tǒng)在綜合、布局、布線無(wú)誤后生成最終的.bit文件,準(zhǔn)備下載到電路板上。
fpga相關(guān)文章:fpga是什么
評(píng)論