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

package XmlSvPkgDC_OFFSET_REGMAP;

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

  // CONTROL_REG      : 0x0 (dc_offset.sv)
  // OFFSET_VALUE_REG : 0x4 (dc_offset.sv)

//===============================================================================
// Register Group DC_OFFSET_REGISTERS
//===============================================================================

  // Enumerated type MODE_TYPE
  localparam kMODE_TYPESize = 2;
  localparam kBYPASS     = 'h0;  // MODE_TYPE:BYPASS
  localparam kCORRECTION = 'h1;  // MODE_TYPE:CORRECTION

  typedef enum logic [0:0] {
    BYPASS      = 0,  // MODE_TYPE:BYPASS
    CORRECTION  = 1   // MODE_TYPE:CORRECTION
  } MODE_TYPE;

  // CONTROL_REG Register (from dc_offset.sv)
  localparam kCONTROL_REG = 'h0; // Register Offset
  localparam kCONTROL_REGSize = 32;  // register width in bits
  localparam kCONTROL_REGMask = 32'h1;
  localparam kMODESize = 1;  //CONTROL_REG:MODE
  localparam kMODEMsb  = 0;  //CONTROL_REG:MODE
  localparam kMODE     = 0;  //CONTROL_REG:MODE

 typedef struct packed {
  logic [30:0] Rsvd31_1;  // [31: 1] 31 bit spacer
  MODE_TYPE    MODE;      // [ 0: 0]  1 bit bitfield
 } CONTROL_REG;

  // OFFSET_VALUE_REG Register (from dc_offset.sv)
  localparam kOFFSET_VALUE_REG = 'h4; // Register Offset
  localparam kOFFSET_VALUE_REGSize = 32;  // register width in bits
  localparam kOFFSET_VALUE_REGMask = 32'hFFFFFFFF;
  localparam kI_OFFSET_VALUESize = 16;  //OFFSET_VALUE_REG:I_OFFSET_VALUE
  localparam kI_OFFSET_VALUEMsb  = 15;  //OFFSET_VALUE_REG:I_OFFSET_VALUE
  localparam kI_OFFSET_VALUE     =  0;  //OFFSET_VALUE_REG:I_OFFSET_VALUE
  localparam kQ_OFFSET_VALUESize = 16;  //OFFSET_VALUE_REG:Q_OFFSET_VALUE
  localparam kQ_OFFSET_VALUEMsb  = 31;  //OFFSET_VALUE_REG:Q_OFFSET_VALUE
  localparam kQ_OFFSET_VALUE     = 16;  //OFFSET_VALUE_REG:Q_OFFSET_VALUE

 typedef struct packed {
  logic [15:0] Q_OFFSET_VALUE;  // [31:16] 16 bit bitfield
  logic [15:0] I_OFFSET_VALUE;  // [15: 0] 16 bit bitfield
 } OFFSET_VALUE_REG;

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

endpackage : XmlSvPkgDC_OFFSET_REGMAP
