第5講 SOPC Builder使用簡介_第1頁
第5講 SOPC Builder使用簡介_第2頁
第5講 SOPC Builder使用簡介_第3頁
第5講 SOPC Builder使用簡介_第4頁
第5講 SOPC Builder使用簡介_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具第第5講講 SOPC Builder開發工具開發工具 5.1 簡介簡介 5.2 SOPC Builder 設計流程設計流程5.3 SOPC Builder 用戶界面用戶界面 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具5.1 SOPC簡介簡介 5.1.1 可編程片上系統可編程片上系統(S OPC)技術簡介技術簡介SOPC(System On a Programmable Chip)是指用可編程邏輯技術把整個系統放到一塊硅片上。SOPC是一種特殊的嵌入式系統。一方面,它是片上系統(

2、SOC),即由單個芯片完成整個系統的主要邏輯功能;另一方面,它是可編程系統,具有靈活的設計方式,可裁減、擴充、升級,并具備軟硬件在系統可編程的功能。這項技術將EDA、計算機設計、嵌入式系統、DSP及數字通信系統等技術融為一體。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具SOPC結合了SOC和PLD、FPGA各自的優點,一般具備以下基本特征: 至少包含一個嵌入式處理器內核; 具有小容量片內高速RAM資源; 豐富的IP Core資源可供選擇; 足夠的片上可編程邏輯資源; 處理器調試接口和FPGA編程接口; 可包含部分可編程模擬電路; 單芯片、低功耗、微封裝。

3、第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具隨著EDA技術的發展和大規模可編程器件性能的不斷提高,SOPC技術已被廣泛應用于許多領域。(1) SOPC在極大提高了許多電子系統性能價格比的同時,還開辟了許多新的應用領域,如高端的數字信號處理、通信系統、軟件無線電系統的設計、微處理器及大型計算機處理器的設計等等;(2) 由于SOPC具有基于EDA技術標準的設計語言與系統測試手段、規范的設計流程與多層次的仿真功能以及高效率的軟硬件開發與實現技術,使得SOPC及其實現技術無可爭議地成為現代電子技術最具時代特征的典型代表。第第5 5講講 SOPC BuilderSOP

4、C Builder開發開發工具工具與基于ASIC的SOC相比,SOPC具有更多的特點與吸引力:Application Specific Integrated Circuit專用集成電路System on Chip片上系統 開發軟件成本低 硬件實現風險低 產品上市效率高 產品設計成本低 系統結構可重構及硬件可升級 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具5.1.2 SOPC Builder 簡介簡介SOPC Builder 是Altera公司推出的一種可加快在PLD內實現嵌入式處理器相關設計的工具。它是一個革命性的系統級開發工具,旨在提高設計者的效率。設計

5、者可確定所需要的處理器模塊和參數,并據此創建一個處理器的完整存儲器映射。設計者還可以選擇所需的IP外圍電路,如存儲器控制器、I/O控制器和定時器等模塊。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具SOPC Builder可以快速地開發定制新方案,重建已經存在的方案,并為其添加新的功能,提高系統的性能。通過自動集成系統組件,SOPC Builder允許用戶將工作的重點集中到系統級的需求上,而不是從事把一系列的組件裝配在一起這種普通的、手工的工作。所有版本的Altera Quartus的設計軟件都已經包含了SOPC Builder。設計者采用SOPC Buil

6、der,能夠在一個工具內定義一個從硬件到軟件的完整系統,而花費的時間僅僅是傳統SOC設計的幾分之一。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具SOPC Builder提供了一個強大的平臺,用于組建一個在模塊級和組件級定義的系統。SOPC Builder的組件庫包含了從簡單的固定邏輯的功能塊到復雜的、參數化的、可以動態生成的子系統等一系列的組件。這些組件可以是從Altera或其他合作伙伴處購買來的IP核,其中一些IP核是可以免費下載用來做評估的;用戶還可簡單地創建他們自己定制的SOPC Builder組件。SOPC Builder內建的IP核庫是OpenC

