//-----------------------------------------------------------------------------
// File: XmlSvPkgIQ_IMPAIRMENT_REGMAP.sv
// Author: Autogenerated by XmlParse
// Original Project: --
// Date: --
//-----------------------------------------------------------------------------
// (c) 2025 National Instruments Corporation. All Rights Reserved.
//-----------------------------------------------------------------------------
// Purpose:
//   The constants in this file are autogenerated by XmlParse.
//-----------------------------------------------------------------------------

package XmlSvPkgIQ_IMPAIRMENT_REGMAP;

//===============================================================================
// A numerically ordered list of registers and their HDL source files
//===============================================================================

  // DSP_REG           : 0x0 (impairment_correction.sv)
  // DELAY_REG         : 0x4 (impairment_correction.sv)
  // IINLINE_COEFF_REG : 0x8 (impairment_correction.sv)
  // ICROSS_COEFF_REG  : 0xC (impairment_correction.sv)
  // QINLINE_COEFF_REG : 0x10 (impairment_correction.sv)

//===============================================================================
// Register Group IQ_IMPAIRMENT_REGISTERS
//===============================================================================

  // DSP_REG Register (from impairment_correction.sv)
  localparam kDSP_REG = 'h0; // Register Offset
  localparam kDSP_REGSize = 32;  // register width in bits
  localparam kDSP_REGMask = 32'hFF;
  localparam kNUM_COEFFSSize = 8;  //DSP_REG:NUM_COEFFS
  localparam kNUM_COEFFSMsb  = 7;  //DSP_REG:NUM_COEFFS
  localparam kNUM_COEFFS     = 0;  //DSP_REG:NUM_COEFFS

 typedef struct packed {
  logic [23:0] Rsvd31_8;    // [31: 8] 24 bit spacer
  logic [7:0]  NUM_COEFFS;  // [ 7: 0]  8 bit bitfield
 } DSP_REG;

  // DELAY_REG Register (from impairment_correction.sv)
  localparam kDELAY_REG = 'h4; // Register Offset
  localparam kDELAY_REGSize = 32;  // register width in bits
  localparam kDELAY_REGMask = 32'hFF;
  localparam kGROUP_DELAYSize = 8;  //DELAY_REG:GROUP_DELAY
  localparam kGROUP_DELAYMsb  = 7;  //DELAY_REG:GROUP_DELAY
  localparam kGROUP_DELAY     = 0;  //DELAY_REG:GROUP_DELAY

 typedef struct packed {
  logic [23:0] Rsvd31_8;     // [31: 8] 24 bit spacer
  logic [7:0]  GROUP_DELAY;  // [ 7: 0]  8 bit bitfield
 } DELAY_REG;

  // IINLINE_COEFF_REG Register (from impairment_correction.sv)
  localparam kIINLINE_COEFF_REG = 'h8; // Register Offset
  localparam kIINLINE_COEFF_REGSize = 32;  // register width in bits
  localparam kIINLINE_COEFF_REGMask = 32'h1FFFFFF;
  localparam kIINLINE_COEFFSize = 25;  //IINLINE_COEFF_REG:IINLINE_COEFF
  localparam kIINLINE_COEFFMsb  = 24;  //IINLINE_COEFF_REG:IINLINE_COEFF
  localparam kIINLINE_COEFF     =  0;  //IINLINE_COEFF_REG:IINLINE_COEFF

 typedef struct packed {
  logic [6:0]  Rsvd31_25;      // [31:25]  7 bit spacer
  logic [24:0] IINLINE_COEFF;  // [24: 0] 25 bit bitfield
 } IINLINE_COEFF_REG;

  // ICROSS_COEFF_REG Register (from impairment_correction.sv)
  localparam kICROSS_COEFF_REG = 'hC; // Register Offset
  localparam kICROSS_COEFF_REGSize = 32;  // register width in bits
  localparam kICROSS_COEFF_REGMask = 32'h1FFFFFF;
  localparam kICROSS_COEFFSize = 25;  //ICROSS_COEFF_REG:ICROSS_COEFF
  localparam kICROSS_COEFFMsb  = 24;  //ICROSS_COEFF_REG:ICROSS_COEFF
  localparam kICROSS_COEFF     =  0;  //ICROSS_COEFF_REG:ICROSS_COEFF

 typedef struct packed {
  logic [6:0]  Rsvd31_25;     // [31:25]  7 bit spacer
  logic [24:0] ICROSS_COEFF;  // [24: 0] 25 bit bitfield
 } ICROSS_COEFF_REG;

  // QINLINE_COEFF_REG Register (from impairment_correction.sv)
  localparam kQINLINE_COEFF_REG = 'h10; // Register Offset
  localparam kQINLINE_COEFF_REGSize = 32;  // register width in bits
  localparam kQINLINE_COEFF_REGMask = 32'h1FFFFFF;
  localparam kQINLINE_COEFFSize = 25;  //QINLINE_COEFF_REG:QINLINE_COEFF
  localparam kQINLINE_COEFFMsb  = 24;  //QINLINE_COEFF_REG:QINLINE_COEFF
  localparam kQINLINE_COEFF     =  0;  //QINLINE_COEFF_REG:QINLINE_COEFF

 typedef struct packed {
  logic [6:0]  Rsvd31_25;      // [31:25]  7 bit spacer
  logic [24:0] QINLINE_COEFF;  // [24: 0] 25 bit bitfield
 } QINLINE_COEFF_REG;

//===============================================================================
// RegTypes
//===============================================================================

endpackage : XmlSvPkgIQ_IMPAIRMENT_REGMAP
