# dsPIC30F3011
# DOS: DOS-00200 
# PS:  DS-70102
# DS:  DS-70141

format=0.1

# Variant 4
# device=dsPIC30F3011


vpp (range=9.000-13.250  dflt=13.000)
vdd (range=2.500-5.500  dfltrange=4.500-5.500  nominal=5.000)

pgming (memtech=ee tries=1 lvpthresh=4.500)
    wait (pgm=2000 lvpgm=2000 eedata=2000 cfg=2000 userid=2000 erase=30000 lverase=2000)

pgmmem (region=0x0-0x3fff)
    vectors (region=0x04-0x7f altregion=0x84-0xff)
eedata (region=0x7ffc00-0x7fffff)
#M_STD_EXTPGMMEM
testmem (region=0x800000-0x8005FF appregion=0x800080-0x8005BF)
emulreg (region=0xFD0000-0xFD0027)
cfgmem (region=0xf80000-0xf8000D)
# GI 8/17/04 Removed from programming spec
# userid (region=0x8005C0-0x8005FF)
devid (region=0xFF0000-0xFF0003 idmask=0xFFFF0000 id=0x01C10000)
    ver (id=0x01c11000 desc="mm2 a0")
    variant (addr=0xF80104 val=0x4)

#
# For the ICD2. This is the top of testmem.
bkbgvectmem (region=0x800000-0x800007)

NumBanks=0
xymem (region=0x800-0xbff ymem=0xa00-0xbff)


                               # ---------------#
#------------------------------# CORE Registers #------------------------------------------------#
                               # ---------------#

sfr (key=WREG0 addr=0x0 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG0' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG1 addr=0x2 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG1' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG2 addr=0x4 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG2' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG3 addr=0x6 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG3' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG4 addr=0x8 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG4' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG5 addr=0xa size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG5' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG6 addr=0xc size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG6' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG7 addr=0xe size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG7' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG8 addr=0x10 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG8' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG9 addr=0x12 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG9' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG10 addr=0x14 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG10' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG11 addr=0x16 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG11' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG12 addr=0x18 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG12' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG13 addr=0x1a size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG13' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG14 addr=0x1c size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='WREG14' width='16')
    stimulus (scl=r type=int)
