../src/lowrisc_prim_secded_0.1/rtl/prim_secded_39_32_enc.sv Cov: 100%

   1: // Copyright lowRISC contributors.
   2: // Licensed under the Apache License, Version 2.0, see LICENSE for details.
   3: // SPDX-License-Identifier: Apache-2.0
   4: //
   5: // SECDED Encoder generated by secded_gen.py
   6: 
   7: module prim_secded_39_32_enc (
   8:   input        [31:0] in,
   9:   output logic [38:0] out
  10: );
  11: 
  12:   assign out[0] = in[0] ;
  13:   assign out[1] = in[1] ;
  14:   assign out[2] = in[2] ;
  15:   assign out[3] = in[3] ;
  16:   assign out[4] = in[4] ;
  17:   assign out[5] = in[5] ;
  18:   assign out[6] = in[6] ;
  19:   assign out[7] = in[7] ;
  20:   assign out[8] = in[8] ;
  21:   assign out[9] = in[9] ;
  22:   assign out[10] = in[10] ;
  23:   assign out[11] = in[11] ;
  24:   assign out[12] = in[12] ;
  25:   assign out[13] = in[13] ;
  26:   assign out[14] = in[14] ;
  27:   assign out[15] = in[15] ;
  28:   assign out[16] = in[16] ;
  29:   assign out[17] = in[17] ;
  30:   assign out[18] = in[18] ;
  31:   assign out[19] = in[19] ;
  32:   assign out[20] = in[20] ;
  33:   assign out[21] = in[21] ;
  34:   assign out[22] = in[22] ;
  35:   assign out[23] = in[23] ;
  36:   assign out[24] = in[24] ;
  37:   assign out[25] = in[25] ;
  38:   assign out[26] = in[26] ;
  39:   assign out[27] = in[27] ;
  40:   assign out[28] = in[28] ;
  41:   assign out[29] = in[29] ;
  42:   assign out[30] = in[30] ;
  43:   assign out[31] = in[31] ;
  44:   assign out[32] = in[2] ^ in[3] ^ in[7] ^ in[8] ^ in[14] ^ in[15] ^ in[16]
  45:                   ^ in[18] ^ in[19] ^ in[23] ^ in[24] ^ in[28] ^ in[29] ;
  46:   assign out[33] = in[3] ^ in[6] ^ in[8] ^ in[12] ^ in[13] ^ in[15] ^ in[17]
  47:                   ^ in[19] ^ in[21] ^ in[25] ^ in[27] ^ in[29] ^ in[30] ^ in[31] ;
  48:   assign out[34] = in[0] ^ in[5] ^ in[7] ^ in[9] ^ in[10] ^ in[12] ^ in[13]
  49:                   ^ in[15] ^ in[16] ^ in[22] ^ in[23] ^ in[26] ^ in[27] ^ in[31] ;
  50:   assign out[35] = in[0] ^ in[1] ^ in[4] ^ in[6] ^ in[9] ^ in[11] ^ in[12]
  51:                   ^ in[14] ^ in[22] ^ in[23] ^ in[25] ^ in[28] ^ in[29] ^ in[30]
  52:                   ;
  53:   assign out[36] = in[0] ^ in[2] ^ in[3] ^ in[4] ^ in[5] ^ in[11] ^ in[17]
  54:                   ^ in[20] ^ in[24] ^ in[26] ^ in[27] ^ in[30] ;
  55:   assign out[37] = in[1] ^ in[2] ^ in[4] ^ in[6] ^ in[10] ^ in[13] ^ in[14]
  56:                   ^ in[16] ^ in[18] ^ in[19] ^ in[20] ^ in[21] ^ in[22] ^ in[26]
  57:                   ;
  58:   assign out[38] = in[1] ^ in[5] ^ in[7] ^ in[8] ^ in[9] ^ in[10] ^ in[11]
  59:                   ^ in[17] ^ in[18] ^ in[20] ^ in[21] ^ in[24] ^ in[25] ^ in[28]
  60:                   ^ in[31] ;
  61: endmodule
  62: 
  63: