《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > Leon3開源CPU軟核的FPGA SelectMap接口配置
Leon3開源CPU軟核的FPGA SelectMap接口配置
摘要: 與通常采用外圍的CPLD器件和CPU來產生配置接口控制邏輯的方法不同,本文設計了采用嵌入到FPGA的Leon3開源CPU軟核來控制實 現Virtex系列FPGA的SelectMap接口配置的方法,可將其應用于對FPGA芯片的在線配置。該方法設計成本低,不局限于某一類型的FPGA 芯片,減少了外圍分立元件的使用,增強了設計的靈活性。仿真結果表明該設計滿足SelectMap接口配置所需控制邏輯要求,可以完成FPGA的并行配 置。
關鍵詞: FPGA Leon3 SelectMap CPU
Abstract:
Key words :

摘要:與通常采用外圍的CPLD器件和CPU來產生配置接口控制邏輯的方法不同,本文設計了采用嵌入到FPGALeon3開源CPU軟核來控制實 現Virtex系列FPGA的SelectMap接口配置的方法,可將其應用于對FPGA芯片的在線配置。該方法設計成本低,不局限于某一類型的FPGA 芯片,減少了外圍分立元件的使用,增強了設計的靈活性。仿真結果表明該設計滿足SelectMap接口配置所需控制邏輯要求,可以完成FPGA的并行配 置。

關鍵詞:FPGA;嵌入式CPU;Leon3軟核;SelectMap接口

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

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

2 SelectMap接口配置系統設計
2.1 Virtex系列FPGA配置方式

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

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

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


結語
    通過使用嵌入式Lcon3 CPU軟核和FPGA及開發板上的存儲器件,實現了對Xilinx公司的FPGA進行SelectMap配置的一種有效的方案。這種方法減少了外圍器件的 數目,增加了硬件系統地靈活性。此外,該方法除了可以完成FPGA芯片的配置外,更重要的是可以靈活地在線升級系統、修改和調試FPGA程序。如果存儲空 間夠大,可以存儲不同功能的FPGA程序代碼,這樣就可根據實際情況來加載不同代碼,甚至通過通信接口也可以方便地實現遠程下載代碼和更新系統,使整個系 統可在線配置,增強了系統的適用性和靈活性。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久精品综合一区二区三区| 人人添人人澡人人澡人人人人| 久久国产精品免费视频| 欧美精品九九99久久在免费线| 免费无码不卡视频在线观看| 国产美女在线一区二区三区| 国产综合视频在线观看一区| baoyu116.永久免费视频| 成人免费激情视频| 久久久不卡国产精品一区二区| 日韩欧美中文字幕一区二区三区| 人体内射精一区二区三区| 精品无人区麻豆乱码1区2区| 国产一卡2卡3卡四卡高清| 欧美jizz18欧美| 国产精品亚洲精品日韩已满| 87福利电影网| 国内揄拍国内精品视频| 久久99亚洲网美利坚合众国| 日韩亚洲欧美一区二区三区| 亚洲色图欧美在线| 精品久久久久久久99热| 四虎4hu永久在线观看| 色欲久久久天天天综合网精品| 国产免费午夜a无码v视频| 91频在线观看免费大全| 扒开粉嫩的小缝开始亲吻男女| 久久精品国产一区二区三区肥胖| 未满小14洗澡无码视频网站| 亚洲中文字幕久在线| 欧美多人性受xxxx喷水| 亚洲日本一区二区三区在线不卡 | 国产麻豆精品入口在线观看| archiveofown路段涨奶| 女人张开腿让男人桶免费网站| 一级一片一a一片| 客厅餐桌椅子上波多野结衣| 一级一毛片a级毛片| 婷婷开心深爱五月天播播| 一二三四社区在线视频社区| 婷婷综合激情网|