III. MÔ TẢ PHẦN CỨNG TRONG VHDL
4. PHÁT BIỂU IF
Phát biểu IF cho phép chọn một trong các câu lệnh để thực hiện. Kết quả trả về của mệnh đề điều kiện là giá trị kiểu BOOLEAN. Dựa vào kết quả trả về của mệnh đề điều kiện để cho phép một lệnh có được thực thi hay không.
Cú pháp của phát biểu IF như sau
if condition then sequential statements; [elsif condition then sequential statements;] [else sequential statements;] end if;
Ví dụ 2-13: cho phát biểu IF
IF (x < 10 ) THEN a:= b;
END IF;
Phát biểu được bắt đầu bằng từ khoá IF. Theo sau từ khoá IF là mệnh đề điều kiện (x < 10).
Điều kiện trả về true khi x nhỏ hơn 10, ngược lại thì có giá trị false. Khi điều kiện là true thì phát biểu giữa THEN và END IF được thực hiện. Trong ví dụ này thì lệnh phát biểu gán (a:=b) được thực hiện bất kỳ lúc nào x nhỏ hơn 10.
Ví dụ 2-14: cho phát biểu IF THEN ELSE:
IF (day = sunday ) THEN weekend := true;
ELSIF (day = saturday ) THEN weekend := true;
ELSE weekday := true;
END IF;
Trong ví dụ này có hai biến – weekend và weekday – được thiết lập giá trị tuỳ thuộc vào giá trị của tín hiệu day. Biến weekend được thiết lập là true khi day bằng Saturday hoặc Sunday. Ngược lại biến weekday được thiết lập là true.
Thực hiện phát biểu IF bắt đầu kiểm tra xem biến day có bằng với Sunday hay không. Nếu kết quả là true thì phát biểu kế được thực hiện và điều khiển được chuyển tới phát biểu nằm sau từ khoá END IF.
Ngược lại điều khiển được chuyển tới phần phát biểu ELSIF và kiểm tra day có phải là
Saturday hay không. Nếu biến day là Saturday thì phát biểu kế được thực hiện và điều khiển được chuyển tới phát biểu nằm sau từ khoá END IF.
Cuối cùng nếu day không bằng Sunday và Saturday thì phần phát biểu ELSE được thực hiện. Phát biểu IF có thể có nhiều phần phát biểu ELSIF nhưng chỉ có duy nhất một lần phát biểu
ELSE.