7、ore Plus版的業界領先的Nios/Nios嵌入式軟核處理器。所有的Quartus用戶都能夠把一個基于Nios/Nios處理器的系統經過生成、仿真和編譯進而下載到Altera FPGA中,進行實時評估和驗證。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具 SOPC Builder庫中已有的組件包括: (1) 處理器:包括片內處理器和片外處理器的接口。(2) IP及外設:包括通用的微控制器外設,通信外設,多種接口(存儲器接口、橋接口、ASSP、ASIC),數字信號處理(DSP)IP和硬件加速外設。5.1.3 SOPC Builder 的功能特點的功能特點1

8、. 具有直觀的圖形用戶界面(GUI)利用圖形用戶界面,用戶可以快速方便地定義和連接復雜的系統。如圖5.1所示,用戶可從左邊的庫中添加所需的部件,然后在右邊的表中配置它們。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具圖5.1 SOPC Builder的圖形用戶界面 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具2. 自動生成和集成軟件與硬件SOPC Builder會生成每個硬件部件以及連接部件的片內總線結構,仲裁和中斷邏輯。它也會產生系統可仿真的RTL描述以及為特定硬件配置設計的測試平臺,能夠把硬件系統綜合到單個網表中。 另

9、外,SOPC Builder還能夠生成C和匯編頭文件,這些頭文件定義了存儲器映射、中斷優先級和每個外設寄存器空間的數據結構。這樣的自動生成過程可以幫助軟件設計者處理硬件潛在的變化性。如果硬件改變了,SOPC Builder會自動更新這些頭文件。SOPC Builder也會為系統中現有的每個外設生成定制的C和匯編函數庫。例如,如果系統包括一個UART,SOPC Builder就會訪問UART的寄存器并定義一個C結構,生成通過UART發送和接收數據的C和匯編例程。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具3. 開放性SOPC Builder開放了硬件和軟件接

10、口,允許第三方像Altera一樣有效地管理SOPC部件,用戶可以根據需要將自己設計的部件添加到SOPC Builder 的列表中。5.1.4 SOPC Builder的優點的優點SOPC Builder系統設計在利用可編程器件(PLD)的邏輯資源、存儲器、DSP塊、專用I/O上具備以下優勢:第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具 在邏輯容量、存儲器和DSP塊以及專用I/O標準上具有靈活性; 上市周期快; 沒有非重復性工程(NRE)費用; 不需要制作昂貴的設計工具; 風險低,用戶可以以實際的運行頻率在硅片上驗證他們的設計。 第第5 5講講 SOPC Bu

11、ilderSOPC Builder開發開發工具工具5.2 SOPC Builder 設計流程設計流程 如圖5.2所示,SOPC Builder 的設計流程包括兩個階段:配置(框圖左邊所示)和生成(框圖右邊所示)。它是利用Class PTF和System PTF這兩個文件來配置和生成系統流程的。第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具SOPC Builder GUI引導用戶完成兩部分的配置:部件配置和系統配置。部件配置需要匯總參數,Class PTF文件標準包括了為這一要求定義GUI的格式。當需要時,SOPC Builder讀取該格式,產生相應的部件向導(

12、Component Wizard),收集所需的用戶數據。然后SOPC Builder把收集的參數值存放在System PTF文件中。系統配置是指把用戶提供的有關處理器的配置、外設連接等數據寫入System PTF中。當這兩部分配置都完成后,SOPC Builder進入到生成階段,生成設計的輸出文件。SOPC Builder查閱每個Class PTF文件,允許相關的部件生成程序,它們會正確地輸出特定系統配置的硬件和/或軟件文件。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具簡單的部件生成程序可能每次都會輸出相同的文件,更多的可配置部件則會根據用戶輸入生成完全不

