當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]Leon3軟核的FPGA SelectMap接口配置設(shè)計(jì)

摘要:與通常采用外圍的CPLD器件和CPU來(lái)產(chǎn)生配置接口控制邏輯的方法不同,本文設(shè)計(jì)了采用嵌入到FPGA的Leon3開(kāi)源CPU軟核來(lái)控制實(shí)現(xiàn)Virtex系列FPGA的SelectMap接口配置的方法,可將其應(yīng)用于對(duì)FPGA芯片的在線配置。該方法設(shè)計(jì)成本低,不局限于某一類(lèi)型的FPGA芯片,減少了外圍分立元件的使用,增強(qiáng)了設(shè)計(jì)的靈活性。仿真結(jié)果表明該設(shè)計(jì)滿(mǎn)足SelectMap接口配置所需控制邏輯要求,可以完成FPGA的并行配置。
關(guān)鍵詞:FPGA;嵌入式CPU;Leon3軟核;SelectMap接口

引言
    嵌入式系統(tǒng)的硬件通常包括CPU、存儲(chǔ)器和各種外設(shè)器件,其中CPU是系統(tǒng)的核心,其重要性不言而喻。隨著FPGA和SOPC技術(shù)的發(fā)展,基于FPGA的嵌入式系統(tǒng)與傳統(tǒng)的嵌入式系統(tǒng)相比,具有設(shè)計(jì)周期短、設(shè)計(jì)風(fēng)險(xiǎn)和設(shè)計(jì)成本低、集成度高、靈活性大、維護(hù)和升級(jí)方便、硬件缺陷修復(fù)等優(yōu)點(diǎn)?;贔PGA的嵌入式系統(tǒng)設(shè)計(jì)技術(shù)和市場(chǎng)逐漸成熟,使得嵌入式CPU軟核(如Xilinx公司推出的MicroBlaze、Altera公司的Nios、歐空局開(kāi)發(fā)的Leon3軟核等)的大量應(yīng)用成為可能。
    Virtex系列FPGA是Xilinx公司推出的一種高密度、大容量的現(xiàn)場(chǎng)可編程門(mén)陣列。該系列FPGA可支持動(dòng)態(tài)重構(gòu),當(dāng)FPGA邏輯功能需要轉(zhuǎn)換,如算法改進(jìn)或是發(fā)現(xiàn)設(shè)計(jì)上的錯(cuò)誤,或FPGA配置數(shù)據(jù)發(fā)生錯(cuò)誤而導(dǎo)致功能失效(如在空間輻射環(huán)境下的單粒子翻轉(zhuǎn)效應(yīng)導(dǎo)致配置數(shù)據(jù)錯(cuò)誤等),則需要對(duì)FPGA進(jìn)行重新配置。通常采用的配置系統(tǒng)由CPU、CPLD、FPGA和存儲(chǔ)器構(gòu)成。本文結(jié)合具體應(yīng)用需求,介紹了利用嵌入式CPU Leon3軟核處理器對(duì)Virtex系列FPGA的配置進(jìn)行控制的方法。此系統(tǒng)能夠?qū)崿F(xiàn)FPGA配置數(shù)據(jù)的重構(gòu),并且減少了外圍CPU和CPLD器件的使用,具有很好的應(yīng)用價(jià)值。

1 Leon3軟核
    Leon3是歐空局開(kāi)發(fā)的32位CPU軟核,其標(biāo)準(zhǔn)版是一種開(kāi)源的軟核,使用GNU LGPL授權(quán)協(xié)議,可以免費(fèi)地應(yīng)用于研究、教學(xué)和商業(yè)目的。Leon3軟核使用VHDL語(yǔ)言描述,與SPARC V8兼容,使用7級(jí)流水線,集成了全流水的IEEE-754浮點(diǎn)處理器,提高了對(duì)多處理器的支持。由于Leon系列指令集符合SPARC V8標(biāo)準(zhǔn),外部總線符合AMBA標(biāo)準(zhǔn),兼容軟件和IP核資源極其豐富,加上其開(kāi)放源代碼的策略,對(duì)它的研究和應(yīng)用受到了廣泛的關(guān)注。Leon3軟核具有良好的可配置性和可移植性,能夠根據(jù)需要靈活地選擇外圍控制器。并且該軟核不是FPGA廠商推出的,因此可以應(yīng)用于不同類(lèi)型的FPGA芯片。Leon3開(kāi)源軟核的Grlib IP庫(kù)中提供了多種功能模塊,如串口控制器、存儲(chǔ)器控制器、通用可編程I/O等,把該軟核及其外圍的控制模塊集成到FPGA中,構(gòu)成一個(gè)嵌入式片上系統(tǒng)。

