Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
4f62c83c0This file is pinned to the selected release. Download the original to open it in your design tool.
// Copyright 2026 ETH Zurich and University of Bologna.
// Solderpad Hardware License, Version 0.51, see LICENSE for details.
// SPDX-License-Identifier: SHL-0.51
// Deprecated: use cc_ecc_decode instead.
// Note: type parameters (data_t, parity_t, code_word_t, encoded_data_t) are now
// localparams in cc_ecc_decode, derived from DataWidth using cc_pkg functions.
module ecc_decode #(
parameter int unsigned DataWidth = 64,
parameter type data_t = logic [DataWidth-1:0],
parameter type parity_t = logic [cc_pkg::ecc_get_parity_width(DataWidth)-1:0],
parameter type code_word_t = logic [cc_pkg::ecc_get_cw_width(DataWidth)-1:0],
parameter type encoded_data_t = struct packed {
logic parity;
code_word_t code_word;
}
)(
input encoded_data_t data_i,
output data_t data_o,
output parity_t syndrome_o,
output logic single_error_o,
output logic parity_error_o,
output logic double_error_o
);
// synthesis translate_off
initial $warning("Module '%m' is deprecated. Use 'cc_ecc_decode' instead.");
// synthesis translate_on
cc_ecc_decode #(
.DataWidth ( DataWidth )
) i_cc_ecc_decode (
.data_i ( data_i ),
.data_o ( data_o ),
.syndrome_o ( syndrome_o ),
.single_error_o ( single_error_o ),
.parity_error_o ( parity_error_o ),
.double_error_o ( double_error_o )
);
endmodule