Leon3軟核的FPGA SelectMap接口配置設(shè)計
摘要:與通常采用外圍的CPLD器件和CPU來產(chǎn)生配置接口控制邏輯的方法不同,本文設(shè)計了采用嵌入到FPGA的Leon3開源CPU軟核來控制實現(xiàn)Virtex系列FPGA的SelectMap接口配置的方法,可將其應(yīng)用于對FPGA芯片的在線配置。該方法設(shè)計成本低,不局限于某一類型的FPGA芯片,減少了外圍分立元件的使用,增強了設(shè)計的靈活性。仿真結(jié)果表明該設(shè)計滿足SelectMap接口配置所需控制邏輯要求,可以完成FPGA的并行配置。
關(guān)鍵詞:FPGA;嵌入式CPU;Leon3軟核;SelectMap接口
引言
嵌入式系統(tǒng)的硬件通常包括CPU、存儲器和各種外設(shè)器件,其中CPU是系統(tǒng)的核心,其重要性不言而喻。隨著FPGA和SOPC技術(shù)的發(fā)展,基于FPGA的嵌入式系統(tǒng)與傳統(tǒng)的嵌入式系統(tǒng)相比,具有設(shè)計周期短、設(shè)計風(fēng)險和設(shè)計成本低、集成度高、靈活性大、維護和升級方便、硬件缺陷修復(fù)等優(yōu)點?;贔PGA的嵌入式系統(tǒng)設(shè)計技術(shù)和市場逐漸成熟,使得嵌入式CPU軟核(如Xilinx公司推出的MicroBlaze、Altera公司的Nios、歐空局開發(fā)的Leon3軟核等)的大量應(yīng)用成為可能。
Virtex系列FPGA是Xilinx公司推出的一種高密度、大容量的現(xiàn)場可編程門陣列。該系列FPGA可支持動態(tài)重構(gòu),當(dāng)FPGA邏輯功能需要轉(zhuǎn)換,如算法改進或是發(fā)現(xiàn)設(shè)計上的錯誤,或FPGA配置數(shù)據(jù)發(fā)生錯誤而導(dǎo)致功能失效(如在空間輻射環(huán)境下的單粒子翻轉(zhuǎn)效應(yīng)導(dǎo)致配置數(shù)據(jù)錯誤等),則需要對FPGA進行重新配置。通常采用的配置系統(tǒng)由CPU、CPLD、FPGA和存儲器構(gòu)成。本文結(jié)合具體應(yīng)用需求,介紹了利用嵌入式CPU Leon3軟核處理器對Virtex系列FPGA的配置進行控制的方法。此系統(tǒng)能夠?qū)崿F(xiàn)FPGA配置數(shù)據(jù)的重構(gòu),并且減少了外圍CPU和CPLD器件的使用,具有很好的應(yīng)用價值。
1 Leon3軟核
Leon3是歐空局開發(fā)的32位CPU軟核,其標(biāo)準(zhǔn)版是一種開源的軟核,使用GNU LGPL授權(quán)協(xié)議,可以免費地應(yīng)用于研究、教學(xué)和商業(yè)目的。Leon3軟核使用VHDL語言描述,與SPARC V8兼容,使用7級流水線,集成了全流水的IEEE-754浮點處理器,提高了對多處理器的支持。由于Leon系列指令集符合SPARC V8標(biāo)準(zhǔn),外部總線符合AMBA標(biāo)準(zhǔn),兼容軟件和IP核資源極其豐富,加上其開放源代碼的策略,對它的研究和應(yīng)用受到了廣泛的關(guān)注。Leon3軟核具有良好的可配置性和可移植性,能夠根據(jù)需要靈活地選擇外圍控制器。并且該軟核不是FPGA廠商推出的,因此可以應(yīng)用于不同類型的FPGA芯片。Leon3開源軟核的Grlib IP庫中提供了多種功能模塊,如串口控制器、存儲器控制器、通用可編程I/O等,把該軟核及其外圍的控制模塊集成到FPGA中,構(gòu)成一個嵌入式片上系統(tǒng)。
2 SelectMap接口配置系統(tǒng)設(shè)計
2.1 Virtex系列FPGA配置方式
Virtex系列FPGA基于SRAM工藝,共有4種配置方式:主串(master serial)、從串(slave setial)、SelectMap和邊界掃描(boundarysca-n)。串行(主串或從串)模式需要的配置信號少(PROGRAM、CCLK、DIN、INIT、DONE),F(xiàn)PGA在配置時鐘的上升沿接收1位配置數(shù)據(jù),該配置方式速度較慢。邊界掃描模式?jīng)]有存儲芯片,掉電后需重新配置,所以該種配置方式多用于調(diào)試階段。SelectMap模式是一種8位并行配置模式,它是Virtex系列FPGA最快的一種配置模式,其配置時鐘最高可達66MHz,每個配置時鐘周期內(nèi)有8位配置數(shù)據(jù)下載到FPGA內(nèi)。在對配置速度要求較高的一些應(yīng)用場合,一般采用SelectMap配置方式。
SelectMap配置方式所需引腳及相應(yīng)功能如表1所列。表中BUSY信號是握手信號,只有當(dāng)配置時鐘的頻率超過50MHz時才起作用,本設(shè)計的配置時鐘頻率低于50MHz,因此不使用BUSY信號。M(2:0)是模式選擇信號,在SelectMap配置模式下,M(2:0)應(yīng)置為110。
評論