520 likes | 787 Views
Lab4 VeriIstrutment 使用說明 及 FPGA 使用. 1. 打完 code 之後,開始編譯。 ( 這邊示範半加器 ). 2. 編譯完成. 3. Assignment > Device. 4. 確定板子型號 ( 第 4 步驟可不用設定,這邊主要是 確認板子有無設定錯誤 ). 1. 2. 4. 設好相關設定. 3. 5. 設定 PIN 腳 (1/3). Assignment > Pin. 5. 設定 PIN 腳 (2/3). (1). 選單方式可由選取位置上連點兩次滑鼠右鍵即可出現如上圖之選單.
E N D
4.確定板子型號(第4步驟可不用設定,這邊主要是4.確定板子型號(第4步驟可不用設定,這邊主要是 確認板子有無設定錯誤) 1. 2. 4. 設好相關設定 3.
5.設定PIN腳(1/3) Assignment > Pin
5.設定PIN腳(2/3) (1).選單方式可由選取位置上連點兩次滑鼠右鍵即可出現如上圖之選單 (2).或先以右鍵選取要更改的地方之後,於上放空白長條點取右鍵即可出現下圖之選擇
5.設定PIN腳(3/3) 設定完直接按右上方X離開即可
7. Download FPGA (1/2) (1)工具列上的Programmer (2)第一次執行一定要記得設定Hardware Setup 以及2、3步驟 2 1 4 3
7. Download FPGA (2/2) FINISH!!!
VeriInstument 使用( 1/6 ) • 進入程式之後先新增專案(New Project)。 • Project File 可以隨意取。 • AlteraQuartusII Pin Info File 在之前你所設計的VERILOG專案資料夾內,選XXX.qsf,XXX極為VERILOG所用專案名稱。
VeriInstument 使用( 2/6 ) • PIN腳在當時QUARTUS中就已經定義,如果需要使用虛擬儀器的話,就要使用特殊的接腳,左邊為輸入PIN,右邊為輸出。
VeriInstument 使用( 3/6 ) • 如果PIN腳已經宣告成功的話,讀取qsf檔案就可以看到連線。 • 確認無誤之後按確定。 5 6
VeriInstument 使用( 4/6 ) • 選取 • 下圖左,這些圖件表示可以使用的儀器。 • 按住右鍵拖曳即可將欲使用的儀器拖放至工作視窗上,如下圖右。
VeriInstument 使用( 5/6 ) • 選取 即可出現下圖左。 • 只要有使用到虛擬儀器的PIN腳的I/O就會顯示在上面(或剛剛有出現在PIN腳連接圖中有接線的port)。 • 用右鍵拖曳的方法將訊號拉到我們所要使用的虛擬儀器上,如下圖右,各個儀器都已經有對應的訊號。
VeriInstument 使用( 6/6 ) • 確認FPGA電源有開!!! • 選取要模擬的速度(100~1000Hz皆可) • 點選 • 開始模擬。 a、b都off a on、b off 亮黃燈(sum) a on、b on 亮紅燈(carry_out)
請在” c:\logiclab\<你自己的學號>\ ” 的路徑下新增一資料夾 lab4_1。 • 開啟 Quartus II,並開啟一新 project。 • 在 working directory 的地方選擇 c:\logiclab\<你自己的學號>\lab4_1。 • 將此 project 命名為 FPGA_practice。 • 其他的設定如上次實驗。 • 在 File -> New 下,選擇 Verilog HDL File,開啟一新 verilog 檔案。 • 將下一頁投影片內容鍵入 verilog 文件中,並儲存之(名稱可以任取)。 Part 1:Design & Simulation
module FPGA_practice (led0,led1,led2,led3, in0, in1); input in0, in1; output led0, led1, led2, led3; reg led0, led1, led2, led3; always@( in0 or in1 ) begin case( {in1,in0} ) 2'b11: {led3,led2,led1,led0} = 4'b1110; 2'b10: {led3,led2,led1,led0} = 4'b1101; 2'b01: {led3,led2,led1,led0} = 4'b1011; 2'b00: {led3,led2,led1,led0} = 4'b0111; endcase end endmodule Part 1:Design & Simulation
module FPGA_practice (led0,led1,led2,led3, in0, in1); input in0, in1; output led0, led1, led2, led3; reg led0, led1, led2, led3; always@( in0 or in1 ) begin case( {in1,in0} ) 2'b11: {led3,led2,led1,led0} = 4'b1110; 2'b10: {led3,led2,led1,led0} = 4'b1101; 2'b01: {led3,led2,led1,led0} = 4'b1011; 2'b00: {led3,led2,led1,led0} = 4'b0111; endcase end endmodule Part 1:Design & Simulation 8. 按【Start Analysis & Synthesis】,進行分析。檢查錯誤並修正後請存檔並再進行一次。
選擇工作列上 AssignDevice 選項來設定我們要使用的 Device。 • 在 Family 選擇 Cyclone,並且在 available devices 的選項中,選擇 EP1C6Q240C8。 • 按【Device & Pin Options】,開啟 Device & Pin Options 視窗,如下圖所示。 Part 2:設定裝置
在 Device & Pin Options 視窗中選擇頁面 Configuration , 在 Configuration scheme 選擇 Passive Serial(can use configuration Device),如下圖所示。 Part 2:設定裝置
在 Device & Pin Options 視窗中選擇頁面 Unused Pins,設定 unused pins 為 As inputs,tri-stated,如下圖所示。 Part 2:設定裝置
在 Device & Pin Options 視窗中選擇頁面Voltage,選擇 LVCOMS,設定完後按【確定】 及【OK】關閉視窗,如下圖所示。 Part 2:設定裝置
選擇工作列 Assignment -> Pins,會出現以下視窗。在 Location 的欄位,打入或選擇你要設 定的 pin 接腳。Pin 接角的對應關係說明如下表。 Part 3:設定接腳
完成 pin 接腳的設定後,按【compile】,進行編譯。 Part 3:設定接腳 註:D0~D7 的符號有標示在板子上。
調整 jumper 之設定值為 NorMode,與下圖一致。 Part 4:燒錄(Download)
確定 Power、ByteBlaster download cable 與 USB 接頭是否有接好(POWER 燈會亮)。 • 選擇 Quartus II 工作列 Programmer 選項 Part 4:燒錄(Download)
如果是第一次開啟 Programmer 會出現 Hardware Setup 的選項,如下圖所示。開啟 HardwareSetup,在 Hardware Setting 中,將 Current selected hardware 設定為 ByteBlasterII [LPT1], 後按【OK】。 • 21. 回到 Programmer 後,在【Program/Configure】方塊上打勾。 • 22. 按【start】後,即開始進行 download。 Part 4:燒錄(Download) 23. 完成 Download 後,試著改變 VeriLite 上 Switch 1~2 的值來驗證結果.
請在” c:\logiclab\<你自己的學號>\ ” 的路徑下新增一資料夾 lab4_2。 • 開啟 Quartus II,並開啟一新 project。 • 在 working directory 的地方選擇 c:\logiclab\<你自己的學號>\lab4_2。 • 將此 project 命名為 showLED。 • 其他的設定如上次實驗。 • 在 File -> New 下,選擇 Verilog HDL File,開啟一新 verilog 檔案。 • 將以下內容鍵入此 verilog 文件中,並儲存之(名稱可以任取)。 Part 1:Design & Download
module showLED (led0,led1,led2,led3, in0, in1); input in0,in1; output led0,led1,led2,led3; reg led0,led1,led2,led3; always@( in0 or in1 ) begin case( {in1,in0} ) 2'b00: {led3,led2,led1,led0}=4'b0001; 2'b01: {led3,led2,led1,led0}=4'b0010; 2'b10: {led3,led2,led1,led0}=4'b0100; 2'b11: {led3,led2,led1,led0}=4'b1000; endcase end endmodule Part 1:Design & Download • 按【Start Analysis & Synthesis】,進行分析。檢查錯誤並修正後請存檔並再進行一次。 • 仿照 Lab4-1 的 Part 2:設定裝置之步驟。
仿照 Part 3:設定接角之步驟,不過使用的 pin 接腳要改變成使用虛擬裝置的 pin 腳。虛擬 裝置使用的接腳,如下表所示。 Part 1:Design & Download
11. 仿照 Lab4-1 的 Part 4:Download 之步驟。 Part 1:Design & Download
12. 從開始->程式集->SMIMS CORPS->VeriInstrument_USB 開啟 VeriInstrument。 Part 2:設定虛擬裝置
按【開新專案】。 • 在 Project File 部分,將專案命名為 c:\logiclab\<你自己的學號>\lab4_2\<任意名稱>.dkp • Altera Quartus II Pin info File 選擇 c:\logiclab\<你自己的學號>\lab4_2\showLED.qsf,選擇【確定】。(註:qsf 檔為“所 compile 的電路"的“pin 接腳接線情形",是在 compile 的過 程中產生的) • Pin Assignment 的視窗會跳出來。此為之前所設定之 pin 接腳的接線情形。按【確定】即可. Part 2:設定虛擬裝置
開啟 I/O 裝置表。將 4 個 LED 和兩個指撥開關拖放到虛擬儀表板上,結果如下圖。 Part 2:設定虛擬裝置
開啟 Pin 接腳表(如左下圖),在 input 欄位中,有 in0 和 in1,分別將這兩個輸入拉到指撥開 關上(結果如右下圖)。 Part 2:設定虛擬裝置
切換到 output 欄位,將 led0,led1,led2,led3 分別拉到儀表版上的 4 個 led 上。結果如下圖。 Part 2:設定虛擬裝置 • 按【GO】,啟動虛擬儀表,此虛擬儀表即可使用。可嘗 試去撥指撥開關,觀察 LED 燈的輸出是否如預期。
請在” c:\logiclab\<你自己的學號>\ ” 的路徑下新增一資料夾 lab4_3。 • 開啟 Quartus II,並開啟一新 project。 • 在 working directory 的地方選擇 c:\logiclab\<你自己的學號>\lab4_3。 • 將此 project 命名為 SevenSeg。 • 其他的設定如上次實驗。 • 在 File -> New 下,選擇 Verilog HDL File,開啟一新 verilog 檔案。 • 將以下內容鍵入此 verilog 文件中,並儲存之(名稱可以任取)。 Part 1:Design & Download
module SevenSeg ( dout, din); input[3:0]din; output[6:0]dout; reg[6:0]dout; 4'b1000 : dout = 7'b1111111 ; 4'b1001 : dout = 7'b1101111 ; 4'b1010 : dout = 7'b1110111 ; 4'b1011 : dout = 7'b1111100 ; 4'b1100 : dout = 7'b0111001 ; 4'b1101 : dout = 7'b1011110 ; 4'b1110 : dout = 7'b1111001 ; 4'b1111 : dout = 7'b1110001 ; default : dout = 7'b0000000 ; endcase end endmodule Part 1:Design & Download always@(din) begin case(din) 4'b0000 : dout = 7'b0111111 ; 4'b0001 : dout = 7'b0000110 ; 4'b0010 : dout = 7'b1011011 ; 4'b0011 : dout = 7'b1001111 ; 4'b0100 : dout = 7'b1100110 ; 4'b0101 : dout = 7'b1101101 ; 4'b0110 : dout = 7'b1111101 ; 4'b0111 : dout = 7'b0000111 ;
按【Start Analysis & Synthesis】,進行分析。檢查錯誤並修正後請存檔並再進行一次。 • 仿照 Lab5-1 的 Part 2:設定裝置之步驟。 • 仿照 Lb5-2, 要使用虛擬裝置的 pin 腳。虛擬裝置可使用的接腳,如下表所示。 Part 1:Design & Download
10. 仿照 Lab4-1 的 Part 4:Download 之步驟。 Part 1:Design & Download
從開始->程式集->SMIMS CORPS->VeriInstrument_USB 開啟 VeriInstrument。 • 按【開新專案】。 • 在 Project File 部分,將專案命名為 c:\logiclab\<你自己的學號>\lab4_3\<任意名稱>.dkp • Altera Quartus II Pin info File 選擇 c:\logiclab\<你自己的學號>\lab4_3\SevenSeg.qsf,選擇【確定】。 • 開啟 I/O 裝置表。將 1 個七段顯示器和 4 個指撥開關拖 放到虛擬儀表板上,結果如下圖。 Part 2:設定虛擬裝置
開啟 Pin 接腳表在 input 欄位中,將 din[0], din[1], din[2], din[3] 這四個輸入拉到指撥開關上。 • 切換到 output 欄位,在七段顯示器上,按右鍵,選擇“設 定此 PIN 腳",結果如下圖。 Part 2:設定虛擬裝置
將 dout[0], … , dout[6]分別拉到 7SEG_A, … , 7SEG_G,結果如下圖 Part 2:設定虛擬裝置 • 按【GO】,啟動虛擬儀表,此虛擬儀表即可使用。可嘗試去撥指撥開關,觀察 LED 燈的 輸出是否如預期。
設計一個4-bit 加法器,於其輸出及輸入端利用虛擬元件中的七段顯示器顯示它的值,並且於輸入端利用虛擬元件中的指撥開關給定運算值。架構如下圖。