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
Ni 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
Ni 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