2021年3月22日 星期一

DE2-115 開發步驟 以反相器為例

DE2-115 開發步驟 以反相器為例

參考來源 https://coldnew.github.io/4d1ad2ce/

本文將採用業界比較常用的 Verilog 進行示範,在參照這篇文章之前,需要自行安裝好 Intel® Quartus® II 9.1sp2 或是進階版本。

我們要透過純粹的可程式邏輯(Programmable Logic, PL) 去控制 LED,也就是說,我們只寫硬體描述語言 Verilog 來控制 DE2-115 上面的 LED,讓他依照我們設定的反相器功能進行亮滅。



建立專案

我們首先透過 File -> New Project Wizard 建立一個新的專案



進入點(top-level design entity) --> interver



DE2-115 配備 Cyclone IV E 系列晶片中最大容量的
Cyclone EP4CE115F29C7  FPGA,提供 114,480 邏輯單元 (LEs) 以及高達 3.9 Mbits RAM 與 266 multipliers。



撰寫程式

檔案除存為 inverter.v (注意到這個模組名稱和前面提到的 進入點(top-level design entity) 要相同)

//===================================

//Inverter

module inverter( SW,LEDR );

input [17:0] SW;

output [17:0] LEDR;

inv(SW[17:0],LEDR[17:0]);

endmodule



//======================
//-- inv.v
//-- Component has an input (Din) and an output (DoutB)
module inv(Din,Dout );
    input [17:0]Din;
    output [17:0]Dout;
    //-- Both the input and the output are "wires"
    wire [17:0]Din;
    wire [17:0]Dout;
    
      //-- Assign the inverse of the input, to the output
    assign Dout= ~Din;
    
endmodule

//===================================

腳位設定  (DE2_115_pin_assigment.csv) 匯入



DE2-115-pin-assigment 檔案下載位置
編譯
順利的話,Quartus 會提出我們程式的報告

下載(燒錄)到 DE2-115

要下載到 DE2-115 的話,選擇 Tools -> Programmer 召喚下載用的程式


假設在 Programmer 頁面下,並未看到 USB Blaster 這樣的下載器資訊的話,你可能需要點選一下 Hardware Setup 去指定下載器

結果
我們已經下載完成,去看看我們的板子的顯示狀況吧 !

將ter-asci DE2-115 板子上的SW[0]到SW[17] 切往上(1)或往下(0) 並觀察相對的紅色LED
LEDR[0]到LEDR[17]的亮滅是否符合 反相器功能進行亮滅。


Windows安裝USB-Blaster驅動程式

照理說到「裝置管理員」更新驅動時選擇USB-Blaster的驅動程式目錄(quartus\drivers\usb-blaster)即可安裝



但最近安裝USB-Blaster時Windows卻出現「此檔案可能已損毀」之類的訊息,Google搜尋一段時間之後終於找到解決方法
http://blog.csdn.net/chengbozhe/article/details/47335391
按照此網頁的 「問題二」即可解決


沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...