2015年2月7日 星期六

Quartus II 13.0 - (9) Altera FPGA 燒錄程式

(1) . 點選"Programmer"ICON。
(2). 點選"Hardware Setup"按鈕。
(3). 使用滑鼠快點兩下Available hardware items欄位中的"USB-Blaster"選項,之後Currently selected hardware:就會修給為"USB-Blaster [USB-0]"選項,之後按"Close"結束設定。
如果Available hardware items欄位中沒有看到"USB-Blaster"選項,煩請先安裝驅動程式。
(4). 按"Add File..."按鈕。
(5). 點選"xxx.jic"燒錄檔後,按"Open"。
(6). 依下圖所示點選"xxx.sof"圖示後,按"滑鼠右鍵" > "Edit" > "Delete",刪除xxx.sof圖示。
(7). 最後按"Start"按鈕後,開始燒錄,燒錄進度可看"Progress:"顯示的進度。

Quartus II 13.0 - 安裝Altera USB Blaster drivers驅動程式

(1). 開啟Windows裝置管理員,可以看到在"其他裝置" > "USB-Blaster"驅動程是沒有安裝。 
(2). 點選"USB-Blaster" 按"滑鼠右鍵",在選擇"更新驅動程式軟體(P)..."。
 (3). 選擇"瀏覽電腦上的驅動程式軟體"。
 (4). 輸入驅動程式安裝路徑,"C:\altera\13.0sp1\quartus\drivers\usb-blaster"後,按"下一步(N)"。
 (5). 按"安裝"。
 (6). 安裝完成,按"關閉"。
 (7). 如下圖所示,以安裝成功。

Quartus II 13.0 - (8) Altera FPGA 產生燒錄檔

Altera燒錄檔副檔名為.jic,Altera將燒錄的裝置取名為Serial Configuration (EPCS) Devices,以下介紹產生燒錄檔(.jic)的方式。

**JTAG Indirect Configuration File(.jic),燒錄至ROM,燒錄時間較久但電源關閉後程式依然存在,適合已開發完成的程式。
**SRAM Object File(.sof),燒錄時間較快檔案燒錄後只會暫存電源關閉後程式會消失適合開發中的程式測試使用。

(1). 選擇"File" > "Convect Programming Files..."。
 (2). 依照下圖所示選擇,不同的FPGA開發板Configuration device會有差異,這裡是DE0-Nano這塊開發板的設定。
a. Programming file type: JTAG Indirect Configuration File(.jic)
b. Configuration device: EPCS64
c. File name: output_file.jic
 (3). 點選Input files to convert欄位中的"SOF Data"之後再按"Add File..."按鈕。
(4). 進入"..\output_files"檔案路徑中,選擇"xxx.sof"檔,後按"Open"按鈕。
(5). 點選Input files to convert欄位中的"Flash Loader"之後再按"Add Device..."按鈕。
 (6). DE0-Nano開發板上的FPGA型號為EP4CE22F17C6,這裡依照開發板上的FPFA型號做選擇後按"OK"。
 (7). 最後按"Generate"按鈕,產生.jic檔。
 (8). 成功產生.jic檔。
 (9). 產生的.jic檔與project(.QPF)在同個路徑下。

2015年2月4日 星期三

Quartus II 13.0 - (7) 使用文字編輯方式設定FPGA腳位

(1). 新增一個文字檔(.txt),這裡先取檔名為"Test Pin Planner"。
 (2). 編輯對應腳位編號與IO名稱,注意,"TO,    Location"標題一定要輸入,"//"雙斜線為註解,範例如下圖所示,輸入完成後,存檔並關閉。

To,    Location

//IO Pin Set
a,    PIN_F1
b,    PIN_G1
c,    PIN_P1
d,    PIN_J1
En,    PIN_K1
Sel,    PIN_L1
f,    PIN_N1

