VHDL-2008 Features
The VHDL-2008 standard (IEEE 1076-2008) introduced several significant improvements that make the language more concise, flexible, and powerful. Most modern synthesis and simulation tools (Vivado, Quartus, ModelSim) have strong support for VHDL-2008.
1. Simplified Sensitivity Lists
Instead of listing every signal in a combinational process, you can use the keyword all.
-- Before 2008
process (a, b, c, d, sel)
-- VHDL-2008
process (all)
begin
-- ...
end process;
2. Enhanced Logic Operators
VHDL-2008 allows unary logical operators for reduction, similar to Verilog.
-- Returns '1' if any bit in the vector is '1'
any_bit_high <= or data_vector;
3. Better Generic Support
Generics in Packages: You can now define generics for entire packages.
Generic Types: You can pass a type as a generic parameter to a module.
4. External Names (Hierarchical References)
VHDL-2008 allows you to access signals deep within the design hierarchy from your testbench using external names. This is extremely useful for verification without adding extra ports to every module.
alias probe_sig : std_logic is << signal .tb.uut.sub_inst.internal_sig : std_logic >>;
5. Fixed and Floating Point Packages
VHDL-2008 includes standardized packages for fixed-point (fixed_pkg) and floating-point (float_pkg) arithmetic, which were previously vendor-specific or required external libraries.
6. Simplified I/O and Strings
Improvements to the textio package and the ability to use string expressions in port maps make testbench development much smoother.
7. Logical Operators for std_logic_vector
Previously, operators like and or or between two std_logic_vector signals required a loop or a conversion. In VHDL-2008, these work as expected.
res <= vec_a and vec_b; -- Bitwise AND
Enabling VHDL-2008
To use these features, you must tell your synthesis or simulation tool to use the VHDL-2008 standard. - Vivado: Set the file type to “VHDL 2008” in the file properties. - ModelSim: Use the -2008 flag with vcom. - GHDL: Use the –std=08 flag.
Further Reading
For more hardware design tutorials, visit Agus L. Setiawan at Technolati.com.