hoangquang.dientu@gmail.com Nhận hướng dẫn thiết kế số sử dụng ngôn ngữ Verilog-HDL trên FPGA
BÀI 5: VIẾT TESTBENCH & MÔ PHỎNG THIẾT KẾ VỚI MODELSIM
1
FPGA Class 30/05/2013
TESTBENCH
Khai báo module và đặt tên testbench
module tb_example_1;
//input
reg [1:0] sel;
Gọi ngõ vào của thiết kế với khai báo reg
reg [3:0] b;
reg [3:0] c;
//output
Gọi ngõ ra của thiết kế với khai báo wire để quan sát
wire [3:0] y;
example_1 example_1_tb (//input
sel,b,c,
Gọi module thiết kế
//output
y);
initial
Khởi động các giá trị ngõ vào với “initial”
begin
sel = 2'b00;
b = 4'b0101;
c = 4'b0011;
#500
Thời gian tín hiệu thay đổi tính bằng ns
sel = 2'b01;
end
endmodule
2
FPGA Class 30/05/2013
VÍ DỤ: TESTBENCH
module example_1 (//input
sel,b,c,
//output
y);
//input
input [1:0] sel;
input [3:0] b;
input [3:0] c;
//output
output reg [3:0] y;
always @ (*) begin
case (sel)
2'b00: y = b & c;
2'b01: y = b | c;
2'b10: y = b ^ c;
2'b11: y = b ~^ c;
endcase
end
endmodule
3
FPGA Class 30/05/2013
Cửa sổ khởi động ModelSim
4
FPGA Class 30/05/2013
Tạo một Project mới (1)
5
FPGA Class 30/05/2013
Tạo một Project mới (2)
6
FPGA Class 30/05/2013
Tạo một Project mới (3)
7
FPGA Class 30/05/2013
Tạo các File trong thiết kế (1)
8
FPGA Class 30/05/2013
Tạo các File trong thiết kế (2)
Trang viết code
Code đã viết xong
9
FPGA Class 30/05/2013
Tạo thêm file mới (1)
10
FPGA Class 30/05/2013
Biên dịch trong ModelSim
Lỗi được báo bằng màu đỏ. Click vào dòng này để biết lỗi gì
11
FPGA Class 30/05/2013
Sửa lỗi trong ModelSim
Click vào dòng lỗi để biết lỗi ở đâu
Sửa và biên dịch lại. Nếu đúng hết thì tất cả cảnh báo có màu xanh lá cây
12
FPGA Class 30/05/2013
Chạy mô phỏng (1)
Bước 2: Click đôi chuột vào file testbench để chạy mô phỏng.
Bước 1: Click Update để đảm bảo thông tin mới được cập nhật
13
FPGA Class 30/05/2013
Chạy mô phỏng (2)
Cửa sổ liệt kê thành phần (testbench và thiết kế)
Cửa sổ liệt kê tín hiệu
Cửa sổ code
14
FPGA Class 30/05/2013
Chạy mô phỏng (3)
Xuất hiện cửa số Wave (Cửa sổ hiển thị dạng sóng khi mô phỏng
15
FPGA Class 30/05/2013
Chạy mô phỏng (4)
Chọn khoảng thời gian 1 lần chạy
Bấm nút RUN ngay kế đó để chạy
16
FPGA Class 30/05/2013
KẾT THÚC BÀI 5
17
FPGA Class 30/05/2013