2020年3月8日 星期日

第一次 使用 Quartus II 9.1 SP2 與 ModelSim Altera Starter

第一次 使用 Quartus II 9.1 SP2 與 ModelSim Altera Starter



檔案位置  :  Quartus II 9.1 SP2  我安裝位於  

D:\altera\91sp2\quartus\bin\quartus
D:\altera\91sp2\modelsim_ase\win32aloem\modelsim.exe

AND gate verilog 測試程式



開啟Quartus ii 9.1sp2

File -> New project Wizard 

切換工作目錄 (不能有 中文的 目錄   ,  使用 Verilog HDL )
產生新的目錄  例如  D:\FPGA_EX\VerilogHDL\ch_02




設定  專案名稱  與 Top  level  design entity 名稱 (二者可以同檔名)  例如and_gate



選擇已經存在的 *.v 檔案與 test bench 檔案


選擇 Auto device selected by filter

選擇 Simulation 中 MedelSim-Altera 與 Verilog HDL 




MedelSim-Altera的位置設定 在


最後確認 Device :  Auto  ,   EDA Tools :  ModelSim-Altera (Verilog HDL)


新檔案 File -> New  選 verilog 


輸入 and_gate.v 程式

//============================
// Ch02 and_gate.v
// 二輸入及閘 (閘層描述)

module and_gate (A, B, O);
input  A, B; // A, B 一位元輸入
output O; // O    一位元輸出

and (O, A, B);


endmodule

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



存檔 File -> Save As 輸入and_gate 


輸入測試平台程式 , 新檔案 File -> New

//============================
// Ch02 T.V
// 二輸入及閘 (測試平台程式)

// 時間單位 1ns, 時間精確度10 ps
`timescale 1ns/10ps

module T;
reg A = 1'b0; // A 暫存器資料初值為‘0’
reg B = 1'b0; // B 暫存器資料初值為‘0’
wire O;

// 建立and_gate 的模組例證
and_gate  UUT (.A(A),.B(B),.O(O));

// initial程序結構區塊, 產生A、B輸入信號波形
initial
begin
  #100; // 100ns
    B = 1'b1; // “01”
  #100; // 200ns
    A = 1'b1; // “10”
    B = 1'b0;
  #100; // 300ns
    B = 1'b1; // “11”
  end

initial
begin
  #400; // 模擬終止時間  400 ns
    $stop;
end

endmodule

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

注意 有 3個 地方 
1)  module T;
2)  // 建立and_gate 的模組例證
and_gate  
3) UUT (.A(A),.B(B),.O(O));



另存新檔 檔名 T.v  配合上述 1)

設定Test Bench 的設定

Assignments --> Settings

Simulation  :  Test Benches



New


配合 上述
1)  module T;
2)  // 建立and_gate 的模組例證
and_gate  
3) UUT (.A(A),.B(B),.O(O));


T ,  T , UUT

 ADD 新增 T.v


編譯



左方的編譯過程
分析與合成
放置與路徑
組繹器
時序分析



會自動啟動Modelsim 

 波形選擇Zoom Full

 檢查看看否與真值表 相同

0 * 0  = 0
0 * 1  = 0
1 * 0  = 0
1 * 1  = 1



沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...