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