sfr (key=WREG15 addr=0x1e size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000100000000000' mclr='0000100000000000')
    bit (names='WREG15' width='16')
    stimulus (scl=r type=int)
sfr (key=SPLIM addr=0x20 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='SPLIM' width='16')
    stimulus (scl=r type=int)

sfr (key=ACCA addr=0x22 size=5 flags=j)
# The j flag means all these registers together form one larger register 
    stimulus (scl=r type=int)
sfr (key=ACCAL addr=0x22 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='ACCAL' width='16')
    stimulus (scl=r type=int)
sfr (key=ACCAH addr=0x24 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='ACCAH' width='16')
    stimulus (scl=r type=int)
sfr (key=ACCAU addr=0x26 size=2 access='r r r r r r r r rw rw rw rw rw rw rw rw')
    reset (por='00000000xxxxxxxx' mclr='00000000uuuuuuuu')
    bit (names='SIGNEXT ACCAU' width='8 8')
    stimulus (scl=r type=int)

sfr (key=ACCB addr=0x28 size=5 flags=j)
# The j flag means all these registers together form one larger register
    stimulus (scl=r type=int)
sfr (key=ACCBL addr=0x28 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='ACCBL' width='16')
    stimulus (scl=r type=int)
sfr (key=ACCBH addr=0x2a size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='ACCBH' width='16')
    stimulus (scl=r type=int)
sfr (key=ACCBU addr=0x2c size=2 access='r r r r r r r r rw rw rw rw rw rw rw rw')
    reset (por='00000000xxxxxxxx' mclr='00000000uuuuuuuu')
    bit (names='SIGNEXT ACCBU' width='8 8')
    stimulus (scl=r type=int)

sfr (key=PC addr=0x2e size=3 flags=j)
# The j flag means all these registers together form one larger register
    stimulus (scl=rb type=pc)
sfr (key=PCL addr=0x2e size=2 access='r r r r r r r r r r r r r r r r')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PCL' width='16')
    stimulus (scl=rb)
sfr (key=PCH addr=0x30 size=2 access='u u u u u u u u u r r r r r r r')
# Bit 23 of the PC Register (bit 7 of the PCH) is reserved for Testing.
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - - PCH' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb)

sfr (key=TBLPAG addr=0x32 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - TBLPAG' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=r type=int)
sfr (key=PSVPAG addr=0x34 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - PSVPAG' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=r type=int)
sfr (key=RCOUNT addr=0x36 size=2 access='u u rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='--xxxxxxxxxxxxxx' mclr='--uuuuuuuuuuuuuu')
    bit (names='- - RCOUNT' width='1 1 14')
    stimulus (scl=r type=int)
sfr (key=DCOUNT addr=0x38 size=2 access='u u rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='--xxxxxxxxxxxxxx' mclr='--uuuuuuuuuuuuuu')
    bit (names='- - DCOUNT' width='1 1 14')
    stimulus (scl=r type=int)

sfr (key=DOSTART addr=0x3a size=3 flags=j)
# The j flag means all these registers together form one larger register
    stimulus (scl=r type=addr)
sfr (key=DOSTARTL addr=0x3a size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='xxxxxxxxxxxxxxx0' mclr='uuuuuuuuuuuuuuu0')
    bit (names='DOSTARTL' width='16')
    stimulus (scl=r)
sfr (key=DOSTARTH addr=0x3c size=2 access='u u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='---------xxxxxxx' mclr='---------uuuuuuu')
    bit (names='- - - - - - - - - DOSTARTH' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=r)

sfr (key=DOEND addr=0x3e size=3 flags=j)
# The j flag means all these registers together form one larger register
    stimulus (scl=r type=addr)
sfr (key=DOENDL addr=0x3e size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='xxxxxxxxxxxxxxx0' mclr='uuuuuuuuuuuuuuu0')
    bit (names='DOENDL' width='16')
    stimulus (scl=r)
sfr (key=DOENDH addr=0x40 size=2 access='u u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='---------xxxxxxx' mclr='---------uuuuuuu')
    bit (names='- - - - - - - - - DOENDH' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=r)

sfr (key=SR addr=0x42 size=2 access='r r rc rc r rc r rw rw rw rw r rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OA OB SA SB OAB SAB DA DC IPL RA N OV Z C' width='1 1 1 1 1 1 1 1 3 1 1 1 1 1')
    stimulus (scl=r)
sfr (key=CORCON addr=0x44 size=2 access='u u u rw w r r r rw rw rw rw rc rw rw rw')
    reset (por='---0000000100000' mclr='---0000000100000')
    bit (names='- - - US EDT DL SATA SATB SATDW ACCSAT IPL3 PSV RND IF' width='1 1 1 1 1 3 1 1 1 1 1 1 1 1')
    stimulus (scl=r)
sfr (key=MODCON addr=0x46 size=2 access='rw rw u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='00--000000000000' mclr='00--000000000000')
    bit (names='XMODEN YMODEN - - BWM YWM XWM' width='1 1 1 1 4 4 4')
    stimulus (scl=r)
sfr (key=XMODSRT addr=0x48 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='xxxxxxxxxxxxxxx0' mclr='uuuuuuuuuuuuuuu0')
    bit (names='XS' width='16')
    stimulus (scl=r type=int)
sfr (key=XMODEND addr=0x4a size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='xxxxxxxxxxxxxxx1' mclr='uuuuuuuuuuuuuuu1')
    bit (names='XE' width='16')
    stimulus (scl=r type=int)
sfr (key=YMODSRT addr=0x4c size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='xxxxxxxxxxxxxxx0' mclr='uuuuuuuuuuuuuuu0')
    bit (names='YS' width='16')
    stimulus (scl=r type=int)
sfr (key=YMODEND addr=0x4e size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw r')
    reset (por='xxxxxxxxxxxxxxx1' mclr='uuuuuuuuuuuuuuu1')
    bit (names='YE' width='16')
    stimulus (scl=r type=int)
sfr (key=XBREV addr=0x50 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0xxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='BREN XB' width='1 15')
    stimulus (scl=r)
sfr (key=DISICNT addr=0x52 size=2 access='u u rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='--00000000000000' mclr='--00000000000000')
    bit (names='- - DISICNT' width='1 1 14')
    stimulus (scl=r type=int)
UnusedRegs (0x54-0x7f)

                               # -------------------------------#
#------------------------------# Interrupt Controller Registers #------------------------------------------------------#
                               # -------------------------------#

sfr (key=INTCON1 addr=0x80 size=2 access='rw u u u u rw rw rw u u u rw rw rw rw u')
    reset (por='0----000---0000-' mclr='0----000---0000-')
    bit (names='NSTDIS - - - - OVATE OVBTE COVTE - - - MATHERR ADDRERR STKERR OSCFAIL -')
    stimulus (scl=rwb)
sfr (key=INTCON2 addr=0x82 size=2 access='rw u u u u u u u u u u u u rw rw rw')
    reset (por='0------------000' mclr='0------------000')
    bit (names='ALTIVT - - - - - - - - - - - - INT2EP INT1EP INT0EP')
    stimulus (scl=rwb)
sfr (key=IFS0 addr=0x84 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='CNIF BCLIF I2CIF NVMIF ADIF U1TXIF U1RXIF SPI1IF T3IF T2IF OC2IF IC2IF T1IF OC1IF IC1IF INT0IF')
    stimulus (scl=rwb)
sfr (key=IFS1 addr=0x86 size=2 access='u u u u u u rw rw rw rw rw rw rw rw rw rw')
    reset (por='------0000000000' mclr='------0000000000')
    bit (names='- - - - - - U2TXIF U2RXIF INT2IF T5IF T4IF OC4IF OC3IF IC8IF IC7IF INT1IF')
    stimulus (scl=rwb)
sfr (key=IFS2 addr=0x88 size=2 access='u u u u rw u u rw rw u u u u u u u')
    reset (por='----0--00-------' mclr='----0--00-------')
    bit (names='- - - - FLTAIF - - QEIIF PWMIF - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x8a-0x8b)
sfr (key=IEC0 addr=0x8c size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='CNIE BCLIE I2CIE NVMIE ADIE U1TXIE U1RXIE SPI1IE T3IE T2IE OC2IE IC2IE T1IE OC1IE IC1IE INT0IE')
    stimulus (scl=rwb)
sfr (key=IEC1 addr=0x8e size=2 access='u u u u u u rw rw rw rw rw rw rw rw rw rw')
    reset (por='------0000000000' mclr='------0000000000')
    bit (names='- - - - - - U2TXIE U2RXIE INT2IE T5IE T4IE OC4IE OC3IE IC8IE IC7IE INT1IE')
    stimulus (scl=rwb)
sfr (key=IEC2 addr=0x90 size=2 access='u u u u rw u u rw rw u u u u u u u')
    reset (por='----0--00-------' mclr='----0--00-------')
    bit (names='- - - - FLTAIE - - QEIIE PWMIE - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x92-0x93)
sfr (key=IPC0 addr=0x94 size=2 access='u rw rw rw u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-100-100-100-100' mclr='-uuu-uuu-uuu-uuu')
    bit (names='- T1IP - OC1IP - IC1IP - INT0IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC1 addr=0x96 size=2 access='u rw rw rw u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-100-100-100-100' mclr='-uuu-uuu-uuu-uuu')
    bit (names='- T3IP - T2IP - OC2IP - IC2IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC2 addr=0x98 size=2 access='u rw rw rw u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-100-100-100-100' mclr='-uuu-uuu-uuu-uuu')
    bit (names='- ADIP - U1TXIP - U1RXIP - SPI1IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC3 addr=0x9a size=2 access='u rw rw rw u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-100-100-100-100' mclr='-uuu-uuu-uuu-uuu')
    bit (names='- CNIP - BCLIP - I2CIP - NVMIP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC4 addr=0x9c size=2 access='u rw rw rw u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-100-100-100-100' mclr='-uuu-uuu-uuu-uuu')
    bit (names='- OC3IP - IC8IP - IC7IP - INT1IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC5 addr=0x9e size=2 access='u rw rw rw u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-100-100-100-100' mclr='-uuu-uuu-uuu-uuu')
    bit (names='- INT2IP - T5IP - T4IP - OC4IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC6 addr=0xa0 size=2 access='u u u u u u u u u rw rw rw u rw rw rw')
    reset (por='---------100-100' mclr='---------uuu-uuu')
    bit (names='- - - - - - - - - U2TXIP - U2RXIP' width='1 1 1 1 1 1 1 1 1 3 1 3')
    stimulus (scl=rwb)
UnusedRegs (0xa2-0xa3)
UnusedRegs (0xa4-0xa5)
sfr (key=IPC9 addr=0xa6 size=2 access='u rw rw rw u u u u u u u u u u u u')
    reset (por='0100------------' mclr='uuuu------------')
    bit (names='- PWMIP - - - - - - - - - - - -' width='1 3 1 1 1 1 1 1 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=IPC10 addr=0xa8 size=2 access='u rw rw rw u u u u u u u u u rw rw rw')
    reset (por='-100---------100' mclr='-uuu---------uuu')
    bit (names='- FLTAIP - - - - - - - - - QEIIP' width='1 3 1 1 1 1 1 1 1 1 1 3')
    stimulus (scl=rwb)
#---
# NOTE:  The IPC11 is not used here because the IPC11 is used only on devices with  
# 8-channel MPWM, and this device only has a 6-channel MPWM.
# 
# sfr (key=IPC11 addr=0xaa size=2 access='u u u u u u u u u u u u u rw rw rw')
#    reset (por='-------------100' mclr='-------------uuu')
#    bit (names='- - - - - - - - - - - - - FLTBIP' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3')
#    stimulus (scl=rwb)
#---
UnusedRegs (0xaa-0xab)
UnusedRegs (0xac-0xaf)  # currently no IPC12 or IPC13
sfr (key=INTREG addr=0xb0 size=2 access='r rw u u r r r r u u r r r r r r')
    reset (por='00--0000--000000' mclr='00--0000--000000')
    bit (names='IRQtoCPU TMODE - - ILR - - VECNUM' width='1 1 1 1 4 1 1 6')
    stimulus (scl=rwb)
UnusedRegs (0xb2-0xbf)


                               # --------------#
#------------------------------# ICN Registers #-------------------------------------------------------------------------------------------#
                               # --------------#

sfr (key=CNEN1 addr=0xc0 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - CN7IE CN6IE CN5IE CN4IE CN3IE CN2IE CN1IE CN0IE')
    stimulus (scl=rwb)
sfr (key=CNEN2 addr=0xc2 size=2 access='u u u u u u u u u u u u u rw rw u')
    reset (por='-------------00-' mclr='-------------00-')
    bit (names='- - - - - - - - - - - - - CN18IE CN17IE -')
    stimulus (scl=rwb)
sfr (key=CNPU1 addr=0xc4 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - CN7PUE CN6PUE CN5PUE CN4PUE CN3PUE CN2PUE CN1PUE CN0PUE')
    stimulus (scl=rwb)
sfr (key=CNPU2 addr=0xc6 size=2 access='u u u u u u u u u u u u u rw rw u')
    reset (por='-------------00-' mclr='-------------00-')
    bit (names='- - - - - - - - - - - - - CN18PUE CN17PUE -')
    stimulus (scl=rwb)
UnusedRegs (0xc8-0xff)

                               # ----------------#
#------------------------------# TIMER Registers #-------------------------------------------------#
                               # ----------------#

sfr (key=TMR1 addr=0x100 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR1' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR1 addr=0x102 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='PR1' width='16')
    stimulus (scl=rwb type=int)
sfr (key=T1CON addr=0x104 size=2 access='rw u rw u u u u u u rw rw rw u rw rw u')
    reset (por='0-0------000-00-' mclr='0-0------uuu-uu-')
    bit (names='TON - TSIDL - - - - - - TGATE TCKPS - TSYNC TCS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=TMR2 addr=0x106 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR2' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR3HLD addr=0x108 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR3HLD' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR3 addr=0x10a size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR3' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR2 addr=0x10c size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='PR2' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR3 addr=0x10e size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='PR3' width='16')
    stimulus (scl=rwb type=int)
sfr (key=T2CON addr=0x110 size=2 access='rw u rw u u u u u u rw rw rw rw u rw u')
    reset (por='0-0------0000-0-' mclr='0-0------uuuu-u-')
    bit (names='TON - TSIDL - - - - - - TGATE TCKPS T32 - TCS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=T3CON addr=0x112 size=2 access='rw u rw u u u u u u rw rw rw u u rw u')
    reset (por='0-0------000--0-' mclr='0-0------uuu--u-')
    bit (names='TON - TSIDL - - - - - - TGATE TCKPS - - TCS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=TMR4 addr=0x114 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR4' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR5HLD addr=0x116 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR5HLD' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR5 addr=0x118 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='TMR5' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR4 addr=0x11a size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='PR4' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR5 addr=0x11c size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='PR5' width='16')
    stimulus (scl=rwb type=int)
sfr (key=T4CON addr=0x11e size=2 access='rw u rw u u u u u u rw rw rw rw u rw u')
    reset (por='0000000000000000' mclr='00000000uuuuuuuu')
    bit (names='TON - TSIDL - - - - - - TGATE TCKPS T45 - TCS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=T5CON addr=0x120 size=2 access='rw u rw u u u u u u rw rw rw u u rw u')
    reset (por='0000000000000000' mclr='00000000uuuuuuuu')
    bit (names='TON - TSIDL - - - - - - TGATE TCKPS - - TCS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)

                               # --------------#
#------------------------------# QEI Registers #----------------------------------------------------------------------------#
                               # --------------#

sfr (key=QEICON addr=0x122 size=2 access='rw rw rw r rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='CNTERR - QEISIDL INDX UPDN QEIM2 QEIM1 QEIM0 SWPAB PCDOUT TQGATE TQCKPS1 TQCKPS0 POSRES TQCS UPDN_CNT')
    stimulus (scl=rwb)
sfr (key=DFLTCON addr=0x124 size=2 access='u u u u u rw rw rw rw rw rw rw u u u u')
    reset (por='-----0000000----' mclr='-----uuuuuuu----')
    bit (names='- - - - - IMV1 IMV0 CEID QEOUT QECK2 QECK1 QECK0 - - - -')
    stimulus (scl=rwb)
sfr (key=POSCNT addr=0x126 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='POSCNT' width='16')
    stimulus (scl=rwb type=int)
sfr (key=MAXCNT addr=0x128 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='uuuuuuuuuuuuuuuu')
    bit (names='MAXCNT' width='16')
    stimulus (scl=rwb type=int)
UnusedRegs (0x12a-0x13f)


                               # ------------------------#
#------------------------------# Input Capture Registers #----------------------------------------------#
                               # ------------------------#

sfr (key=IC1BUF addr=0x140 size=2 access='r r r r r r r r r r r r r r r r')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='IC1BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC1CON addr=0x142 size=2 access='u u rw u u u u u rw rw rw r r rw rw rw')
    reset (por='--0-----00000000' mclr='--0-----00000000')
    bit (names='- - ICSIDL - - - - - ICTMR ICI ICOV ICBNE ICM' width='1 1 1 1 1 1 1 1 1 2 1 1 3' scltype='b b b b b b b b b i b b i')
    stimulus (scl=rwb)
sfr (key=IC2BUF addr=0x144 size=2 access='r r r r r r r r r r r r r r r r')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='IC2BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC2CON addr=0x146 size=2 access='u u rw u u u u u rw rw rw r r rw rw rw')
    reset (por='--0-----00000000' mclr='--0-----00000000')
    bit (names='- - ICSIDL - - - - - ICTMR ICI ICOV ICBNE ICM' width='1 1 1 1 1 1 1 1 1 2 1 1 3' scltype='b b b b b b b b b i b b i')
    stimulus (scl=rwb)
UnusedRegs (0x148-0x157)
sfr (key=IC7BUF addr=0x158 size=2 access='r r r r r r r r r r r r r r r r')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='IC7BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC7CON addr=0x15a size=2 access='u u rw u u u u u rw rw rw r r rw rw rw')
    reset (por='--0-----00000000' mclr='--0-----00000000')
    bit (names='- - ICSIDL - - - - - ICTMR ICI ICOV ICBNE ICM' width='1 1 1 1 1 1 1 1 1 2 1 1 3' scltype='b b b b b b b b b i b b i')
    stimulus (scl=rwb)
sfr (key=IC8BUF addr=0x15c size=2 access='r r r r r r r r r r r r r r r r')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='IC8BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC8CON addr=0x15e size=2 access='u u rw u u u u u rw rw rw r r rw rw rw')
    reset (por='--0-----00000000' mclr='--0-----00000000')
    bit (names='- - ICSIDL - - - - - ICTMR ICI ICOV ICBNE ICM' width='1 1 1 1 1 1 1 1 1 2 1 1 3' scltype='b b b b b b b b b i b b i')
    stimulus (scl=rwb)
UnusedRegs (0x160-0x17f)


                               # -------------------------#
#------------------------------# Output Compare Registers #---------------------------------------------#
                               # -------------------------#

sfr (key=OC1RS addr=0x180 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC1RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC1R addr=0x182 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC1R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC1CON addr=0x184 size=2 access='u u rw u u u u u u u u r rw rw rw rw')
    reset (por='--0--------00000' mclr='--0--------00000')
    bit (names='- - OCSIDL - - - - - - - - OCFLT OCTSEL OCM' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3' scltype='b b b b b b b b b b b b b i')
    stimulus (scl=rwb)
sfr (key=OC2RS addr=0x186 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC2RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC2R addr=0x188 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC2R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC2CON addr=0x18a size=2 access='u u rw u u u u u u u u r rw rw rw rw')
    reset (por='--0--------00000' mclr='--0--------00000')
    bit (names='- - OCSIDL - - - - - - - - OCFLT OCTSEL OCM' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3' scltype='b b b b b b b b b b b b b i')
    stimulus (scl=rwb)
sfr (key=OC3RS addr=0x18c size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC3RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC3R addr=0x18e size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC3R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC3CON addr=0x190 size=2 access='u u rw u u u u u u u u r rw rw rw rw')
    reset (por='--0--------00000' mclr='--0--------00000')
    bit (names='- - OCSIDL - - - - - - - - OCFLT OCTSEL OCM' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3' scltype='b b b b b b b b b b b b b i')
    stimulus (scl=rwb)
sfr (key=OC4RS addr=0x192 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC4RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC4R addr=0x194 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='OC4R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC4CON addr=0x196 size=2 access='u u rw u u u u u u u u r rw rw rw rw')
    reset (por='--0--------00000' mclr='--0--------00000')
    bit (names='- - OCSIDL - - - - - - - - OCFLT OCTSEL OCM' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3' scltype='b b b b b b b b b b b b b i')
    stimulus (scl=rwb)
UnusedRegs (0x198-0x1bf)


                               # --------------#
#------------------------------# PWM Registers #--------------------------------------------------------------------------------------#
                               # --------------#

sfr (key=PTCON addr=0x1c0 size=2 access='rw u rw u u u u u rw rw rw rw rw rw rw rw')
    reset (por='0-0-----00000000' mclr='0-0-----00000000')
    bit (names='PTEN - PTSIDL - - - - - PTOPS PTCKPS PTMOD' width='1 1 1 1 1 1 1 1 4 2 2')
    stimulus (scl=rwb)
sfr (key=PTMR addr=0x1c2 size=2 access='r rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PTDIR PTMR' width='1 15' scltype='b i')
    stimulus (scl=rwb)
sfr (key=PTPER addr=0x1c4 size=2 access='u rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='-000000000000000' mclr='-111111111111111')
    bit (names='- PTPER' width='1 15' scltype='b i')
    stimulus (scl=rwb)
sfr (key=SEVTCMP addr=0x1c6 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='SEVTDIR SEVTCMP' width='1 15' scltype='b i')
    stimulus (scl=rwb)
sfr (key=PWMCON1 addr=0x1c8 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----1111qqqqqqqq' mclr='----111100000000')
    bit (names='- - - - PTMOD4 PTMOD3 PTMOD2 PTMOD1 PEN4H PEN3H PEN2H PEN1H PEN4L PEN3L PEN2L PEN1L')
    stimulus (scl=rwb)
sfr (key=PWMCON2 addr=0x1ca size=2 access='u u u u rw rw rw rw u u u u u u rw rw')
    reset (por='----0000------00' mclr='----0000------00')
    bit (names='- - - - SEVOPS - - - - - - OSYNC UDIS' width='1 1 1 1 4 1 1 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=DTCON1 addr=0x1cc size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='DTBPS DTBVAL DTAPS DTAVAL' width='2 6 2 6')
    stimulus (scl=rwb)
#---
# NOTE:  The DTCON2 is not used here because the DTCON2 is used only on devices with  
# 8-channel MPWM, and this device only has a 6-channel MPWM.
# 
# sfr (key=DTCON2 addr=0x1ce size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
#    reset (por='--------00000000' mclr='--------00000000')
#    bit (names='- - - - - - - - DTS4A DTS4I DTS3A DTS3I DTS2A DTS2I DTS1A DTS1I')
#    stimulus (scl=rwb)
#---
UnusedRegs (0x1ce-0x1cf)
sfr (key=FLTACON addr=0x1d0 size=2 access='rw rw rw rw rw rw rw rw rw u u u rw rw rw rw')
    reset (por='000000000---0000' mclr='000000000---0000')
    bit (names='FAOV4H FAOV4L FAOV3H FAOV3L FAOV2H FAOV2L FAOV1H FAOV1L FLTAM - - - FAEN4 FAEN3 FAEN2 FAEN1')
    stimulus (scl=rwb)
#---
# NOTE:  The FLTBCON is not used here because the FLTBCON is used only on devices with  
# 8-channel MPWM, and this device only has a 6-channel MPWM.
# 
# sfr (key=FLTBCON addr=0x1d2 size=2 access='rw rw rw rw rw rw rw rw rw u u u rw rw rw rw')
#    reset (por='000000000---0000' mclr='000000000---0000')
#    bit (names='FBOV4H FBOV4L FBOV3H FBOV3L FBOV2H FBOV2L FBOV1H FBOV1L FLTBM - - - FBEN4 FBEN3 FBEN2 FBEN1')
#    stimulus (scl=rwb)
#---
UnusedRegs (0x1d2-0x1d3)
sfr (key=OVDCON addr=0x1d4 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111100000000' mclr='1111111100000000')
    bit (names='POVD4H POVD4L POVD3H POVD3L POVD2H POVD2L POVD1H POVD1L POUT4H POUT4L POUT3H POUT3L POUT2H POUT2L POUT1H POUT1L')
    stimulus (scl=rwb)
sfr (key=PDC1 addr=0x1d6 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PDC1' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PDC2 addr=0x1d8 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PDC2' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PDC3 addr=0x1da size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PDC3' width='16')
    stimulus (scl=rwb type=int)
#---
# NOTE:  The PDC4 is not used here because the PDC4 is used only on devices with  
# 8-channel MPWM, and this device only has a 6-channel MPWM.
# 
# sfr (key=PDC4 addr=0x1dc size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
#    reset (por='0000000000000000' mclr='0000000000000000')
#    bit (names='PDC4' width='16')
#    stimulus (scl=rwb type=int)
#---
UnusedRegs (0x1dc-0x1dd)
UnusedRegs (0x1de-0x1ff)

                               # --------------#
#------------------------------# I2C Registers #-------------------------------------------------------------#
                               # --------------#

sfr (key=I2CRCV addr=0x200 size=2 access='u u u u u u u u r r r r r r r r')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - I2CRCV' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=I2CTRN addr=0x202 size=2 access='u u u u u u u u w w w w w w w w')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - I2CTRN' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=I2CBRG addr=0x204 size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='-------000000000' mclr='-------000000000')
    bit (names='- - - - - - - I2CBRG' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rwb)
sfr (key=I2CCON addr=0x206 size=2 access='rw u rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-01000000000000' mclr='0-00000000000000')
    bit (names='I2CEN - I2CSIDL SCLREL IPMIEN A10M DISSLW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN')
    stimulus (scl=rwb)
sfr (key=I2CSTAT addr=0x208 size=2 access='r r u u u rc r r rc rc r rc rc r r r')
    reset (por='00---00000000000' mclr='00---00000000000')
    bit (names='ACKSTAT TRSTAT - - - BCL GCSTAT ADD10 IWCOL I2COV D/nA P S R/nW RBF TBF')
    bit (tag=scl names='ACKSTAT TRSTAT - - - BCL GCSTAT ADD10 IWCOL I2COV D_nA P S R_nW RBF TBF')
    stimulus (scl=rwb)
sfr (key=I2CADD addr=0x20a size=2 access='u u u u u u rw rw rw rw rw rw rw rw rw rw')
    reset (por='------0000000000' mclr='------0000000000')
    bit (names='- - - - - - I2CADD' width='1 1 1 1 1 1 10')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# UART1 Registers #----------------------------------------------------------------#
                               # ----------------#

sfr (key=U1MODE addr=0x20c size=2 access='rw u rw u u rw u u rw rw rw u u rw rw rw')
    reset (por='0-0--0--000--000' mclr='0-0--0--000--000')
    bit (names='UARTEN - USIDL - - ALTIO - - WAKE LPBACK ABAUD - - PDSEL STSEL' width='1 1 1 1 1 1 1 1 1 1 1 1 1 2 1')
    stimulus (scl=rwb)
sfr (key=U1STA addr=0x20e size=2 access='rw u u u rw rw r r rw rw rw r r r rc r')
    reset (por='0---000100010000' mclr='0---000100010000')
    bit (names='UTXISEL - - - UTXBRK UTXEN UTXBF TRMT URXISEL ADDEN RIDLE PERR FERR OERR URXDA' width='1 1 1 1 1 1 1 1 2 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=U1TXREG addr=0x210 size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='-------xxxxxxxxx' mclr='-------000000000')
    bit (names='- - - - - - - TX' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rwb regfiles=w)
sfr (key=U1RXREG addr=0x212 size=2 access='u u u u u u u r r r r r r r r r')
    reset (por='-------000000000' mclr='-------000000000')
    bit (names='- - - - - - - RX' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rb regfiles=rp)
sfr (key=U1BRG addr=0x214 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='BRG' width='16')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# UART2 Registers #-------------------------------------------------#
                               # ----------------#

sfr (key=U2MODE addr=0x216 size=2 access='rw u rw u u u u u rw rw rw u u rw rw rw')
    reset (por='0-0-----000--000' mclr='0-0-----000--000')
    bit (names='UARTEN - USIDL - - - - - WAKE LPBACK ABAUD - - PDSEL STSEL' width='1 1 1 1 1 1 1 1 1 1 1 1 1 2 1')
    stimulus (scl=rwb)
sfr (key=U2STA addr=0x218 size=2 access='rw u u u rw rw r r rw rw rw r r r rc r')
    reset (por='0---000100010000' mclr='0---000100010000')
    bit (names='UTXISEL - - - UTXBRK UTXEN UTXBF TRMT URXISEL ADDEN RIDLE PERR FERR OERR URXDA' width='1 1 1 1 1 1 1 1 2 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=U2TXREG addr=0x21a size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='-------xxxxxxxxx' mclr='-------000000000')
    bit (names='- - - - - - - TX' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rwb regfiles=w)
sfr (key=U2RXREG addr=0x21c size=2 access='u u u u u u u r r r r r r r r r')
    reset (por='-------000000000' mclr='-------000000000')
    bit (names='- - - - - - - RX' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rb regfiles=rp)
sfr (key=U2BRG addr=0x21e size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='BRG' width='16')
    stimulus (scl=rwb)

                               # ---------------#
#------------------------------# SPI1 Registers #------------------------------------------------------------#
                               # ---------------#

sfr (key=SPI1STAT addr=0x220 size=2 access='rw u rw u u u u u u rc u u u u r r')
    reset (por='0-0------0----00' mclr='0-0------0----00')
    bit (names='SPIEN - SPISIDL - - - - - - SPIROV - - - - SPITBF SPIRBF')
    stimulus (scl=rwb)
sfr (key=SPI1CON addr=0x222 size=2 access='u rw rw u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='-00-000000000000' mclr='-00-000000000000')
    bit (names='- FRMEN SPIFSD - DISSDO MODE16 SMP CKE SSEN CKP MSTEN SPRE2 SPRE1 SPRE0 PPRE1 PPRE0')
    stimulus (scl=rwb)
sfr (key=SPI1BUF addr=0x224 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='SPI1BUF' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)

                               # ---------------#
#------------------------------# SPI2 Registers #--------------------------------------------------#
                               # ---------------#

UnusedRegs (0x226-0x22b)
UnusedRegs (0x22c-0x23f)

                               # --------------#
#------------------------------# DCI Registers #---------------------------------------------------#
                               # --------------#

UnusedRegs (0x240-0x25f)
UnusedRegs (0x260-0x27f)


                               # ---------------#
#------------------------------# HADC Registers #---------------------------------------------------------------------------#
                               # ---------------#

sfr (key=ADCBUF0 addr=0x280 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF0' width='1 1 1 1 1 1 10')
    stimulus (scl=rb regfiles=r)
sfr (key=ADCBUF1 addr=0x282 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF1' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF2 addr=0x284 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF2' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF3 addr=0x286 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF3' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF4 addr=0x288 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF4' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF5 addr=0x28a size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF5' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF6 addr=0x28c size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF6' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF7 addr=0x28e size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF7' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF8 addr=0x290 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF8' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUF9 addr=0x292 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUF9' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUFA addr=0x294 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUFA' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUFB addr=0x296 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUFB' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUFC addr=0x298 size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUFC' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUFD addr=0x29a size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUFD' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUFE addr=0x29c size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUFE' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCBUFF addr=0x29e size=2 access='u u u u u u r r r r r r r r r r')
    reset (por='------xxxxxxxxxx' mclr='------uuuuuuuuuu')
    bit (names='- - - - - - ADCBUFF' width='1 1 1 1 1 1 10')
    stimulus (scl=rb)
sfr (key=ADCON1 addr=0x2a0 size=2 access='rw u rw u u u rw rw rw rw rw u rw rw rw rc')
    reset (por='0-0---00000-0000' mclr='0-0---00000-0000')
    bit (names='ADON - ADSIDL - - - FORM SSRC - SIMSAM ASAM SAMP DONE' width='1 1 1 1 1 1 2 3 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=ADCON2 addr=0x2a2 size=2 access='rw rw rw rw u rw rw rw r u rw rw rw rw rw rw')
    reset (por='0000-0000-000000' mclr='0000-0000-000000')
    bit (names='VCFG OFFCAL - CSCNA CHPS BUFS - SMPI BUFM ALTS' width='3 1 1 1 2 1 1 4 1 1')
    stimulus (scl=rwb)
sfr (key=ADCON3 addr=0x2a4 size=2 access='u u u rw rw rw rw rw rw u rw rw rw rw rw rw')
    reset (por='---000000-000000' mclr='---000000-000000')
    bit (names='- - - SAMC ADRC - ADCS' width='1 1 1 5 1 1 6')
    stimulus (scl=rwb)
sfr (key=ADCHS addr=0x2a6 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='CHXNB CHXSB CH0NB CH0SB CHXNA CHXSA CH0NA CH0SA' width='2 1 1 4 2 1 1 4')
    stimulus (scl=rwb)
sfr (key=ADPCFG addr=0x2a8 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PCFG' width='16')
    stimulus (scl=rwb)
sfr (key=ADCSSL addr=0x2aa size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='CSSL' width='16')
    stimulus (scl=rwb)
UnusedRegs (0x2ac-0x2bf)


                               # ----------------#
#------------------------------# PORTA Registers #-------------------------------------------------#
                               # ----------------#

UnusedRegs (0x2c0-0x2c5)

                               # ----------------#
#------------------------------# PORTB Registers #-----------------------------------------------------------------------------------------#
                               # ----------------#

sfr (key=TRISB addr=0x2c6 size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='- - - - - - - TRISB8 TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0')
    bit (tag=scl names='TRISB' width='16')
    stimulus (scl=rwb)
sfr (key=PORTB addr=0x2c8 size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - RB8 RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0')
    bit (tag=scl names='RB' width='16')
    stimulus (scl=rwb)
sfr (key=LATB addr=0x2ca size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - LATB8 LATB7 LATB6 LATB5 LATB4 LATB3 LATB2 LATB1 LATB0')
    bit (tag=scl names='LATB' width='16')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# PORTC Registers #---------------------------------------#
                               # ----------------#

sfr (key=TRISC addr=0x2cc size=2 access='rw rw rw u u u u u u u u u u u u u')
    reset (por='1110000000011110' mclr='1110000000011111')
    bit (names='TRISC15 TRISC14 TRISC13 - - - - - - - - - - - - -')
    bit (tag=scl names='TRISC' width='16')
    stimulus (scl=rwb)
sfr (key=PORTC addr=0x2ce size=2 access='rw rw rw u u u u u u u u u u u u u')
    reset (por='xxx00000000xxxx0' mclr='uuuuuuuuuuuuuuuu')
    bit (names='RC15 RC14 RC13 - - - - - - - - - - - - -')
    bit (tag=scl names='RC' width='16')
    stimulus (scl=rwb)
sfr (key=LATC addr=0x2d0 size=2 access='rw rw rw u u u u u u u u u u u u u')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='LATC15 LATC14 LATC13 - - - - - - - - - - - - -')
    bit (tag=scl names='LATC' width='16')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# PORTD Registers #-----------------------------------------------------------------------------------------#
                               # ----------------#

sfr (key=TRISD addr=0x2d2 size=2 access='u u u u u u u u u u u u rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='- - - - - - - - - - - - TRISD3 TRISD2 TRISD1 TRISD0')
    bit (tag=scl names='TRISD' width='16')
    stimulus (scl=rwb)
sfr (key=PORTD addr=0x2d4 size=2 access='u u u u u u u u u u u u rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - - - - - - RD3 RD2 RD1 RD0')
    bit (tag=scl names='RD' width='16')
    stimulus (scl=rwb)
sfr (key=LATD addr=0x2d6 size=2 access='u u u u u u u u u u u u rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - - - - - - LATD3 LATD2 LATD1 LATD0')
    bit (tag=scl names='LATD' width='16')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# PORTE Registers #------------------------------------------------------#
                               # ----------------#

sfr (key=TRISE addr=0x2d8 size=2 access='u u u u u u u rw u u rw rw rw rw rw rw')
    reset (por='0000001111111111' mclr='0000001111111111')
    bit (names='- - - - - - - TRISE8 - - TRISE5 TRISE4 TRISE3 TRISE2 TRISE1 TRISE0') 
    bit (tag=scl names='TRISE' width='16')
    stimulus (scl=rwb)
sfr (key=PORTE addr=0x2da size=2 access='u u u u u u u rw u u rw rw rw rw rw rw')
    reset (por='000000xxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - RE8 - - RE5 RE4 RE3 RE2 RE1 RE0')
    bit (tag=scl names='RE' width='16')
    stimulus (scl=rwb)
sfr (key=LATE addr=0x2dc size=2 access='u u u u u u u rw u u rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - LATE8 - - LATE5 LATE4 LATE3 LATE2 LATE1 LATE0')
    bit (tag=scl names='LATE' width='16')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# PORTF Registers #-------------------------------------------------#
                               # ----------------#

sfr (key=TRISF addr=0x2de size=2 access='u u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0011000111111111' mclr='0011000111111111')
    bit (names='- - - - - - - - - TRISF6 TRISF5 TRISF4 TRISF3 TRISF2 TRISF1 TRISF0')
    bit (tag=scl names='TRISF' width='16')
    stimulus (scl=rwb)
sfr (key=PORTF addr=0x2e0 size=2 access='u u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='00xx0001xxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - - - RF6 RF5 RF4 RF3 RF2 RF1 RF0')
    bit (tag=scl names='RF' width='16')
    stimulus (scl=rwb)
sfr (key=LATF addr=0x2e2 size=2 access='u u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - - - - - - LATF6 LATF5 LATF4 LATF3 LATF2 LATF1 LATF0')
    bit (tag=scl names='LATF' width='16')
    stimulus (scl=rwb)

                               # ----------------#
#------------------------------# PORTG Registers #-------------------------------------------------#
                               # ----------------#

UnusedRegs (0x2e4-0x2e9)
UnusedRegs (0x2ea-0x2ff)

                               # ---------------#
#------------------------------# CAN1 Registers #--------------------------------------------------#
                               # ---------------#

UnusedRegs (0x300-0x3ff)

                               # ---------------#
#------------------------------# CAN2 Registers #--------------------------------------------------#
                               # ---------------#

UnusedRegs (0x400-0x4ff)
UnusedRegs (0x500-0x73f)

                               # --------------#
#------------------------------# SIB Registers #----------------------------------------------------------------------------#
                               # --------------#

sfr (key=RCON addr=0x740 size=2 access='rw rw u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='00------00000011' mclr='uu------1uuuuuuu')
    bit (names='TRAPR IOPUWR - - - - - - EXTR SWR SWDTEN WDTO SLEEP IDLE BOR POR' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1')
    stimulus (scl=r)
sfr (key=OSCCON addr=0x742 size=2 access='u r r r u rw rw rw rw rw r u rc u rw rw')
    reset (por='-yyy-yyy000-0-00' mclr='-yyy-yyy000-0-00')
    bit (names='- COSC - NOSC POST LOCK - CF - LPOSCEN OSWEN' width='1 3 1 3 2 1 1 1 1 1 1')
    stimulus (scl=r)
UnusedRegs (0x744-0x74f)

                               # -------------------#
#------------------------------# Security Registers #----------------------------------------------#
                               # -------------------#

UnusedRegs (0x750-0x755)
UnusedRegs (0x756-0x75f)

                               # --------------#
#------------------------------# NVM Registers #---------------------------------------------------#
                               # --------------#

sfr (key=NVMCON addr=0x760 size=2 access='rw rw rw u u u u u u rw rw rw rw rw rw rw')
    reset (por='000------0000000' mclr='000------0000000')
    bit (names='WR WREN WRERR - - - - - - PROGOP' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=r)
sfr (key=NVMADR addr=0x762 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='0000000000000000')
    bit (names='NVMADR' width='16')
    stimulus (scl=r type=int)
sfr (key=NVMADRU addr=0x764 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------xxxxxxxx' mclr='--------00000000')
    bit (names='- - - - - - - - NVMADR' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=r)
sfr (key=NVMKEY addr=0x766 size=2 access='u u u u u u u u w w w w w w w w')
    reset (por='--------00000000' mclr='--------00000000')
    bit (names='- - - - - - - - KEY' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=r)
UnusedRegs (0x768-0x76f)

                               # --------------#
#------------------------------# PMD Registers #-----------------------------------------------------------------------#
                               # --------------#

sfr (key=PMD1 addr=0x770 size=2 access='rw rw rw rw rw rw rw u rw rw rw u rw u u rw')
    reset (por='0000000-000-0--0' mclr='0000000-000-0--0')
    bit (names='T5MD T4MD T3MD T2MD T1MD QEIMD PWMMD - I2CMD U2MD U1MD - SPI1MD - - ADCM')
    stimulus (scl=rw)
sfr (key=PMD2 addr=0x772 size=2 access='rw rw u u u u rw rw u u u u rw rw rw rw')
    reset (por='00----00----0000' mclr='00----00----0000')
    bit (names='IC8MD IC7MD - - - - IC2MD IC1MD - - - - OC4MD OC3MD OC2MD 0C1MD')
    stimulus (scl=rw)
UnusedRegs (0x774-0x775)
UnusedRegs (0x776-0x7ff)




                               # -------------------#
#------------------------------# Configuration Bits #------------------------------------#
                               # -------------------#

cfgbits (key=FOSC addr=0xF80000 unused=0x0000)
    field (key=FCKSMEN mask=0xC000 desc="Clock Switching and Monitor" init=0xC000)
        setting (req=0x8000 value=0x8000 desc="Sw Disabled, Mon Disabled")
        setting (req=0xC000 value=0x4000 desc="Sw Enabled, Mon Disabled")
        setting (req=0xC000 value=0x0000 desc="Sw Enabled, Mon Enabled")
#    field (key=FOSFPR mask=0x071F desc="Oscillator" init=0x030B)
    field (key=FOSFPR mask=0x071F desc="Oscillator" init=0x0100)
        setting (req=0x071F value=0x070D desc="ECIO w/PLL 4x")
        setting (req=0x071F value=0x070E desc="ECIO w/PLL 8x")
        setting (req=0x071F value=0x070F desc="ECIO w/PLL 16x")
        setting (req=0x071F value=0x0701 desc="FRC w/PLL 4x")
        setting (req=0x071F value=0x070A desc="FRC w/PLL 8x")
        setting (req=0x071F value=0x0703 desc="FRC w/PLL 16x")
        setting (req=0x071F value=0x0705 desc="XT w/PLL 4x")
        setting (req=0x071F value=0x0706 desc="XT w/PLL 8x")
        setting (req=0x071F value=0x0707 desc="XT w/PLL 16x")
        setting (req=0x071F value=0x0711 desc="HS2 w/PLL 4x")
        setting (req=0x071F value=0x0712 desc="HS2 w/PLL 8x")
        setting (req=0x071F value=0x0713 desc="HS2 w/PLL 16x")
        setting (req=0x071F value=0x0715 desc="HS3 w/PLL 4x")
        setting (req=0x071F value=0x0716 desc="HS3 w/PLL 8x")
        setting (req=0x071F value=0x0717 desc="HS3 w/PLL 16x")
        setting (req=0x071F value=0x030C desc="ECIO")
        setting (req=0x071F value=0x0304 desc="XT")
        setting (req=0x071F value=0x0302 desc="HS")
        setting (req=0x071F value=0x030B desc="EC")
        setting (req=0x071F value=0x0309 desc="ERC")
        setting (req=0x071F value=0x0308 desc="ERCIO")
        setting (req=0x071F value=0x0300 desc="XTL")
        setting (req=0x0700 value=0x0000 desc="Low-Power 32KHz Osc (No change to Primary Osc Mode bits)")
        setting (req=0x0700 value=0x0100 desc="Internal Fast RC (No change to Primary Osc Mode bits)")
        setting (req=0x0700 value=0x0200 desc="Internal Low-Power RC (No change to Primary Osc Mode bits)")
cfgbits (key=FWDT addr=0xF80002 unused=0x0000)
    # Using MSS1 DOS-200 Rev E p60 locations
    # Using WDT DOS-212 Rev A p5 values
    field (key=WDT mask=0x8000 desc="Watchdog Timer" min=2)
        setting (req=0x8000 value=0x8000 desc="Enabled")
        setting (req=0x8000 value=0x0000 desc="Disabled")
    field (key=FWPSA mask=0x0030 desc="WDT Prescaler A")
        setting (req=0x30 value=0x00 desc="1:1")
        setting (req=0x30 value=0x10 desc="1:8")
        setting (req=0x30 value=0x20 desc="1:64")
        setting (req=0x30 value=0x30 desc="1:512")
    field (key=FWPSB mask=0x000F desc="WDT Prescaler B")
        setting (req=0xf value=0x0 desc="1:1")
        setting (req=0xf value=0x1 desc="1:2")
        setting (req=0xf value=0x2 desc="1:3")
        setting (req=0xf value=0x3 desc="1:4")
        setting (req=0xf value=0x4 desc="1:5")
        setting (req=0xf value=0x5 desc="1:6")
        setting (req=0xf value=0x6 desc="1:7")
        setting (req=0xf value=0x7 desc="1:8")
        setting (req=0xf value=0x8 desc="1:9")
        setting (req=0xf value=0x9 desc="1:10")
        setting (req=0xf value=0xa desc="1:11")
        setting (req=0xf value=0xb desc="1:12")
        setting (req=0xf value=0xc desc="1:13")
        setting (req=0xf value=0xd desc="1:14")
        setting (req=0xf value=0xe desc="1:15")
        setting (req=0xf value=0xf desc="1:16")
cfgbits (key=FBORPOR addr=0xF80004 unused=0x0000)
    # PWM DOS-208 Rev C p28 (PIN POL)
    # SIB DOS-214 Rev B p42 (BOR/POR)
    field (key=MCLRE mask=0x8000 desc="Master Clear Enable")
        setting (req=0x8000 value=0x8000 desc="Enabled")
        setting (req=0x8000 value=0x0000 desc="Disabled")
    field (key=PWMPIN mask=0x0400 desc="PWM Output Pin Reset")
        setting (req=0x0400 value=0x400 desc="Control with PORT/TRIS regs")
        setting (req=0x0400 value=0x000 desc="Control with HPOL/LPOL bits")
    field (key=HPOL mask=0x0200 desc="High-side PWM Output Polarity")
        setting (req=0x0200 value=0x0200 desc="Active High")
        setting (req=0x0200 value=0x0000 desc="Active Low")
    field (key=LPOL mask=0x0100 desc="Low-side PWM Output Polarity")
        setting (req=0x0100 value=0x0100 desc="Active High")
        setting (req=0x0100 value=0x0000 desc="Active Low")
    field (key=BOREN mask=0x0080 desc="PBOR Enable")
        setting (req=0x0080 value=0x80 desc="Enabled")
        setting (req=0x0080 value=0x00 desc="Disabled")
    field (key=BODENV mask=0x0030 desc="Brown Out Voltage")
        setting (req=0x0030 value=0x00 desc="4.5V")
        setting (req=0x0030 value=0x10 desc="4.2V")
        setting (req=0x0030 value=0x20 desc="2.7V")
        setting (req=0x0030 value=0x30 desc="2.0V")
    field (key=FPWRT mask=0x0003 desc="POR Timer Value")
        setting (req=0x3 value=0x0 desc="Timer Disabled")
        setting (req=0x3 value=0x1 desc="4ms")
        setting (req=0x3 value=0x2 desc="16ms")
        setting (req=0x3 value=0x3 desc="64ms")

cfgbits (key=RESERVED1 addr=0xF80006 unused=0x0000)
    field (key=RES1 mask=0x3000 desc="Reserved" flags=h)
        setting (req=0x3000 value=0x3000 desc="Reserved")
    field (key=RES2 mask=0x100 desc="Reserved" flags=h)
        setting (req=0x100 value=0x100 desc="Reserved")
    field (key=RES3 mask=0xF desc="Reserved" flags=h)
        setting (req=0xF value=0xF desc="Reserved")

cfgbits (key=RESERVED2 addr=0xF80008 unused=0x0000)
    field (key=RES1 mask=0x3000 desc="Reserved" flags=h)
        setting (req=0x3000 value=0x3000 desc="Reserved")
    field (key=RES2 mask=0x300 desc="Reserved" flags=h)
        setting (req=0x300 value=0x300 desc="Reserved")
    field (key=RES3 mask=0xF desc="Reserved" flags=h)
        setting (req=0xF value=0xF desc="Reserved")

cfgbits (key=FGS addr=0xF8000A unused=0x0000)
    # Combined with reserve bit, since they are tied in silicon and included in csum
    field (key=GCP mask=0x0006 desc="General Code Segment Code Protect")
        setting (req=0x0006 value=0x0006 desc="Disabled")
            checksum (type=0x0 protregion=0x00-0x00)
        setting (req=0x0006 value=0x0000 desc="Enabled")
            checksum (type=0x27 protregion=0x0000-0x3FFF)
    field (key=GWRP mask=0x0001 desc="General Code Segment Write Protect")
        setting (req=0x0001 value=0x0001 desc="Disabled")
        setting (req=0x0001 value=0x0000 desc="Enabled")

cfgbits (key=ICD addr=0xF8000C unused=0x4000)
    # Emulation DOS-266 Rev A p17
    field (key=BACKBUG mask=0x8000 desc="Background Debug" flags=h)
        setting (req=0x8000 value=0x8000 desc="Disabled")
        setting (req=0x8000 value=0x0000 desc="Enabled")
    field (key=COE mask=0x4000 desc="Set Clip On Emulation Mode" flags=h)
        setting (req=0x4000 value=0x4000 desc="Reset Into Operational Mode")
        setting (req=0x4000 value=0x0000 desc="Reset Into Clip On Emulation Mode")
    field (key=ICS mask=0x0003 desc="Comm Channel Select")
        setting (req=0x0003 value=0x3 desc="Use PGC/EMUC and PGD/EMUD")
        setting (req=0x0003 value=0x2 desc="Use EMUC1 and EMUD1")
        setting (req=0x0003 value=0x1 desc="Use EMUC2 and EMUD2")
        setting (req=0x0003 value=0x0 desc="Use EMUC3 and EMUD3")

                               # ------------#
#------------------------------# Peripherals #------------------------------------#
                               # ------------#

#--------------------------------------------------------------------------------
# Note: nextpin=NONE when next pinfunc is a portpin (eg RB3), CNx, or INTx.
# nextperiph=NONE when nextpin=NONE
#--------------------------------------------------------------------------------


#--------------------------------------------------------------------------------
# 				UARTs
#--------------------------------------------------------------------------------

peripheral (key=UART1 sfrs='U1MODE U1STA U1TXREG U1RXREG U1BRG')
    pinfunc (key=U1RX port=RF2 dir=in nextperiph=SPI1 nextpin=SDI1)
    pinfunc (key=U1TX port=RF3 dir=out nextperiph=SPI1 nextpin=SDO1)
    pinfunc (key=U1ARX port=RC14 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=U1ATX port=RC13 dir=out nextperiph=NONE nextpin=NONE)
    interrupt (name=RXINT1 enreg=IEC0 enmask=0x0200 flgreg=IFS0 flgmask=0x0200 prireg=IPC2 primask=0x0070)
    interrupt (name=TXINT1 enreg=IEC0 enmask=0x0400 flgreg=IFS0 flgmask=0x0400 prireg=IPC2 primask=0x0700)

peripheral (key=UART2 sfrs='U2MODE U2STA U2TXREG U2RXREG U2BRG')
    pinfunc (key=U2RX port=RF4 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=U2TX port=RF5 dir=out nextperiph=NONE nextpin=NONE)
# ----------------------------------------------------------
# Do not uncomment unless this device contains a 4-pin UART2 
# (vs. a 2-PIN UART2) and you fill in the blank fields below.
#    pinfunc (key=U2CTS port= dir=in nextperiph= nextpin=)
#    pinfunc (key=U2RTS port= dir=out nextperiph= nextpin=)
# ----------------------------------------------------------
    interrupt (name=RXINT2 enreg=IEC1 enmask=0x0100 flgreg=IFS1 flgmask=0x0100 prireg=IPC6 primask=0x0007)
    interrupt (name=TXINT2 enreg=IEC1 enmask=0x0200 flgreg=IFS1 flgmask=0x0200 prireg=IPC6 primask=0x0070)

#--------------------------------------------------------------------------------
# 				PORTB
#--------------------------------------------------------------------------------

peripheral (key=PORTB sfrs='TRISB LATB PORTB INTCON2 CNEN1' type=port)
    iopin (key=RB0 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN2 enreg=CNEN1 enmask=0x0004)
    iopin (key=RB1 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN3 enreg=CNEN1 enmask=0x0008)
    iopin (key=RB2 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN4 enreg=CNEN1 enmask=0x0010)
    iopin (key=RB3 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN5 enreg=CNEN1 enmask=0x0020)
    iopin (key=RB4 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN6 enreg=CNEN1 enmask=0x0040)
        cnpin (key=IC8 notify=IC8)
    iopin (key=RB5 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN7 enreg=CNEN1 enmask=0x0080)
        cnpin (key=IC7 notify=IC7)
    iopin (key=RB6 dir=inout)
        cnpin (key=OCFA notify=OC1)
        cnpin (key=OCFA notify=OC2)
        cnpin (key=OCFA notify=OC3)
        cnpin (key=OCFA notify=OC4)
    iopin (key=RB7 dir=inout)
    iopin (key=RB8 dir=inout)

#--------------------------------------------------------------------------------
# 				PORTC
#--------------------------------------------------------------------------------

peripheral (key=PORTC sfrs='TRISC LATC PORTC INTCON2 CNEN1' type=port)
    iopin (key=RC13 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN1 enreg=CNEN1 enmask=0x0002)
    iopin (key=RC14 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN0 enreg=CNEN1 enmask=0x0001)
    iopin (key=RC15 dir=inout)

#--------------------------------------------------------------------------------
# 				PORTD
#--------------------------------------------------------------------------------

peripheral (key=PORTD sfrs='TRISD LATD PORTD INTCON2 CNEN1' type=port)
    iopin (key=RD0 dir=inout)
        extint (key=INT1 enreg=IEC1 enmask=0x0001 flgreg=IFS1 flgmask=0x0001 prireg=IPC4 primask=0x0007)
        cnpin (key=IC1 notify=IC1)
    iopin (key=RD1 dir=inout)
        extint (key=INT2 enreg=IEC1 enmask=0x0080 flgreg=IFS1 flgmask=0x0080 prireg=IPC5 primask=0x7000)
        cnpin (key=IC2 notify=IC2)
    iopin (key=RD2 dir=inout)
    iopin (key=RD3 dir=inout)

#--------------------------------------------------------------------------------
# 				PORTE
#--------------------------------------------------------------------------------

peripheral (key=PORTE sfrs='TRISE LATE PORTE INTCON2 CNEN1' type=port)
    iopin (key=RE0 dir=inout)
    iopin (key=RE1 dir=inout)
    iopin (key=RE2 dir=inout)
    iopin (key=RE3 dir=inout)
    iopin (key=RE4 dir=inout)
    iopin (key=RE5 dir=inout)
    iopin (key=RE8 dir=inout)
        extint (key=INT0 enreg=IEC0 enmask=0x0001 flgreg=IFS0 flgmask=0x0001 prireg=IPC0 primask=0x0007)
        cnpin (key=FLTA notify=PWM)

#--------------------------------------------------------------------------------
# 				PORTF
#--------------------------------------------------------------------------------

peripheral (key=PORTF sfrs='TRISF LATF PORTF INTCON2 CNEN1 CNEN2' type=port)
    iopin (key=RF0 dir=inout)
    iopin (key=RF1 dir=inout)
    iopin (key=RF2 dir=inout)
    iopin (key=RF3 dir=inout)
    iopin (key=RF4 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN17 enreg=CNEN17 enmask=0x0002)
    iopin (key=RF5 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN18 enreg=CNEN18 enmask=0x0004)
    iopin (key=RF6 dir=inout)


#--------------------------------------------------------------------------------
# 				TIMERs
#--------------------------------------------------------------------------------

peripheral (key=TMR1 sfrs='TMR1 PR1 T1CON')
    pinfunc (key=T1CK port=RC14 dir=in nextperiph=UART1 nextpin=U1ARX)
    interrupt (name=TMR1INT enreg=IEC0 enmask=0x0008 flgreg=IFS0 flgmask=0x0008 prireg=IPC0 primask=0x7000)

peripheral (key=TMR2 sfrs='TMR2 PR2 T2CON TMR3 TMR3HLD PR3 T3CON')
    pinfunc (key=T2CK port=RC13 dir=in nextperiph=UART1 nextpin=U1ATX)
    interrupt (name=TMR2INT enreg=IEC0 enmask=0x0040 flgreg=IFS0 flgmask=0x0040 prireg=IPC1 primask=0x0700)

peripheral (key=TMR3 sfrs='TMR3 TMR3HLD PR3 T3CON')
    interrupt (name=TMR3INT enreg=IEC0 enmask=0x0080 flgreg=IFS0 flgmask=0x0080 prireg=IPC1 primask=0x7000)

peripheral (key=TMR4 sfrs='TMR4 PR4 T4CON TMR5 TMR5HLD PR5 T5CON')
    interrupt (name=TMR4INT enreg=IEC1 enmask=0x0020 flgreg=IFS1 flgmask=0x0020 prireg=IPC5 primask=0x0070)

peripheral (key=TMR5 sfrs='TMR5 TMR5HLD PR5 T5CON')
    interrupt (name=TMR5INT enreg=IEC1 enmask=0x0040 flgreg=IFS1 flgmask=0x0040 prireg=IPC5 primask=0x0700)

#--------------------------------------------------------------------------------
# 				HADC
#--------------------------------------------------------------------------------

peripheral (key=HADC sfrs='ADCON1 ADCON2 ADCON3 ADCHS ADPCFG ADCSSL ADCBUF0 ADCBUF1 ADCBUF2 ADCBUF3 ADCBUF4 ADCBUF5 ADCBUF6 ADCBUF7 ADCBUF8 ADCBUF9 ADCBUFA ADCBUFB ADCBUFC ADCBUFD ADCBUFE ADCBUFF')
    pinfunc (key=AN0 port=RB0 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN1 port=RB1 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN2 port=RB2 dir=in nextperiph=SPI1 nextpin=SS1)
    pinfunc (key=AN3 port=RB3 dir=in nextperiph=QEI nextpin=INDX)
    pinfunc (key=AN4 port=RB4 dir=in nextperiph=QEI nextpin=QEA)
    pinfunc (key=AN5 port=RB5 dir=in nextperiph=QEI nextpin=QEB)
    pinfunc (key=AN6 port=RB6 dir=in nextperiph=OC1_4 nextpin=OCFA)
    pinfunc (key=AN7 port=RB7 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN8 port=RB8 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=ADCINT enreg=IEC0 enmask=0x0800 flgreg=IFS0 flgmask=0x0800 prireg=IPC2 primask=0x7000)

#--------------------------------------------------------------------------------
# 				PWM
#--------------------------------------------------------------------------------

peripheral (key=PWM sfrs='PTCON PTMR PTPER SEVTCMP PWMCON1 PWMCON2 DTCON1 FLTACON PDC1 PDC2 PDC3 OVDCON')
    pinfunc (key=PWM1L port=RE0 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=PWM1H port=RE1 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=PWM2L port=RE2 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=PWM2H port=RE3 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=PWM3L port=RE4 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=PWM3H port=RE5 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=PWMFLTA port=RE8 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=PWMINT enreg=IEC2 enmask=0x0080 flgreg=IFS2 flgmask=0x0080 prireg=IPC9 primask=0x7000)
    interrupt (name=FLTAINT enreg=IEC2 enmask=0x0800 flgreg=IFS2 flgmask=0x0800 prireg=IPC10 primask=0x7000)

#--------------------------------------------------------------------------------
# 				Input Capture
#--------------------------------------------------------------------------------

peripheral (key=IC1 sfrs='IC1CON IC1BUF')
    timers (addr=0x142 mask=0x0080)	 #IC1CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC1 port=RD0 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC1INT enreg=IEC0 enmask=0x0002 flgreg=IFS0 flgmask=0x0002 prireg=IPC0 primask=0x0070)

peripheral (key=IC2 sfrs='IC2CON IC2BUF')
    timers (addr=0x146 mask=0x0080)	 #IC2CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC2 port=RD1 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC2INT enreg=IEC0 enmask=0x0010 flgreg=IFS0 flgmask=0x0010 prireg=IPC1 primask=0x0007)

peripheral (key=IC7 sfrs='IC7CON IC7BUF')
    timers (addr=0x15a mask=0x0080)	 #IC7CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC7 port=RB5 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC7INT enreg=IEC1 enmask=0x0002 flgreg=IFS1 flgmask=0x0002 prireg=IPC4 primask=0x0070)

peripheral (key=IC8 sfrs='IC8CON IC8BUF')
    timers (addr=0x15e mask=0x0080)	 #IC8CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC8 port=RB4 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC8INT enreg=IEC1 enmask=0x0004 flgreg=IFS1 flgmask=0x0004 prireg=IPC4 primask=0x0700)


#--------------------------------------------------------------------------------
# 				Output Compare
#--------------------------------------------------------------------------------

peripheral (key=OC1 sfrs='OC1RS OC1R OC1CON')
    timers (addr=0x184 mask=0x0008)	#OC1CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC1 port=RD0 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=OCFA port=RB6 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC1INT enreg=IEC0 enmask=0x0004 flgreg=IFS0 flgmask=0x0004 prireg=IPC0 primask=0x0700)

peripheral (key=OC2 sfrs='OC2RS OC2R OC2CON')
    timers (addr=0x18a mask=0x0008)	#OC2CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC2 port=RD1 dir=out nextperiph=IC2 nextpin=IC2)
    pinfunc (key=OCFA port=RB6 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC2INT enreg=IEC0 enmask=0x0020 flgreg=IFS0 flgmask=0x0020 prireg=IPC1 primask=0x0070)

peripheral (key=OC3 sfrs='OC3RS OC3R OC3CON')
    timers (addr=0x190 mask=0x0008)	#OC3CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC3 port=RD2 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=OCFA port=RB6 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC3INT enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)

peripheral (key=OC4 sfrs='OC4RS OC4R OC4CON')
    timers (addr=0x196 mask=0x0008)	#OC4CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC4 port=RD3 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=OCFA port=RB6 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC4INT enreg=IEC1 enmask=0x0010 flgreg=IFS1 flgmask=0x0010 prireg=IPC5 primask=0x0007)

#--------------------------------------------------------------------------------
# 				SPIs
#--------------------------------------------------------------------------------

peripheral (key=SPI1)
# sfrs='SPI1STAT SPI1CON SPI1BUF')
    pinfunc (key=SCK1 port=RF6 dir=inout nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDI1 port=RF2 dir=in nextperiph=I2C nextpin=SDA)
    pinfunc (key=SDO1 port=RF3 dir=out nextperiph=I2C nextpin=SCL)

#--------------------------------------------------------------------------------
# 				I2C
#--------------------------------------------------------------------------------

peripheral (key=I2C)
# sfrs='I2CRCV I2CTRN I2CBRG I2CCON I2CSTAT I2CADD')
    pinfunc (key=SCL port=RF3 dir=inout nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDA port=RF2 dir=inout nextperiph=NONE nextpin=NONE)

#--------------------------------------------------------------------------------
# 				QEI
#--------------------------------------------------------------------------------

peripheral (key=QEI)
# sfrs='QEICON DFLTCON POSCNT MAXCNT')
    pinfunc (key=INDX port=RB3 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=QEA port=RB4 dir=in nextperiph=IC7 nextpin=IC7)
    pinfunc (key=QEB port=RB5 dir=in nextperiph=IC8 nextpin=IC8)

#--------------------------------------------------------------------------------
# 				OSC
#--------------------------------------------------------------------------------
peripheral (key=OSC sfrs='OSCCON')
    pinfunc (key=OSC2 port=RC15 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=SOSC1 port=RC14 dir=out nextperiph=TMR1 nextpin=T1CK)
    pinfunc (key=SOSC2 port=RC13 dir=out nextperiph=TMR2 nextpin=T2CK)
    pinfunc (key=CLKO port=RC15 dir=out nextperiph=NONE nextpin=NONE)

#--------------------------------------------------------------------------------
# 				CORE SFRs
#--------------------------------------------------------------------------------
peripheral (key=CORE sfrs='INTCON1 INTCON2 IFS0 IFS1 IFS2 IEC0 IEC1 IEC2 IPC0 IPC1 IPC2 IPC3 IPC4 IPC5 IPC6 IPC9 IPC10 INTREG NVMCON NVMADR NVMADRU NVMKEY')