2 SelectMap接口配置系統(tǒng)設(shè)計(jì)
2.1 Virtex系列FPGA配置方式
    Virtex系列FPGA基于SRAM工藝,共有4種配置方式:主串(master serial)、從串(slave setial)、SelectMap和邊界掃描(boundarysca-n)。串行(主串或從串)模式需要的配置信號(hào)少(PROGRAM、CCLK、DIN、INIT、DONE),F(xiàn)PGA在配置時(shí)鐘的上升沿接收1位配置數(shù)據(jù),該配置方式速度較慢。邊界掃描模式?jīng)]有存儲(chǔ)芯片,掉電后需重新配置,所以該種配置方式多用于調(diào)試階段。SelectMap模式是一種8位并行配置模式,它是Virtex系列FPGA最快的一種配置模式,其配置時(shí)鐘最高可達(dá)66MHz,每個(gè)配置時(shí)鐘周期內(nèi)有8位配置數(shù)據(jù)下載到FPGA內(nèi)。在對(duì)配置速度要求較高的一些應(yīng)用場(chǎng)合,一般采用SelectMap配置方式。
    SelectMap配置方式所需引腳及相應(yīng)功能如表1所列。表中BUSY信號(hào)是握手信號(hào),只有當(dāng)配置時(shí)鐘的頻率超過(guò)50MHz時(shí)才起作用,本設(shè)計(jì)的配置時(shí)鐘頻率低于50MHz,因此不使用BUSY信號(hào)。M(2:0)是模式選擇信號(hào),在SelectMap配置模式下,M(2:0)應(yīng)置為110。

[!--empirenews.page--]
2.2 SelectMap接口配置硬件設(shè)計(jì)實(shí)現(xiàn)
    本文設(shè)計(jì)的SelectMap接口配置系統(tǒng)由兩片F(xiàn)PGA和存儲(chǔ)器(Flash)構(gòu)成,如圖1所示。設(shè)計(jì)中FPGA1選用了Xilinx公司Virtex系列芯片Vir-tex-5 XC5VSX95T,是需要進(jìn)行配置的芯片。FPGA2內(nèi)部嵌入了Leon3 CPU軟核,可利用該CPU軟核的存儲(chǔ)控制器模塊對(duì)Flash進(jìn)行讀寫(xiě)控制;利用FPGA內(nèi)部豐富的資源,在FPGA2內(nèi)部集成一個(gè)自定義的SelectMap接口控制IP核,主要用來(lái)產(chǎn)生FPGA的配置信號(hào),這些SelectMap配置信號(hào)的狀態(tài)由嵌入在FPGA2內(nèi)部的CPU Leon3軟核監(jiān)控。該設(shè)計(jì)采用開(kāi)源的Leon3軟核CPU,并且充分利用了FPGA豐富的資源,與通常的SelectMap配置系統(tǒng)相比,設(shè)計(jì)成本低,設(shè)計(jì)較靈活。


    Flash存儲(chǔ)器采用Intel公司的JS28F256P30T95,具有32 MB的存儲(chǔ)空間,用來(lái)存儲(chǔ)FPGA1的配置數(shù)據(jù)。因?yàn)镕lash的每個(gè)地址空間中存儲(chǔ)著16位數(shù)據(jù),Leon3 CPU處理器讀取Flash地址中的數(shù)據(jù),然后把數(shù)據(jù)以字節(jié)形式傳送到FPGA2。這個(gè)過(guò)程中,CPU處理器所在的FPGA2為FPGA1提供配置時(shí)序控制信號(hào)。這些控制信號(hào)的產(chǎn)生由FPGA2內(nèi)部集成的SelectMap接口控制IP核實(shí)現(xiàn)。該IP核的功能模塊由3個(gè)寄存器組成:配置寄存器、編程寄存器和輸入寄存器。每次CPU對(duì)Flash進(jìn)行讀或?qū)懖僮鲿r(shí),這些寄存器存儲(chǔ)FPGA1的配置信號(hào)數(shù)據(jù)。其中配置寄存器和編程寄存器為只寫(xiě)寄存器,輸入寄存器為只讀寄存器。詳細(xì)的邏輯框圖如圖2所示。CPU數(shù)據(jù)線在SelectMap接口控制IP核內(nèi)部寄存器的構(gòu)成如表2所列。

