blob: 324f9c6bde4a38e51d9f451db2b3752a40a7246d [file] [log] [blame]
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
//
// SECDED encoder generated by util/design/secded_gen.py
module prim_secded_inv_hamming_76_68_enc (
input [67:0] data_i,
output logic [75:0] data_o
);
always_comb begin : p_encode
data_o = 76'(data_i);
data_o[68] = ^(data_o & 76'h00AAB55555556AAAD5B);
data_o[69] = ^(data_o & 76'h00CCD9999999B33366D);
data_o[70] = ^(data_o & 76'h000F1E1E1E1E3C3C78E);
data_o[71] = ^(data_o & 76'h00F01FE01FE03FC07F0);
data_o[72] = ^(data_o & 76'h00001FFFE0003FFF800);
data_o[73] = ^(data_o & 76'h00001FFFFFFFC000000);
data_o[74] = ^(data_o & 76'h00FFE00000000000000);
data_o[75] = ^(data_o & 76'h7FFFFFFFFFFFFFFFFFF);
data_o ^= 76'hAA00000000000000000;
end
endmodule : prim_secded_inv_hamming_76_68_enc