(原創)LEON3入門教程(一):什么是LEON3?需要哪些開發工具和軟件?


寫在最前面的話

2010年年底我開始接觸LEON3,花了3個月時間把LEON3源代碼大致閱讀完,然后參照Gaisler Research 網站上提供的leon3-altera-ep3c25源代碼,修改並移植到DE2-70平台上,並作了一些AHB和APB外設的IP核設計,歷時近一年,最終完成了我的本科畢業設計。之后因為覺得自己的水平仍不夠“FPGA工程師”,覺得LEON3過於復雜,資料太少,學習起來過於疲憊,從而轉戰NIOS II SOPC和基礎數字系統設計,停止對LEON3的進一步學習和研究。這段時間總是會有網友問我一些LEON3的問題,都是基本的問題,比如硬件怎么配置,eclipse怎么使用,IP怎么寫。由於自己的確不在做LEON3的研究和開發,連開發環境都沒有了,就把以前做的和寫的一些材料整理一下,分作四篇博客分享給大家,希望能讓初學者少走彎路,快速入門。最后,我自己能力有限,文字水平也有限,如果有什么問題我能幫上大家的我一定不吝嗇自己的文字,也希望大家能把LEON3做出點東西。

 

============================================================

摘要:

本系列博客主要簡述了如何將簡單的LEON3 SOPC系統的配置,並移植到的友晶 DE2-70開發板上,並根據AMBA 總線協議設計一個的用戶自定義APB IP,並嵌入到這個SOPC系統中。共分為四個部分,第一部分對LEON3一些基本知識進行介紹,以及開發需要使用到的軟件和源代碼;第二部分介紹Cygwin和GRtools軟件的安裝和配置說明;第三部分介紹LEON3 SOPC系統構建,並使用Eclipse (LEON3 IDE) LEON3 開發應用程序;最后一部分簡單介紹了簡單APB IP核(七段數碼管的IP)的設計。

四篇博客依次為:

(原創)LEON3入門教程(一):什么是LEON3?需要哪些開發工具和軟件?

(原創)LEON3入門教程(二):Cygwin和GRtools的安裝與配置

(原創)LEON3入門教程(三):基於LEON3的SOPC設計:HELLOWORLD和流水燈

(原創)LEON3入門教程(四):基於AMBA APB總線的七段數碼管IP核設計

 

一、總體描述

1 LEON3處理器簡介

LEON處理器系列是歐洲航空局的下屬的研究所開發的32位的微處理器,應用在航天局的各種ASIC芯片內。目前有LEON2、LEON3系列。LEON系列處理器是一個可配置可綜合適用於SoC設計中的微處理器核。LEON3處理器是一個使用SPARC V8(IEEE-1754)指令集的32位RISC處理器,它的源代碼由可綜合的VHDL代碼構成。同時LEON系列處理器的性能也比較理想,可以達到大約0.85MIPS/MHz。更大的好處是LEON處理器是一個公開源代碼,遵循GNU LGPL協議。任何人都可以在其網站上免費下載其硬件代碼和各種開發軟件工具與文檔。並在自己的ASIC項目中使用。LEON3的結構框圖如圖1所示。

圖1  LEON3的結構框圖

 

2 LEON3處理器的技術特點

LEON3處理器的技術特點主要有:采用SPARC V8結構、采用內部AMBA總線結構、容錯設計和VHDL編程風格。

1. SPARC V8

可擴展處理器體系架構(SPARC),是一個從RISC派生出的CPU指令集結構(ISA)。指令集結構是指:定義了指令、寄存器、指令和數據存儲器、指令執行對寄存器和存儲器的影響、控制指令執行的算法等內容,但不定義時鍾周期、每條指令的執行時鍾周期數(CPI)、數據通路等內容。作為一個結構,SPARC允許在具有不同性能價格比的廣泛應用中,實現不同系列的芯片和系統,包括科學、工程、實時和商業應用等。SPARC的設計目標是優化編譯器和易於硬件流水線實現。

SPARC處理器由整數單元(IU)、浮點和協處理器單元(FPU和CP)構成。它們各自都有自己的寄存器,其中IU有8個全局寄存器、2-32個寄存器窗口(由用戶設定),浮點和協處理器單元的選擇依賴於具體應用。

2. 容錯問題

為了適用於航空航天的高可靠性應用,LEON3處理器采用多層次的容錯策略:奇偶校驗、TMR(三模冗余)寄存器、片上EDAC(檢錯和糾錯)、流水線重啟、強迫Cache不命中等。盡管現在幾乎所有CPU都有一些常規的容錯措施,如奇偶校驗、流水線重啟等,像 IBM5/390GS 還采用了寫階段以前的全部流水線復制技術, Intelftanium采用的混合ECC和校驗編碼等技術;但遠沒有LEON3處理器那樣,采用如此全面的容錯措施。LEON3處理器將時序(存儲)單元的狀態翻轉作為數字容錯的主要內容,根據時序邏輯的不同特點和性質,采用了不同的容錯技術和手段。