13、同的結構。例如,Nios處理器中包括的UART可以配置為軟件控制波特率,以更多門換取更大的靈活性。這種配置選項由用戶在部件配置階段進行設置,根據這個設計,UART生成程序產生所需UART的硬件描述。在生成階段的最后一步,SOPC Builder創建適合于系統部件的總線結構,把所有的部件連接在一起。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具用戶定義文件仿真文件Soft-wareFilesHDLFilesSystemPTFFileClassPTFFilesComponentWizardsSOPCBuilderGUIComponentGenerationSys

14、temGenerationSOPC配置SOPC生成輸出文件圖5.2 系統生成流程 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具5.3 SOPC Builder 用戶界面用戶界面 5.3.1 系統元件頁系統元件頁 用戶在系統元件頁中定義所需的系統(如圖5.3所示)。在它的模塊池中包括了用戶可獲得的所有元件列表。在模塊表中列出的是用戶已經添加到系統中的模塊。當用戶用SOPC Builder 生成系統時,它就生成了一個系統模塊,這個模塊包含了用戶所定義的所有元件和接口以及自動生成的總線(互聯)邏輯。 第第5 5講講 SOPC BuilderSOPC Builder

15、開發開發工具工具1模塊池在模塊池中列出了根據總線類型和邏輯類別來分類的所有可用的庫元件。每個元件名前面都有一個帶顏色的圓點,不同的顏色代表不同的含義。(1) 綠圓點:用戶可以添加到用戶系統中的元件是完全許可的。(2) 黃圓點:元件在系統設計中的應用受到某種形式的限制,主要限制有使用時間有所限制和功能有所減少。 (3) 白圓點:元件目前還沒有安裝到用戶的系統上,用戶可以從網上下載這些元件。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具 目 標 器 件 模 塊 表系 統 時 鐘模 塊 池模 塊 池選 擇 器消 息 欄圖5.3 系統元件頁 第第5 5講講 SOPC

16、 BuilderSOPC Builder開發開發工具工具用戶可以使用模塊池選擇器來列出可用的元件,安裝元件,從網上獲取元件以及通過網絡升級元件。如果用戶有Internet鏈接,就可以查看來自Altera和AMPPsm最新的可用元件。要查看新元件,可點擊Check按鈕,最新的可獲得的元件就會顯示在升級頁中;接著點擊元件名和Add 就可以將元件下載到本地。用右鍵點擊元件就可以看到一個菜單,它包括了元件的詳細信息,并且可以鏈接到相關的文件并升級元件。如果右鍵點擊的已安裝的元件是可以獲得升級的,在彈出的菜單中就包含一個子菜單(以元件的版本號作標題),點擊這個菜單就可以對元件進行升級。 第第5 5講講

17、SOPC BuilderSOPC Builder開發開發工具工具2模塊表模塊表中列出的是用戶添加到用戶所設計的系統中的模塊,包括橋、總線接口、CPU、存儲器接口、外圍設備等。此外,用戶可以用模塊表來描述以下一些項目: 連接的主、從性; 系統地址映射; 系統中斷請求分配;控制共享從元件的優先權。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具3添加元件到模塊表在模塊池中點擊要添加的元件名,然后點擊Add,會出現以下兩種情況中的一種: (1) 對于可用的、已安裝上的并有設置向導的元件,會出現一個對話框,讓用戶設定各種選項,設定完選項后再點擊Finish, 就可將元

18、件添加到模塊表中。如果元件沒有選項對話框,它會被自動加到模塊表中。(2) 對于可用的但沒有安裝的元件,也會出現一個對話框,通過該對話框可鏈接到網上下載元件或從廠商處獲取元件。安裝元件后,用戶就可以將它添加到用戶所設計的系統中了。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具如果點擊View菜單并選中 Show Master Connections選項,則在模塊表的左邊就會出現主、從元件的互聯示意圖。任何一個元件都可以有一個或多個主或從的接口。如果主元件和從元件使用同一個總線協議,則任何一個主元件都可以和任何一個從元件相連。如果使用的是不同的總線協議,則用戶可

19、以通過使用一個橋元件來把主、從元件連接起來,比如可使用AMBA-AHB-to-Avalon橋。當兩個或多個主元件共享同一個從元件時,SOPC Builder 會自動插入一個判優器來控制對從元件的訪問。當對一個從元件有多個請求同時發生時,判優器可以決定由哪個主元件來訪問這個從元件。要查看仲裁優先權,可在View菜單里選中Show Arbitration Priorities選項。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具4附加設置系統元件頁還包括以下一些附加選項:(1) 器件系列(Device Family):由用戶從器件列表中選擇用戶的目標器件。這項設置

20、非常重要,因為SOPC Builder 是利用所選器件系列的結構優勢來產生系統的邏輯的。注意:Quartus軟件不使用這個器件設置,用戶還必須在Quartus軟件中確定器件。(2) 系統時鐘頻率(System Clock Frequency):外圍設備利用系統時鐘來產生時鐘分頻或波特率等。SOPC Builder的built-in testbench 發生器還利用這項設置來產生用戶所要求的頻率。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具5.3.2 系統設置頁系統設置頁當用戶向所設計的系統中添加元件時,比如一個Nios 嵌入式處理器,在SOPC Build

21、er 中就會出現一個系統設置(More “CPU” Setting)的附加頁。這個附加頁可以讓用戶用來設置一些附加的參數或者與系統中其他元件的相連關系。比如,用戶可以定義CPU和存儲器元件之間的相連關系來指明哪一個是用來作程序存儲器的,哪一個是用來作數據存儲器的。對于用到系統設置頁的元件,SOPC Builder會對用戶添加到用戶系統中的這個元件的每種情況都生成一個單獨的系統設置頁。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具另外,處理器元件可能會有相關的軟件組件,并且會在這一頁中顯示出來。從實用程序庫(Utility Libraries)到實時操作系統都

22、有軟件組件的例子。Altera在開發工具包中提供了多種軟件組件,比如由Nios 開發工具包提供的Plugs 庫(輕量級TCP/IP庫)。5.3.3 系統生成頁系統生成頁系統生成頁是用來生成用戶系統的。它包含一些選項,用戶可以通過設置來控制生成過程,比如器件支持和仿真控制。在系統生成過程中,這一頁會報告系統生成過程中的各種消息。圖5.3所示即為系統生成頁。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具SDK使能HDL使能使能ModelSim生成仿真文件運行ModelSim 軟件系統生成過程消息欄SOPC Builder消息欄圖5.3 系統生成頁 第第5 5講講

23、 SOPC BuilderSOPC Builder開發開發工具工具1SDK(Software Development Kid,軟件開發工具包)用戶選擇了SDK選項,SOPC Builder 會在用戶每一次生成系統的時候給用戶系統中的每個CPU都生成一個專用的SDK。其中包含了對每個系統元件的各種軟件文件(驅動、庫和實用程序),這些文件在它們的庫定義中給系統元件提供了軟件支持。像Nios 嵌入式處理器和Excalibur器件這類處理器元件,可以在生成過程中生成一些應用軟件。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具軟件文件被分配在下面的一些目錄里:(1)

24、inc。該目錄中包含的文件有.h和.s文件,這些文件包含了外圍器件的地址、寄存器聲明、中斷號和一些作嵌入式應用軟件開發的宏定義。excalibur.h和excalibur.s文件就包含了define申明,這些申明描述了內存映射和中斷優先權。該目錄還包括了針對軟件程序和訪問外圍寄存器的C程序的一些基本函數。因為Nios處理器的機構和地址映射是可以配置的,所以軟件開發時只能使用在inc目錄下的文件中定義的符號來作為硬件參考。例5.1為excalibur.h的部分摘錄。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具例5.1 excalibur.h的部分摘錄 / T

25、he Memory Map #define na_boot_monitor_rom (void *) 0 x00000000) / altera_avalon_onchip_memory #define na_boot_monitor_rom_base 0 x00000000 #define na_boot_monitor_rom_end (void *) 0 x00000400) #define na_boot_monitor_rom_size 0 x00000400 #define na_uart1 (np_uart *) 0 x00000400) 第第5 5講講 SOPC Builder

26、SOPC Builder開發開發工具工具 / altera_avalon_uart #define na_uart1_base 0 x00000400 #define na_uart1_irq 26 #define na_timer1 (np_timer *) 0 x00000440) / altera_avalon_timer #define na_timer1_base 0 x00000440 #define na_timer1_irq 25 / - / Timer Peripheral / Timer Registers typedef volatile struct第第5 5講講 SO

27、PC BuilderSOPC Builder開發開發工具工具 int np_timerstatus; / read only, 2 bits (any write to clear TO) int np_timercontrol; / write/readable, 4 bits int np_timerperiodl; / write/readable, 16 bits int np_timerperiodh; / write/readable, 16 bits int np_timersnapl; / read only, 16 bits int np_timersnaph; / read

28、 only, 16 bits np_timer; / Timer Register Bits enum 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具np_timerstatus_run_bit = 1, / timer is runningnp_timerstatus_to_bit = 0, / timer has timed outnp_timercontrol_stop_bit = 3, / stop the timernp_timercontrol_start_bit = 2, / start the timernp_timercontrol_cont

29、_bit = 1, / continuous modenp_timercontrol_ito_bit = 0, / enable time out interruptnp_timerstatus_run_mask = (11), / timer is running第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具np_timerstatus_to_mask = (10), / timer has timed outnp_timercontrol_stop_mask = (13), / stop the timernp_timercontrol_start_mas

30、k = (12), / start the timernp_timercontrol_cont_mask = (11), / continuous modenp_timercontrol_ito_mask = (10) / enable time out interrupt;/ Timer Routinesint nr_timer_milliseconds(void);/ Starts on first call, hogs timer1 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具其中,前綴na_和np_分別代表Nios 地址和Nios外圍設備。外圍設備的

31、基地址是由SOPC Builder 給分配的。用戶必須將這些基地址指定為 na_。類似地,可以以C語言中的結構類型來指定寄存器為np_。使用這些名稱而不直接使用絕對地址,這樣如果內存地址映射有所變化,用戶也不用更改程序代碼。(2) lib。該目錄包含了一些庫文件。如果元件支持GNU工具,SOPC Builder就會在系統生成過程中編譯庫文件。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具 (3) src。該目錄包含了源代碼。用戶可以用任何一種文本編輯器來更改源代碼和為系統編寫軟件。用戶可以使用Quartus的文本編輯器,它支持語法高亮顯示C/C+。Alter

32、a 推薦用戶保存用戶的源代碼到下面的任意一個路徑中: src目錄; src目錄下的一個子目錄;在SDK中和src目錄為同一級的目錄。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具注意:SDK只在Nios處理器系統中產生,若使用Nios處理器,則在生成選項中沒有這一項。2HDL當用戶選擇了HDL選項時,SOPC Builder就會以Verilog HDL或VHDL語言的形式生成系統級的硬件描述語言(HDL)文件。使用Verilog HDL 還是VHDL,由用戶在SOPC Builder 里建立系統時指定。HDL文件包括:(1) 系統中每一個元件的實例。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具(2) 元件之間相互連接的總線邏輯,包括以下幾項: 地址譯碼器; 數據總線多路復用器; 對共享資源的仲裁器; 復位生成和條件邏輯; 中斷優先權邏輯; 動態總線寬度(使主設備適應從設備的或寬或窄的總線);在主、從設備接口之間的被動連接。 第第5 5講講 SOPC BuilderSOPC Builder開發開發工具工具(3) 仿真測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論