[!--empirenews.page--]
    該配置邏輯模塊完成以下幾方面的功能:?jiǎn)?dòng)FPGA1配置時(shí)序;向FPGA1內(nèi)部傳入配置數(shù)據(jù);監(jiān)測(cè)FPGA1是否正常配置。使用嵌入式CPU軟核配置FPGA1的流程如下:
    ①啟動(dòng)FPGA1的配置時(shí)序。CPU地址線選中FPGA2內(nèi)部編程寄存器,數(shù)據(jù)線輸出FPGA1配置控制信號(hào)CS、WRITE和PROGRAM,將CS和WRITE置低,PROGRAM置高。
    ②監(jiān)測(cè)FPGA的配置狀態(tài)。CPU地址線選中FPGA2內(nèi)部輸入寄存器,接收FPGA1的輸出信號(hào)INIT,若其值為高,那么CPU開(kāi)始發(fā)出FPGA1的配置數(shù)據(jù),否則持續(xù)檢查INIT的值,直到其值為1。
    ③向FPGA1內(nèi)傳送配置數(shù)據(jù)。CPU地址線選中FPGA2內(nèi)部配置寄存器,數(shù)據(jù)線Data[15:8]輸出FPGA1的配置數(shù)據(jù),Data[0]產(chǎn)生配置時(shí)鐘CCLK,在CCLK的上升沿FPGA1接收配置數(shù)據(jù)。配置數(shù)據(jù)傳送分兩步,首先Data[0]置0,然后Data[0]置1。CCLK產(chǎn)生一個(gè)上升沿,在此過(guò)程中Data[15:8]數(shù)據(jù)保持不變。重復(fù)此過(guò)程,CPU輸出FPGA1全部配置數(shù)據(jù)。
    ④檢查FPGA1是否配置成功。FPGA1的配置數(shù)據(jù)被傳送至結(jié)束時(shí),CPU地址線選中FPGA2內(nèi)部輸入寄存器,接收FPGA1的輸出信號(hào)DONE。若其值為高時(shí),說(shuō)明FPGA1配置成功,否則需要重新配置FPGA1。
    SelectMap接口配置方式下FPGA的時(shí)序如圖3所示。



3 仿真及分析
    FPGA2采用Xilinx公司的Virtex-5 XC5VFX70T,SelectMap接口控制IP核采用VHDL語(yǔ)言實(shí)現(xiàn),嵌入式CPU軟核采用的是歐空局開(kāi)發(fā)的Lcon3軟核。在XilinxISE 10.1平臺(tái)下完成對(duì)Lcon3 CPU軟核處理器、外圍控制器及自定義SelectMap接口控制IP核集成的設(shè)計(jì)、綜合,利用Modelsim SE6.0完成仿真。
    SelectMap配置仿真波形如圖4所示。由于FPGA1(Virtex-5 XC5VSX95T)的配置數(shù)據(jù)較大,仿真出完整的配置過(guò)程是不現(xiàn)實(shí)的,圖中用5個(gè)字節(jié)的配置數(shù)據(jù)來(lái)代替FPGA的完整配置過(guò)程。為了把配置寄存器數(shù)據(jù)Data和并行配置的8位數(shù)據(jù)相對(duì)照,分離出了Data的高8位Data[15:8]。從圖中可以看出,在一次完整的配置過(guò)程中,CS和WRITE為低,PROGRAM為高,當(dāng)監(jiān)測(cè)到INIT為高時(shí)發(fā)出配置數(shù)據(jù),在配置時(shí)鐘CCLK的上升沿接收8位配置數(shù)據(jù),DONE信號(hào)為高電平指示配置完成。該仿真結(jié)果和SelectMap配置方式的FPGA時(shí)序一致,證明了本設(shè)計(jì)的正確性及可行性。



結(jié)語(yǔ)
    通過(guò)使用嵌入式Lcon3 CPU軟核和FPGA及開(kāi)發(fā)板上的存儲(chǔ)器件,實(shí)現(xiàn)了對(duì)Xilinx公司的FPGA進(jìn)行SelectMap配置的一種有效的方案。這種方法減少了外圍器件的數(shù)目,增加了硬件系統(tǒng)地靈活性。此外,該方法除了可以完成FPGA芯片的配置外,更重要的是可以靈活地在線升級(jí)系統(tǒng)、修改和調(diào)試FPGA程序。如果存儲(chǔ)空間夠大,可以存儲(chǔ)不同功能的FPGA程序代碼,這樣就可根據(jù)實(shí)際情況來(lái)加載不同代碼,甚至通過(guò)通信接口也可以方便地實(shí)現(xiàn)遠(yuǎn)程下載代碼和更新系統(tǒng),使整個(gè)系統(tǒng)可在線配置,增強(qiáng)了系統(tǒng)的適用性和靈活性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