Release notes

Release history and changelog for the hdl-modules project. We follow the semantic versioning scheme MAJOR.MINOR.PATCH:

  • MAJOR is bumped when incompatible API changes are made.

  • MINOR is bumped when functionality is added in a backward-compatible manner.

  • PATCH is bumped when backward-compatible bug fixes are made.

Unreleased (YYYY-MM-DD)

Changes since previous release

Nothing here yet.

6.0.0 (18 january 2025)

Changes since previous release

Added

Fixed

  • Fix bug where asynchronous_fifo.vhd constraint would fail on UltraScale+ devices when FIFO mapped to LUTRAM primitives.

Breaking changes

  • Rename resync_slv_level_coherent to resync_twophase.vhd.

  • Rename resync_slv_handshake to resync_twophase_handshake.vhd.

  • Rename common_pkg.vhd function ite to if_then_else.

  • Rename old reg_file module to register_file and rework it. Note that this change is compatible with hdl-registers version 7.0.0 and later. If you use hdl-registers, the changes should be transparent. The changes are:

    • Rename “reg” to “register”, “idx” to “index”, “reg_type” to “mode” for all files, types, constants.

    • Add utilized_width field to register definition type.

    • Optimize resource utilization of axi_lite_register_file.vhd.

    • Remove unused functions.

5.0.1 (9 july 2024)

Changes since previous release

Added

  • Add resync_slv_handshake.

  • Add enable_iob generic to debounce.vhd.

Bug fixes

  • Respect the include_unisim flag in module_hard_fifo.get_simulation_files method.

  • Ensure deterministic latency of resync_pulse.vhd, resync_slv_level_coherent, and debounce.vhd.

Other changes

  • Waive irrelevant Vivado CDC warnings to make reports more clean.

5.0.0 (8 may 2024)

Changes since previous release

Added

Internal changes

  • Optimize library and package imports in a way that decreases simulation time by 20-40% for small testbenches using GHDL.

Breaking changes

4.0.0 (25 january 2024)

Changes since previous release

Added

Fixes

  • Fix bug in axi_lite_register_file.vhd where a non-zero default value for a register of mode wpulse or r_wpulse would only be asserted on regs_down the very first clock cycle.

  • Fix bug where axi_read_throttle.vhd could lower ARVALID without an AR transaction having occurred.

Breaking changes

3.0.2 (27 september 2023)

Changes since previous release

Added

3.0.1 (27 september 2023)

Changes since previous release

Added

3.0.0 (2 march 2023)

Changes since previous release

Added

Bug fixes

Breaking changes

  • Rename axi_stream_slave.vhd port num_bursts_checked to num_packets_checked.

  • Rename width_conversion.vhd generic support_unaligned_burst_length to support_unaligned_packet_length.

  • Remove the remove_strobed_out_invalid_data generic from axi_stream_slave.vhd and axi_write_slave.vhd. This behavior is now always enabled.

  • Change to use unresolved VHDL types consistently.

    • std_ulogic instead of std_logic.

    • std_ulogic_vector instead of std_logic_vector.

    • u_signed instead of signed.

    • u_unsigned instead of unsigned.

  • Move to_period and to_frequency_hz functions from types_pkg.vhd to time_pkg.vhd.

  • Remove erroneous assignment of asynchronous_fifo port read_level when packet mode is enabled.

  • Remove the rarely used axi_w_fifo port read_level which does not have valid value in all configurations.

  • Remove the rarely used axi_write_cdc port output_data_fifo_level which does not have valid value in all configurations.

2.0.0 (24 august 2022)

Changes since previous release

Added

Bug fixes

Breaking changes

1.0.0 (20 october 2021)

Changes since previous release

Use get_hdl_modules() call in all module_*.py.

0.0.1 (19 october 2021)

First release of the standalone hdl-modules project. modules folder copied directly from tsfpga release 9.0.0. See tsfpga release notes for changelog of earlier releases.