Features | Example/Comment |
---|---|
VHDL-2008 STD and IEEE packages precompiled, including new fixed and float packages, unsigned bit etc. |
Limited by other language features such as generic package which XSIM does not yet support. Not all newly added std functions are supported. Notably, |
Simplified sensitivity list |
process(all)
|
Matching Relational Operators |
|
Unary Reduction Logic Operators |
|
Simplified Case Statement |
Instead of an intermediate variable or signal, we can use an expression directly in the case statement. |
Array / Bit Logic Operators |
|
Array / Bit Addition Operators | Library functions |
Enhanced Bit String Literals |
16SX"FF” = "1111_1111_1111_1111” 16UX”FF” = “0000_0000_1111_1111” |
Conditional and selected sequential statements |
|
Protected type |
Protected type shared variable is supported in HDL simulation, but Tcl and GUI does not allow examining value of protected type shared variables yet. |
Keyword 'parameter' in procedure declaration |
procedure proc parameter
(a : in std_logic)
|
Array element resolution function in subtype definition |
|
Block comments |
|
Predefined array types | boolean_vector, integer_vector etc. |
Type passed as Generic |
|
Hierarchical references to signal |
<<signal
.top.dut_inst.sig1 : std_logic_vector(3 downto
0)>>
|
Expression in port map | |
Reading output port | |
Max and Min operator | |
Matching case statement | |
Shift operators (rol, ror, sll, srl, sla and sra) | |
Mixing array and scalar logical operators | |
Conditional sequential assignments on signal | |
Case generate | |
Extensions to globally static and locally static expressions | |
Static ranges and integer expressions in range bound | |
Other features that are not mentioned in the above table, are not supported by Vivado simulator. |