30/05/2013 FPGA Class 1
NGÔN NGỮ LẬP TRÌNH PHẦN
CỨNG VERILOG HDL (PHẦN 2)
BÀI 4:
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
Nội dung chính
Hàm If
Hàm case
Máy trạng thái FSM
Ví dụ thực hiện
30/05/2013 FPGA Class 2
Hàm If
Hàm If nằm trong cấu trúc
always
If (<điều kiện 1>) begin
Kết quả 1;
end
else if (<điều kiện 2>) begin
Kết quả 1;
end
else begin
Kết quả khác;
end
30/05/2013 FPGA Class 3
Phải có nếu có nhiều dòng lệnh
Phải có nếu là mạch tổ hợp
hoặc là mạch tuần tự nhưng
không muốn giữ lại giá trị cũ.
Ví dụ hàm If
module example_1 (a, b, c, d, sel, y);
input a;
input b;
input c;
input d;
input [1:0] sel;
output reg [1:0] y;
always @ (*) begin
If (sel == 1’b00)
y = a;
else if (sel == 1’b01)
y = b;
else if (sel == 1’b10)
y = c;
else
y = d;
end
endmodule
30/05/2013 FPGA Class 4
module example_1 (a, b, c, sel, y);
input a;
input b;
input c;
input [1:0] sel;
output reg [1:0] y;
always @ (*) begin
If (sel == 1’b00)
y = a;
else if (sel == 1’b01)
y = b;
else if (sel == 1’b10)
y = c;
end
endmodule
Hàm if đầy đủ trường hợp Hàm if không đầy đủ trường hợp phải
chú ý đến nhánh else để tránh tạo
chốt
Nội dung chính
Hàm If
Hàm case
Máy trạng thái FSM
Ví dụ thực hiện
30/05/2013 FPGA Class 5