------------- Registers -- -------------
type DBGFORCE_Register is record
   PROC0_SWDO    : Boolean := False;
   PROC0_SWDI    : Boolean := True;
   PROC0_SWCLK   : Boolean := True;
   PROC0_ATTACH  : Boolean := False;
   PROC1_SWDO    : Boolean := False;
   PROC1_SWDI    : Boolean := True;
   PROC1_SWCLK   : Boolean := True;
   PROC1_ATTACH  : Boolean := False;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
type MEMPOWERDOWN_Register is record
   SRAM          : MEMPOWERDOWN_SRAM_Field :=
                    (As_Array => False, Val => 16#0#);
   USB           : Boolean := False;
   ROM           : Boolean := False;
   Reserved_8_31 : HAL.UInt24 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
type MEMPOWERDOWN_SRAM_Field
  (As_Array : Boolean := False)
is record
   case As_Array is
      when False =>
         Val : HAL.UInt6;
      when True =>
         Arr : MEMPOWERDOWN_SRAM_Field_Array;
   end case;
end record
  with Unchecked_Union, Size => 6;
type MEMPOWERDOWN_SRAM_Field_Array is array (0 .. 5) of Boolean
  with Component_Size => 1, Size => 6;
subtype PROC_CONFIG_PROC0_DAP_INSTID_Field is HAL.UInt4;
subtype PROC_CONFIG_PROC1_DAP_INSTID_Field is HAL.UInt4;
type PROC_CONFIG_Register is record
   PROC0_HALTED     : Boolean := False;
   PROC1_HALTED     : Boolean := False;
   Reserved_2_23    : HAL.UInt22 := 16#0#;
   PROC0_DAP_INSTID : PROC_CONFIG_PROC0_DAP_INSTID_Field := 16#0#;
   PROC1_DAP_INSTID : PROC_CONFIG_PROC1_DAP_INSTID_Field := 16#1#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
subtype PROC_IN_SYNC_BYPASS_HI_PROC_IN_SYNC_BYPASS_HI_Field is HAL.UInt6;
type PROC_IN_SYNC_BYPASS_HI_Register is record
   PROC_IN_SYNC_BYPASS_HI : PROC_IN_SYNC_BYPASS_HI_PROC_IN_SYNC_BYPASS_HI_Field :=
                             16#0#;
   Reserved_6_31          : HAL.UInt26 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
subtype PROC_IN_SYNC_BYPASS_PROC_IN_SYNC_BYPASS_Field is HAL.UInt30;
type PROC_IN_SYNC_BYPASS_Register is record
   PROC_IN_SYNC_BYPASS : PROC_IN_SYNC_BYPASS_PROC_IN_SYNC_BYPASS_Field :=
                          16#0#;
   Reserved_30_31      : HAL.UInt2 := 16#0#;
end record
  with Volatile_Full_Access, Object_Size => 32,
       Bit_Order => System.Low_Order_First;
SYSCFG_Periph : aliased SYSCFG_Peripheral
  with Import, Address => SYSCFG_Base;
type SYSCFG_Peripheral is record
   PROC0_NMI_MASK         : aliased HAL.UInt32;
   PROC1_NMI_MASK         : aliased HAL.UInt32;
   PROC_CONFIG            : aliased PROC_CONFIG_Register;
   PROC_IN_SYNC_BYPASS    : aliased PROC_IN_SYNC_BYPASS_Register;
   PROC_IN_SYNC_BYPASS_HI : aliased PROC_IN_SYNC_BYPASS_HI_Register;
   DBGFORCE               : aliased DBGFORCE_Register;
   MEMPOWERDOWN           : aliased MEMPOWERDOWN_Register;
end record
  with Volatile;