Gán một gía trị hoặc kết quả của ước lượng một biểu thức cho tín hiệu. Phát biểu này được thực thi khi nào tín hiệu trong biểu thức đó thay đổi giá trị. Biểu thức có thể là biểu thức logic hoặc số học Cú pháp: signal <= expression; Ví dụ : y <= '1'; z <= y AND (NOT x); Một vector mà tất cả bit có cùng giá trị có thể dùng từ khóa OTHERS như dưới đây: SIGNAL x: STD_LOGIC_VECTOR(7 DOWNTO 0); x <= (OTHERS => '0'); -- 8-bit vector of 0, same as "00000000" 2. Gán tín hiệu có điều kiện: Chọn một hoặc vài giá trị khác nhau để gán cho tín hiệu dựa trên điều kiện khác nhau. Câu lệnh sẽ thực thi khi 1 số giá trị hay điều kiện thay đổi trong tín hiệu Cú pháp : signal <= value1 WHEN condition ELSE value2 WHEN condition ELSE value3; Ví dụ : z <= in0 WHEN sel = "00" ELSE in1 WHEN sel = "01" ELSE in2 WHEN sel = "10" ELSE in3; 3. Gán tín hiệu có chọn lựa Chọn một hoặc vài giá trị khác nhau để gán cho tín hiệu dựa trên giá trị của biểu thức được chọn. Tất cả các trường hợp có thể có của biểu thức cần được đưa .Từ khóa OTHERS có thể dùng để chỉ rõ những trường hợp còn lại. Câu lệnh sẽ thực thi khi tín hiệu trong biểu thức hoặc một giá trị thay đổi. Cú pháp: WITH expression SELECT signal <= value1 WHEN choice1, value2 WHEN choice2 | choice3, … value4 WHEN OTHERS; Ví dụ : WITH sel SELECT z <= in0 WHEN "00", in1 WHEN "01", in2 WHEN "10", in3 WHEN OTHERS;