3.5.1.1 Mạch tổ hợp và mạch d∙y.
Mạch tổ hợp là mạch mà đầu ra của mạch chỉ phụ thuộc vào đầu vào của hệ tại thời điểm hiện tại. Từ đó ta thấy, hệ này không cần yêu câu bộ nhớ và chúng đ−ợc tạo thành chỉ từ các cổng logic cơ bản.
Mạch dãy là mạch mà đầu ra của mạch còn phụ thuộc vào cả đầu vào trong quá khứ của mạch. Từ đó ta thấy đối với hệ này cần phải có bộ nhớ và một vòng phản hồi tín hiệu.
3.5.1.2 M∙ song song và m∙ tuần tự.
Mã nguồn VHDL là song song. Chỉ các đoạn mã trong một PROCESS, FUNCTION, PROCEDURE là tuần tự. Các khối này đ−ợc thực hiện một cách tuần tự. Mã song song đ−ơc gọi là mã luồng dữ liệu ( dataflow code).
Các đoạn mã song song không thể sử dụng các thành phần của mạch đồng bộ ( hoạt động chỉ xảy ra khi có sự đồng bộ của xung đồng hồ.). Một cách khác chúng ta chỉ
có thể xây dựng dựa trên các mạch tổ hợp.. Chúng ta chỉ tìm hiểu các đoạn mã đ−ợc sử dụng bên ngoài PROCESS, FUNCTION, PROCEDURES. Chúng là các khối lệnh WHEN và GENERATE. Bên cạnh đó, các phép gán dùng các toán tử đ−ợc sử dụng để tạo các mạch tổ hợp. Cuối cùng một loại khối lện đặc biệt đ−ợc gọi là BLOCK sẽ đ−ợc sử dụng.
Mệnh đề WHEN.
WHEN là môt thành phần của các khối lệnh song song. Nó xuất hiện trong hai tr−ờng hợp. WHEN / ELSE và WITH / SELECT / WHEN. Cú pháp đ−ợc trình bày nh− sau.
WHEN/ELSE
Assignment WHEN condition ELSE Assignment WHEN condition ELSE …;
WITH/SELECT/WHEN
WITH identifier SELECT Assignment WHEN value, Assignment WHEN value, …;