**如果是定義成匯流排,IO名稱要加入"[編號]",例如:
a[0],    PIN_F1
a[1],    PIN_G1
a[2],    PIN_P1
a[3],    PIN_J1

 (3). 選擇"Assignments" > "Import Assignments..."。
 (4). 選擇File name:欄位中"..."按鈕。
 (5). 點選"Test Pin Planner"文字檔(.txt)後,按"開啟舊檔"。
 (6). 路競選擇完成後,按"OK"載入。
 (7). 最後,查看是否載入成功,選擇"Pin Planner"ICON圖示。
 (8). 成功載入如下圖所示。

Quartus II 13.0 - (6) 選擇Altera FPGA型號

(1). 點選"Device"ICON圖示。
 (2). 在"Available devices:"欄位中選擇之後需要燒錄的FPGA型號,完成後按"OK"。
 (3). 最後選擇的結果會顯示在,下列圖示位置。

Quartus II 13.0 - (5) Verilog轉成RTL電路圖

(1). 選擇"Tools" > "Netlist Viewers" > "RTL Viewer"。
 (2). 結果顯示,Verilog語言所描述的數位設計電路圖。

2015年2月3日 星期二

Quartus II 13.0 - (4) 撰寫Test Bench與使用ModelSim做Simulation

(1). 選擇"New"新增檔案ICON。 
 (2). 選擇"Verilog HDL File"選項。
 (3). 撰寫Test Bench測試程式,程式範例如下所示,這裡要注意Test Bench的本名(Test),要與測試電路module Test的名稱相同,不然在Loading至ModelSim時會出現# Error loading design錯誤,撰寫完畢按"Save"ICON存檔。

`timescale 1 ns/1 ns

module testbench;
reg a, b, c, d, En, Sel;
wire f;

Test UUT(
.a(a),
.b(b),
.c(c),
.d(d),
.En(En),
.Sel(Sel),
.f(f) );
initial
begin
 a   = 1'b0; // Time = 0
 b   = 1'b1;
 c   = 1'b0;
 d   = 1'b1;
 En  = 1'b0;
 Sel = 1'b0;
 #20; // Time = 20
 a  = 1'b1;
 #10; // Time = 30
 b  = 1'b0;
 c  = 1'b1;
 #10; // Time = 40
 a  = 1'b0;
 #10; // Time = 50
 En = 1'b1;
 #10; // Time = 60
 c  = 1'b0;
 #10; // Time = 70
 a  = 1'b1;
 d  = 1'b0;
 #20; // Time = 90
 c  = 1'b1;
 #20; // Time = 110
 a  = 1'b0;
 #10; // Time = 120
 a  = 1'b1;
 #10; // Time = 130
 c  = 1'b0;
 Sel= 1'b1;
 #10; // Time = 140
 a  = 1'b0;
 #30; // Time = 170
 a  = 1'b1;
 #10; // Time = 180
 c  = 1'b1;
 #20; // Time = 200
 a  = 1'b0;
end
endmodule
 (4). 檔案名稱這裡輸入為"testbench",後按"存檔"。
 (5). 使用滑鼠點選"Project Navigator"下的project圖示後,按"滑鼠右鍵",再選擇"Settings..."。
 (6). 選擇"EDA Tool Settings" ,點選"Compile test bench:"之後再按"Test Benches..."。
 (7). 點選"New..."。
 (8). 再"Test bench name:"欄位中輸入名稱,這裡是輸入"testbench",之後再點選"File name"欄位"..."按鍵。
 (9). 選擇Test Bench的檔案後,按"Open"按鈕。
 (10). 按"Add"按鈕。
 (11). 可以看到增加了Test Bench的檔案至Test bench and simulation files欄位中。
 (12). 按"OK",結束設定。
  (13). 勾選"Run gate-level simulation automatically after compilation",勾選此選項之後,當每次按"Start Compilation"ICON 按鈕後,就會在合成完電路後直接連接至ModelSim,勾選完成後按"OK",結束設定。
 (14). 按下"Start Compilation"ICON進行分析與電路合成。
 (15). 分析與電路合成沒有Error,自動開啟ModelSim。
 (16). ModelSim模擬結果如下圖所示,剛開啟視窗時,先按一下Zoon Out與Zoon In調整一下時間。