Nios學習筆記2——流水燈實驗

來源:互聯網
上載者:User

標籤:

回到quartus,我們建立一個Verilog檔案,將之前複製的代碼粘貼進去,儲存檔案為led.v。為了後面的編譯,需要將nioscpu的Quartus IP File(.qip)加入項目中,點擊Assignments->Settings,在File中將nioscpu.qip加入,如所示,點擊Add,再點擊OK。

接下來,我們建立鎖相環PLL,給Nios提供時鐘。

單擊Tools->MegaWizard Plug-In Manager,點擊Next,,搜尋PLL,選擇ALTPLL,在右邊的輸出檔案地址中補上pll,點擊Next:

接著page 1設定如下:

器件速度等級選8,輸入時鐘設為50M(因為開發板晶振為50M),點擊Next,在page 2上把2個鉤去掉,:

接著一直點擊Next,直到設定clk c0,如所示設定,將c0輸出頻率設為100M,這是提供給Nios軟核的時鐘,與我們之前在Nios中設定的100M時鐘頻率相對應。

接下來我們還需要設定SDRAM的時鐘頻率,點擊Next,如所示,

首先將Use this clock勾選,然後將Enter output clock parameters設定為2,這樣實際頻率就是100MHz。由於電路板及晶片的訊號延遲等原因,我們需要對時鐘相移進行調節,以達到 SDRAM 的時鐘與軟核之間的協調。我們將 Clock phase shift 設定為-73(具體原因請參考Nios那些事兒)。

設定好以後,點擊Finish,出現Quartus Ⅱ IP Files的對話方塊,點擊Yes,PLL構建就完成了。接著在led.v檔案中對pll進行執行個體化,並補全整個工程,結果如所示,可能有人要問:為什麼要用CLOCK,LED和RESET等名字呢?這先賣個關子,後面再解釋。

接下來,我們對管腳進行分配。將隨開發板一起的資料開啟,找到AX301.tcl檔案,將它複製到工程目錄下。在quartus中點擊Tools->Tcl scripts,如所示:

點擊AX301.tcl,在Preview中我們看到,E15腳被設定為RESET,E1腳被設定為CLOCK,在LED對應的引腳中也有4個腳。大家可以去查看電路圖看看對應的對不對。舉個例子,如所示,E1腳對應CLOCK,而CLOCK正是對應於50M的晶振輸入的,可見tcl檔案中的設定是正確的。我們在Tcl scripts中點擊Run,再點擊OK,再點擊Close。這時我們點擊Assignments –> Pin planner,就可以看到管腳分配已經OK。

最後對工程進行設定,點擊Assignments->Device,在出現的頁面中點擊Device and Pin Options,在Configuration選項卡中鉤選Use configuration device,選擇EPCS16,如所示:

接著在Unused Pins中選擇As input tri-stated,這個主要是防止蜂鳴器響,如所示,

然後在Dual-Purpose Pins中把所有Value都設定為Use as regular I/O,如所示,

然後點擊OK。最後開始編譯,編譯完成後退出。

Nios學習筆記2——流水燈實驗

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.