檔案位置 : 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 檔案
選擇 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));
左方的編譯過程
分析與合成
放置與路徑
組繹器
時序分析
會自動啟動Modelsim
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1
沒有留言:
張貼留言