Skip to content

Releases: pulp-platform/common_cells

v2.0.0-beta.3

v2.0.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@phsauter phsauter released this 29 Jul 17:06
63b7c50

2.0.0-beta.3 - 2026-07-29

Added

  • cc_heaviside: Add open-source formal verification and document saturation behavior

Fixed

  • Deprecated stream arbiter wrappers: Fix elaboration with Synopsys Fusion Compiler

v2.0.0-beta.2

v2.0.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@phsauter phsauter released this 16 Jul 17:11
03d9810

2.0.0-beta.2 - 2026-07-16

Changed

  • README: Update cell names, links, and API documentation for v2

Fixed

  • cc_fifo, cc_delta_counter: Use named synchronous clear signals for Synopsys Fusion Compiler compatibility
  • cc_binary_to_gray: Fix the lint for the Width == 1 special case
  • assertions.svh: Use the built-in XILINX_SIMULATOR macro to disable assertions under Xilinx simulation
  • cc_trip_counter: Fix the CounterExceedsBound assertion on trip cycles and document exact-bound behavior

v2.0.0-beta

v2.0.0-beta Pre-release
Pre-release

Choose a tag to compare

@phsauter phsauter released this 02 Jul 15:33
88e7f97

2.0.0-beta - 2026-07-02

Added

  • Add deprecated v1 compatibility wrappers for renamed modules, packages, register macros and formal properties
  • Add cc_no_deprecated Bender target for strict v2-only builds
  • Add cc_pkg and merge cf_math_pkg, ecc_pkg, and CDC reset-control types into it
  • Add cc_delta_counter, cc_majority_vote_filter, cc_serial_deglitch and cc_onehot
  • Add formal checks for cc_cdc_reset_ctrlr and cc_lzc
  • Add timed CDC test coverage for 2-phase, 4-phase, FIFO, gray FIFO, and clearable CDC paths

Changed

  • Move the generic sync cell to tech_cells_generic
  • Prefix public RTL modules, interfaces, testbenches, and formal properties with cc_
  • Rename ports to _i/_o, parameters to UpperCamelCase, and type parameters to *_t
  • Replace string parameters with enums and integer-like parameters with typed int unsigned or bit
  • Convert dependent parameters to localparams where they are not part of the public API
  • Add synchronous clr_i support to sequential cells and update register macro defaults
  • Rename fifo_v3 to cc_fifo and shift_reg to cc_shift_register
  • Remove testmode_i from cc_fifo and dependent modules
  • Fold stream_arbiter_flushable into cc_stream_arbiter
  • Rename the functional clear of cc_serial_deglitch to restart_i
  • Restructure CDC implementations with explicit source/destination sides and unify configurable synchronizer parameters
  • Extend CI with Bender-based formal runs, Slang, Verible, Verilator, Questa/VCS elaboration, and SpyGlass lint

Fixed

  • cc_popcount: Fix output width
  • cc_lzc: Fix non-power-of-two widths and add formal coverage
  • cc_fifo: Fix usage_o truncation for power-of-two depths
  • cc_rr_arb_tree: Fix inconsistent grant behavior for NumIn == 1
  • cc_passthrough_stream_fifo: Fix pointer updates under full handshakes
  • cc_cdc_reset_ctrlr: Keep async reset-control payloads contained inside the CDC
  • cc_cdc_fifo_gray_clearable: Preserve async reset-control timing across sync-stage configurations
  • Fix Verilator IMPLICIT, UNOPTFLAT, MULTIDRIVEN, and selected width warnings
  • Fix SpyGlass lint findings and improve elaboration/tool compatibility

Removed

  • Remove already-deprecated legacy modules that are not part of the v1 compatibility wrapper set
  • Remove Travis CI and replace the old lint workflow with the new CI setup

v1.40.0

Choose a tag to compare

@phsauter phsauter released this 02 Jul 14:00
1281545

1.40.0 - 2026-07-02

Fixed

  • stream_mux: Fix select width for N_INP == 1
  • clk_int_div: Fix SpyGlass W415a lint issue
  • cdc_*_tb: Fix mailbox type mismatch
  • common_cells.core: Add missing source file
  • Bender.yml: Exclude deprecated sram.sv when targeting CVA6
  • README: Fix register macro formatting

v1.39.0

Choose a tag to compare

@phsauter phsauter released this 20 Nov 16:51
9ca8a76

1.39.0 - 2025-11-20

Added

  • boxcar: Add boxcar function to compose bit masks
  • heaviside: Add Heaviside function to compose bit masks
  • ring_buffer: Add ring buffer with sequential write and random reads
  • trip_counter: Add counter with 'trip' output when reaching threshold value

Changed

  • cb_filter, id_queue, lzc, rr_arb_tree: Speed up Verilator simulation
  • cdc_fifo_gray*, isochronous_spill_register: Change flip-flops without to flip-flops with reset
  • isochronous_spill_register: Remove unnecessary data stability assertions
  • addr_decode*: Change assumed integer index to arbitrary type (default remains integer)

Fixed

  • id_queue: Fix struct access
  • cdc_fifo_gray*: Fix Spyglass linting edge case
  • lzc: Fix assertion for degenerate case WIDTH == 0
  • Fix Verilator compilation by adding guard statements

v1.38.0

Choose a tag to compare

@niwis niwis released this 28 Feb 04:30
9afda9a

1.38.0 - 2025-02-28

Changed

  • Assertions no longer disabled for Verilator. Define ASSERTS_OFF to disable.
  • Define ASSERTS_OVERRIDE_ON to override any defines that turn assertions off otherwise.
  • id_queue: Parametrize number of compare ports.
  • assertions.svh: Add optional argument to assertion macros to display custom error message.
  • stream_to_mem: Disable assertions during reset.
  • addr_decode_dync, cdc_fifo_gray_clearable, multiaddr_decode, spill_register_flushable: Promote $warning to $error.
  • rr_arb_tree, stream_omega_net, stream_xbar: Remove default assertion disable.

Fixed

  • delta_counter: Fix inverted reset.
  • stream_join_dynamic: Handshake only selected streams.
  • Various tool compatibility improvements.

v1.37.0

Choose a tag to compare

@niwis niwis released this 18 Jul 12:18
c27bce3

1.37.0 - 2024-07-18

Added

  • credit_counter: Add up/down counter for credit.

Fixed

  • mem_to_banks_detailed: Ensure no spurious response after full dead write.

v1.36.0

Choose a tag to compare

@niwis niwis released this 08 Jul 11:58
be3866e

1.36.0 - 2024-07-08

Fixed

  • registers: Fix else statement in FFARNC macro.
  • stream_arbiter_flushable: Do not lock priority arbiter.

v1.35.0

Choose a tag to compare

@niwis niwis released this 22 Apr 15:45
0d67563

1.35.0 - 2024-04-22

Changed

  • id_queue: Add parameter to cut a critical path.

v1.34.0

Choose a tag to compare

@niwis niwis released this 09 Apr 11:21
7773d97

1.34.0 - 2024-04-09

Changed

  • stream_xbar: Add payload assertion stability mask.