3. 編碼風格

LEON3的VHDL編碼風格,同傳統以並發執行的並發進程(或並發語句)作為模塊的所謂“數據流”編碼風格不一樣,采用的是“二進程”的設計方法。這種編碼風格克服了“數據流”編碼方式的可讀性差、抽象級低、仿真時間長等缺點。“二進程”編碼風格的具體措施是:①所有的端口和信號聲明采用記錄的形式進行說明,如按輸入輸出分類進行記錄說明;②每個實體只有兩個進程,一個組合進程和一個時序進程;③在組合進程中全部采用變量(而不是信號),以使用結構化的順序編碼方式;④在時序進程中通過時鍾同步,進行狀態的轉換。它基本與狀態機模型一樣,只是組合進程部分采用變量形式進行結構化順序編碼,來完成下一個時鍾周期的輸出和下一個狀態進行計算。時序進程部分是在時鍾的作用下,完成狀態轉換和輸出驅動。

 

3 本系列所搭建的SOPC

硬件部分使用到了Gaisler提供的GRLIB,來配置在AlteraDE2-70開發板上的SOPC系統。該系統包含LEON3 SPARC V8處理器,AMBA和AHB、APB總線、調試用的Jtag和調試單元DSU、測試的Uart模塊,以及Timier和中斷。

系統的結構圖如圖2結構所示。

圖 2 基於LEON3處理器的SOPC系統的結構框圖

 

4 軟件代碼編寫和測試。

軟件部分是由Gaisler提供的GRTools來完成。GRTools包含了基於Eclipse的LEON集成開發環境(簡稱 LEON IDE)。在LEON IDE中編寫需要的測試代碼並進行編程、下載測試。

 

二、相關文件准備

這里介紹所需要下載的安裝包以及軟件源代碼:

2.1 Cygwin

簡    :Cygwin是一個在windows平台上運行的unix模擬環境,本文所涉及的大部分操作都需要在Cygwin下實現。

下載地址http://cygwin.com/install.html

版本說明:1.7.7-1

大    : 549K

備    :教育網可能不能正常使用所下載的setup.exe進行網絡安裝,這時候可以下載離線包Cygwin.iso進行安裝,這里給出幾個教育網可以下載的連接。

1、東北大學Ftp下載

ftp://ftp.neu.edu.cn/software/Linux_Unix/Distribution/CygWin/cygwin-release-20071020.iso

大    小:1.55G

2、coolersky下載

ftp://soft.coolersky.com:19527/iso/cygwin2.510.2.2.iso

大    小:668M。

2.2 GRLIB

簡    介:GRLIB IP庫為SOC開發設計的一套集成的IP 庫。IP核面向片上總線,不用修改任何全局資源用即插即用方法即可配置和連接IP核。IP庫對各種廠商是獨立的,支持不同的CAD工具和目標技術。

下載地址:http://www.gaisler.com/products/grlib/grlib-gpl-1.1.0-b4104.zip

版本說明:gaisler官網www.gaisler.com會定時更新GRLIB,最新版的是2010年11月9日發布的grlib-gpl-1.1.0-b4104版本。

大    小:21.2M

備    :教育網不能直接訪問gaisler官網,因此下載本軟件需要使用外網,如網通或者電信網絡;或使用代理訪問並下載(如使用搜狗瀏覽器下載)。

2.3 GRTools

簡    :GRTools包含了LEON3軟件開發所需要的所有基本的交叉編譯器和仿真器。

下載地址:ftp://gaisler.com/gaisler.com/grtools/GRTools-20101104.exe

版本說明:gaisler官網www.gaisler.com會定期更新GRTools,此文使用的是2010年11月4日發布的GRTools-20101104.exe版本。

大    :270 M

備    注:教育網不能直接訪問gaisler官網的ftp,因此下載本軟件需要使用外網,如網通或者電信網絡。

 

2.4 Quartus II

簡    介:Quartus II 是Altera公司的綜合性PLD開發軟件,支持原理圖、VHDL、Verilog HDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程。

下載地址:Altera公司提供的開發光盤

版本說明:Quartus II 9.0

大    小:5.2G

備    注:Altera公司提供的開發光盤,包含Quartus II和其他集成開發包,如NIOS II IDE、ModelSim等,可以選擇安裝,也可以全部安裝。在本次LEON3開發過程中只需要使用Quartus II。

2.5目錄和文件

簡    介:本實驗在E盤下建立一個名為LEON3的文件夾,本文將下載好的GRLIB壓縮包grlib-gpl-1.1.0-b4104.zip拷貝至E:\LEON3文件夾下。再在E:\LEON3下建立一個名為LEON3IDE的文件夾作為軟件工程的Workspace目錄。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM