歡迎您光臨本站 登入註冊首頁

nios II標準(Standard)系統的創建

admin @ 2014-03-26 , reply:0

概述

   在此之前,我曾經過介紹過如何建立最小(small)的nios系統(見文章nios無痛入門)。在這兒,我將要介紹如何建立一個常用的標準(Standard)Nios系統……

    在此之前,我曾經過介紹過如何建立最小(small)的nios系統(見文章nios無痛入門)。在這兒,我將要介紹如何建立一個常用的標準(Standard)Nios系統。如果本文能對您有一點點幫助,我都會感到非常高興。     

在本文中,我只挑要點講一下,關於軟體的詳細使用指南,請您參考官方提供的help文檔。我使用本站設計的ezNiosDK C6B開發板來示範這個實驗;如果您採用自己的開發板,請您適當得修改,以適應您的開發板。

第一節:創建並初步配置項目。
1。創建項目。
創建一個空項目,我將他命名為ezC6Be_StdF50(請參考文章“nios無痛入門”,在此不再贅述),器件(Device)設置為EP1C6T144C8。
 
 如果採用的是ezNiosDKC3系列,請選擇EP1C3T144C8,如下圖:
 
2。執行如下script,主要目的是一次性映射PIN腳。
# Setup.tcl
# Setup pin setting

set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
set_global_assignment -name ENABLE_INIT_DONE_OUTPUT ON
set_global_assignment -name CYCLONE_CONFIGURATION_DEVICE EPCS1

set_location_assignment PIN_16 -to OSC0

set_location_assignment PIN_125 -to RESET_
set_location_assignment PIN_28 -to LED\[0\]
set_location_assignment PIN_85 -to LED\[1\]
set_location_assignment PIN_96 -to LED\[2\]
set_location_assignment PIN_97 -to LED\[3\]

set_location_assignment PIN_27 -to KEY\[1\]
set_location_assignment PIN_17 -to KEY\[2\]
set_location_assignment PIN_92 -to KEY\[3\]
set_location_assignment PIN_93 -to KEY\[4\]

set_location_assignment PIN_51 -to SDRAM_CS_
set_location_assignment PIN_52 -to SDRAM_RAS_
set_location_assignment PIN_53 -to SDRAM_CAS_
set_location_assignment PIN_56 -to SDRAM_WE_

set_location_assignment PIN_39 -to SDRAM_CKE
set_location_assignment PIN_26 -to SDRAM_CLK

set_location_assignment PIN_50 -to SDRAM_BA\[0\]
set_location_assignment PIN_49 -to SDRAM_BA\[1\]

set_location_assignment PIN_47 -to SDRAM_A\[0\]
set_location_assignment PIN_42 -to SDRAM_A\[1\]
set_location_assignment PIN_41 -to SDRAM_A\[2\]
set_location_assignment PIN_40 -to SDRAM_A\[3\]
set_location_assignment PIN_34 -to SDRAM_A\[4\]
set_location_assignment PIN_33 -to SDRAM_A\[5\]
set_location_assignment PIN_32 -to SDRAM_A\[6\]
set_location_assignment PIN_31 -to SDRAM_A\[7\]
set_location_assignment PIN_35 -to SDRAM_A\[8\]
set_location_assignment PIN_36 -to SDRAM_A\[9\]
set_location_assignment PIN_48 -to SDRAM_A\[10\]
set_location_assignment PIN_37 -to SDRAM_A\[11\]
set_location_assignment PIN_38 -to SDRAM_A\[12\]

set_location_assignment PIN_69 -to SDRAM_DQ\[0\]
set_location_assignment PIN_68 -to SDRAM_DQ\[1\]
set_location_assignment PIN_67 -to SDRAM_DQ\[2\]
set_location_assignment PIN_62 -to SDRAM_DQ\[3\]
set_location_assignment PIN_61 -to SDRAM_DQ\[4\]
set_location_assignment PIN_60 -to SDRAM_DQ\[5\]
set_location_assignment PIN_59 -to SDRAM_DQ\[6\]
set_location_assignment PIN_58 -to SDRAM_DQ\[7\]
set_location_assignment PIN_71 -to SDRAM_DQ\[8\]
set_location_assignment PIN_72 -to SDRAM_DQ\[9\]
set_location_assignment PIN_73 -to SDRAM_DQ\[10\]
set_location_assignment PIN_74 -to SDRAM_DQ\[11\]
set_location_assignment PIN_78 -to SDRAM_DQ\[12\]
set_location_assignment PIN_77 -to SDRAM_DQ\[13\]
set_location_assignment PIN_76 -to SDRAM_DQ\[14\]
set_location_assignment PIN_75 -to SDRAM_DQ\[15\]

set_location_assignment PIN_57 -to SDRAM_DQM\[0\]
set_location_assignment PIN_70 -to SDRAM_DQM\[1\]

set_location_assignment PIN_99 -to FLASH_CE_
set_location_assignment PIN_100 -to FLASH_OE_
set_location_assignment PIN_128 -to FLASH_WE_

set_location_assignment PIN_98 -to EA\[1\]
set_location_assignment PIN_110 -to EA\[2\]
set_location_assignment PIN_111 -to EA\[3\]
set_location_assignment PIN_112 -to EA\[4\]
set_location_assignment PIN_113 -to EA\[5\]
set_location_assignment PIN_114 -to EA\[6\]
set_location_assignment PIN_119 -to EA\[7\]
set_location_assignment PIN_120 -to EA\[8\]
set_location_assignment PIN_131 -to EA\[9\]
set_location_assignment PIN_132 -to EA\[10\]
set_location_assignment PIN_133 -to EA\[11\]
set_location_assignment PIN_134 -to EA\[12\]
set_location_assignment PIN_139 -to EA\[13\]
set_location_assignment PIN_140 -to EA\[14\]
set_location_assignment PIN_141 -to EA\[15\]
set_location_assignment PIN_142 -to EA\[16\]
set_location_assignment PIN_11 -to EA\[17\]
set_location_assignment PIN_121 -to EA\[18\]
set_location_assignment PIN_122 -to EA\[19\]

set_location_assignment PIN_123 -to RYBY_

set_location_assignment PIN_130 -to EA\[20\]

set_location_assignment PIN_103 -to EDQ\[0\]
set_location_assignment PIN_105 -to EDQ\[1\]
set_location_assignment PIN_107 -to EDQ\[2\]
set_location_assignment PIN_109 -to EDQ\[3\]
set_location_assignment PIN_144 -to EDQ\[4\]
set_location_assignment PIN_3 -to EDQ\[5\]
set_location_assignment PIN_5 -to EDQ\[6\]
set_location_assignment PIN_7 -to EDQ\[7\]
set_location_assignment PIN_104 -to EDQ\[8\]
set_location_assignment PIN_106 -to EDQ\[9\]
set_location_assignment PIN_108 -to EDQ\[10\]
set_location_assignment PIN_143 -to EDQ\[11\]
set_location_assignment PIN_2 -to EDQ\[12\]
set_location_assignment PIN_4 -to EDQ\[13\]
set_location_assignment PIN_6 -to EDQ\[14\]
set_location_assignment PIN_10 -to EDQ\[15\]

set_location_assignment PIN_79 -to RXD1
set_location_assignment PIN_82 -to TXD1

set_location_assignment PIN_83 -to USBDN
set_location_assignment PIN_84 -to USBDP


第二節:創建NiosII系統。
1.選擇Tools -> SOPC Builder,我將這個系統命名為sopc_ezC6Be_StdF50,就是在項目名前加上sopc_,您可以依據需要,為他命名。 

2。配置Component/Kit Library Search Path。
目的是在系統中增加本站設計的Flash編程器目錄,請把光碟CD1上的/Example/ezNiosC6 拷貝到您的電腦的硬碟上。比如,我把他放在h:/DB2005/project/niosDK/CD/CD1/Example/中,然後在Altera SOPC Builder中,選擇File -> SOPC Builder Setup,增加如下搜索路徑:+h:/DB2005/project/niosDK/CD/CD1/Example/ezNiosC6

ezNiosC3 的用戶如下操作:請把光碟CD1上的/Example/ezNiosC3 拷貝到您的電腦的硬碟上。比如,我把他放在h:/DB2005/project/niosDK/CD/CD1/Example/中,然後在Altera SOPC Builder中,選擇File -> SOPC Builder Setup,增加如下搜索路徑:+h:/DB2005/project/niosDK/CD/CD1/Example/ezNiosC3

並順便檢察Modelsim Directory是否正確:比如,我的是 g:/w2k/eda/fpga/altera/modeltech_6.0/win32

然後,你需要關閉Altera SOPC Builder,然後再重新通過QuartusII的Tools ->SOPC Builder來開啟SOPC Builder,這樣上述修改才能生效。  
 
3常見錯誤:有許多朋友往往在設置路徑的時候,犯與下圖類似的錯誤。錯誤在於第一個路徑前面是不需要 + 號的!要去掉第一個路徑前面的 + 號
 

3。Board Target 選擇:ezC6_Programmer,clk選擇 50.0 
 
ezNiosC3的用戶如下操作:Board Target 選擇:ezC3_Programmer,clk選擇 64.0
 

4。為系統添加Nios II處理器。
在Nios II core選項卡中,選擇Nios II /e 。
 
JTAG Debug Module選項卡中,選擇Debug Level 1
 
Custom Instructions選項卡中空著即可。
 
最後選擇Finish確認!    我把這個處理器改名(rename)為cpu_ezC6Be_StdF50,您可以依據需要,為其命名。

5.為系統添加onchip_ram。
雙擊左邊的Memory -> On-Chip Memory,為系統添加2K byte onchip RAM,按照如下配置。我把它改名為onchip_ram_0,您可以依據需要,為其命名。
 

6。為系統添加DRAM控制器。

雙擊左邊的Memory -> SDRAM Crontroller,為系統添加8M byte DRAM,請按照如下圖片配置。
 
 

7。 為系統添加Tri-State Bridge。
雙擊左邊的Bridge -> Avalon Tri-State Bridge,為系統添加Tri-State Bridge,請按照如下圖片配置。  
 

8。為系統添加Flash介面。
雙擊左邊的Memory -> Flash Memory(Common Flash Interface),為系統添加Flash,請按照如下圖片配置。我把它改名(rename)為ext_flash,您可以依據需要,為其命名,但最好還是取名為ext_flash。ezNiosC3A,ezNiosC3B,ezNiosC6A的用戶由於開發板上不帶Flash,可以跳過此步。  
 
 

9。為系統添加EPCS Serial Flash Controller。
雙擊左邊的Memory -> EPCS Serial Flash Controller,為系統添加EPCS Serial Flash Controller,請按照如下圖片配置。ezNiosC3A,ezNiosC6A的用戶由於開發板上不帶該器件,可以跳過此步。
 

[admin via 研發互助社區 ] nios II標準(Standard)系統的創建已經有6520次圍觀

http://cocdig.com/docs/show-post-43175.html