Sequential Assignments - 2025.2 English - UG901

Vivado Design Suite User Guide: Synthesis (UG901)

Document ID
UG901
Release Date
2025-12-05
Version
2025.2 English

VHDL-2008 allows sequential signal and variable assignment with conditional signals. For example, write a register with enable as the following:

process(clk) begin
if clk'event and clk='1' then
if enable then
my_reg <= my_input;
end if;
end if;
end process;

With VHDL-2008, you can now write this as the following:

process(clk) begin
if clk'event and clk='1' then
my_reg <= my_input when enable else my_reg;
end if;
end process;