PHÁT BIỂU IF

Một phần của tài liệu GIÁO TRÌNH KỸ THUẬT PLD & ASIC - CHƯƠNG 2 NGÔN NGỮ LẬP TRÌNH VHDL ppt (Trang 35 - 36)

V. XỬ LÝ TUẦN TỰ

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 THENEND 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 – weekendweekday – đượ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 daySaturday 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 SundaySaturday 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.

Một phần của tài liệu GIÁO TRÌNH KỸ THUẬT PLD & ASIC - CHƯƠNG 2 NGÔN NGỮ LẬP TRÌNH VHDL ppt (Trang 35 - 36)