# dsPIC30F6011
# DOS: DOS-00200 
# PS:  DS-70102
# DS:  DS-70117

format=0.1

# Variant 18
# device=dsPIC30F6011


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=10000 lverase=2000)

#NOTE! The MSS1 silicon actually supports 48K instructions, but future silicon
#       will only support 44K instructions as specified in the data sheets.
pgmmem (region=0x0-0x15fff)
    vectors (region=0x04-0x7f altregion=0x84-0xff)
eedata (region=0x7ff800-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=0x01920000)
    ver (id=0x00120000 desc="mss1 a1,a2")
    ver (id=0x00121040 desc="mss1.b a0,a2,a3")
    ver (id=0x01921040 desc="mss1.b b1")
    ver (id=0x01921042 desc="mss1.b b2")
    variant (addr=0xF80104 val=0x12)

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

NumBanks=0
xymem (region=0x800-0x1fff ymem=0x1800-0x1fff)



                               # ---------------#
#------------------------------# 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 rw rw rw rw rw')
    reset (por='0----------00000' mclr='0----------00000')
    bit (names='ALTIVT - - - - - - - - - - INT4EP INT3EP 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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='IC6IF IC5IF IC4IF IC3IF C1IF SPI2IF 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 u rw u u u rw rw rw rw rw rw rw')
    reset (por='-----0---0000000' mclr='-----0---0000000')
    bit (names='- - - - - LVDIF - - - C2IF INT4IF INT3IF OC8IF OC7IF OC6IF OC5IF')
    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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='IC6IE IC5IE IC4IE IC3IE C1IE SPI2IE 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 u rw u u u rw rw rw rw rw rw rw')
    reset (por='-----0---0000000' mclr='-----0---0000000')
    bit (names='- - - - - LVDIE - - - C2IE INT4IE INT3IE OC8IE OC7IE OC6IE OC5IE')
    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 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='- C1IP - SPI2IP - U2TXIP - U2RXIP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC7 addr=0xa2 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='- IC6IP - IC5IP - IC4IP - IC3IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC8 addr=0xa4 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='- OC8IP - OC7IP - OC6IP - OC5IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC9 addr=0xa6 size=2 access='u u u u u rw rw rw u rw rw rw u rw rw rw')
    reset (por='-----100-100-100' mclr='-----uuu-uuu-uuu')
    bit (names='- - - - - C2IP - INT4IP - INT3IP' width='1 1 1 1 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC10 addr=0xa8 size=2 access='u u u u u rw rw rw u u u u u u u u')
    reset (por='-----100--------' mclr='-----uuu--------')
    bit (names='- - - - - LVDIP - - - - - - - -' width='1 1 1 1 1 3 1 1 1 1 1 1 1 1')
    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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='CN15IE CN14IE CN13IE CN12IE CN11IE CN10IE CN9IE CN8IE 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 rw')
    reset (por='-------------000' mclr='-------------000')
    bit (names='- - - - - - - - - - - - - CN18IE CN17IE CN16IE')
    stimulus (scl=rwb)
sfr (key=CNPU1 addr=0xc4 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='CN15PUE CN14PUE CN13PUE CN12PUE CN11PUE CN10PUE CN9PUE CN8PUE 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 rw')
    reset (por='-------------000' mclr='-------------000')
    bit (names='- - - - - - - - - - - - - CN18PUE CN17PUE CN16PUE')
    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 #----------------------------------------------------------------------------#
                               # --------------#

UnusedRegs (0x122-0x129)
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)
sfr (key=IC3BUF addr=0x148 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='IC3BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC3CON addr=0x14a 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=IC4BUF addr=0x14c 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='IC4BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC4CON addr=0x14e 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=IC5BUF addr=0x150 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='IC5BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC5CON addr=0x152 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=IC6BUF addr=0x154 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='IC6BUF' width='16')
    stimulus (scl=rwb type=int)
sfr (key=IC6CON addr=0x156 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=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)
sfr (key=OC5RS addr=0x198 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='OC5RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC5R addr=0x19a 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='OC5R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC5CON addr=0x19c 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=OC6RS addr=0x19e 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='OC6RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC6R addr=0x1a0 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='OC6R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC6CON addr=0x1a2 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=OC7RS addr=0x1a4 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='OC7RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC7R addr=0x1a6 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='OC7R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC7CON addr=0x1a8 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=OC8RS addr=0x1aa 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='OC8RS' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC8R addr=0x1ac 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='OC8R' width='16')
    stimulus (scl=rwb type=int)
sfr (key=OC8CON addr=0x1ae 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 (0x1b0-0x1bf)

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

UnusedRegs (0x1c0-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 #--------------------------------------------------#
                               # ---------------#

sfr (key=SPI2STAT addr=0x226 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=SPI2CON addr=0x228 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=SPI2BUF addr=0x22a 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='SPI2BUF' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
UnusedRegs (0x22c-0x23f)


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

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


                               # ---------------#
#------------------------------# LADC Registers #---------------------------------------------------------------------------#
                               # ---------------#

sfr (key=ADCBUF0 addr=0x280 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF0' width='1 1 1 1 12')
    stimulus (scl=rb regfiles=r)
sfr (key=ADCBUF1 addr=0x282 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF1' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF2 addr=0x284 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF2' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF3 addr=0x286 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF3' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF4 addr=0x288 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF4' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF5 addr=0x28a size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF5' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF6 addr=0x28c size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF6' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF7 addr=0x28e size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF7' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF8 addr=0x290 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF8' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUF9 addr=0x292 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUF9' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUFA addr=0x294 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUFA' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUFB addr=0x296 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUFB' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUFC addr=0x298 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUFC' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUFD addr=0x29a size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUFD' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUFE addr=0x29c size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUFE' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCBUFF addr=0x29e size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - ADCBUFF' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=ADCON1 addr=0x2a0 size=2 access='rw u rw u u u rw rw rw rw rw u u rw rw rc')
    reset (por='0-0---00000--000' mclr='0-0---00000--000')
    bit (names='ADON - ADSIDL - - - FORM SSRC - - 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 u u r u rw rw rw rw rw rw')
    reset (por='0000-0--0-000000' mclr='0000-0--0-000000')
    bit (names='VCFG OFFCAL - CSCNA - - BUFS - SMPI BUFM ALTS' width='3 1 1 1 1 1 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='u u u rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='---00000---00000' mclr='---00000---00000')
    bit (names='- - - CH0NB CH0SB - - - CH0NA CH0SA' width='1 1 1 1 4 1 1 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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='TRISB15 TRISB14 TRISB13 TRISB12 TRISB11 TRISB10 TRISB9 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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='RB15 RB14 RB13 RB12 RB11 RB10 RB9 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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='LATB15 LATB14 LATB13 LATB12 LATB11 LATB10 LATB9 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 rw rw u')
    reset (por='1110000000011110' mclr='1110000000011111')
    bit (names='TRISC15 TRISC14 TRISC13 - - - - - - - - - - TRISC2 TRISC1 -')
    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 rw rw u')
    reset (por='xxx00000000xxxx0' mclr='uuuuuuuuuuuuuuuu')
    bit (names='RC15 RC14 RC13 - - - - - - - - - - RC2 RC1 -')
    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 rw rw u')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='LATC15 LATC14 LATC13 - - - - - - - - - - LATC2 LATC1 -')
    bit (tag=scl names='LATC' width='16')
    stimulus (scl=rwb)

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

sfr (key=TRISD addr=0x2d2 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='- - - - TRISD11 TRISD10 TRISD9 TRISD8 TRISD7 TRISD6 TRISD5 TRISD4 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 rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - RD11 RD10 RD9 RD8 RD7 RD6 RD5 RD4 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 rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='- - - - LATD11 LATD10 LATD9 LATD8 LATD7 LATD6 LATD5 LATD4 LATD3 LATD2 LATD1 LATD0')
    bit (tag=scl names='LATD' width='16')
    stimulus (scl=rwb)

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

UnusedRegs (0x2d8-0x2dd)

                               # ----------------#
#------------------------------# 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 #-------------------------------------------------#
                               # ----------------#

sfr (key=TRISG addr=0x2e4 size=2 access='rw rw rw rw u u rw rw rw rw u u rw rw rw rw')
    reset (por='1111001111001111' mclr='1111001111001111')
    bit (names='TRISG15 TRISG14 TRISG13 TRISG12 - - TRISG9 TRISG8 TRISG7 TRISG6 - - TRISG3 TRISG2 TRISG1 TRISG0')
    bit (tag=scl names='TRISG' width='16')
    stimulus (scl=rwb)
sfr (key=PORTG addr=0x2e6 size=2 access='rw rw rw rw u u rw rw rw rw u u rw rw rw rw')
    reset (por='xxxx00xxxx00xxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='RG15 RG14 RG13 RG12 - - RG9 RG8 RG7 RG6 - - RG3 RG2 RG1 RG0')
    bit (tag=scl names='RG' width='16')
    stimulus (scl=rwb)
sfr (key=LATG addr=0x2e8 size=2 access='rw rw rw rw u u rw rw rw rw u u rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='LATG15 LATG14 LATG13 LATG12 - - LATG9 LATG8 LATG7 LATG6 - - LATG3 LATG2 LATG1 LATG0')
    bit (tag=scl names='LATG' width='16')
    stimulus (scl=rwb)
UnusedRegs (0x2ea-0x2ff)

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

sfr (key=C1RXF0SID addr=0x300 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C1RXF0EIDH addr=0x302 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXF0EIDL addr=0x304 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x306-0x307)

sfr (key=C1RXF1SID addr=0x308 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C1RXF1EIDH addr=0x30a size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXF1EIDL addr=0x30c size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x30e-0x30f)

sfr (key=C1RXF2SID addr=0x310 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C1RXF2EIDH addr=0x312 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXF2EIDL addr=0x314 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x316-0x317)

sfr (key=C1RXF3SID addr=0x318 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C1RXF3EIDH addr=0x31a size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXF3EIDL addr=0x31c size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x31e-0x31f)

sfr (key=C1RXF4SID addr=0x320 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C1RXF4EIDH addr=0x322 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXF4EIDL addr=0x324 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x326-0x327)

sfr (key=C1RXF5SID addr=0x328 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C1RXF5EIDH addr=0x32a size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXF5EIDL addr=0x32c size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x32e-0x32f)

sfr (key=C1RXM0SID addr=0x330 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - MIDE')
    stimulus (scl=rwb)
sfr (key=C1RXM0EIDH addr=0x332 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXM0EIDL addr=0x334 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x336-0x337)

sfr (key=C1RXM1SID addr=0x338 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - MIDE')
    stimulus (scl=rwb)
sfr (key=C1RXM1EIDH addr=0x33a size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RXM1EIDL addr=0x33c size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x33e-0x33f)

sfr (key=C1TX2SID addr=0x340 size=2 access='rw rw rw rw rw u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxxxuuuxxxxxxxx' mclr='uuuuu---uuuuuuuu')
    bit (names='SID10 SID9 SID8 SID7 SID6 - - - SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C1TX2EID addr=0x342 size=2 access='rw rw rw rw u u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxx----xxxxxxxx' mclr='uuuu----uuuuuuuu')
    bit (names='EID17 EID16 EID15 EID14 - - - - EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1TX2DLC addr=0x344 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw u u u')
    reset (por='xxxxxxxxxxxxx---' mclr='uuuuuuuuuuuuu---')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 TXRTR TXRB1 TXRB0 DLC - - -' width='1 1 1 1 1 1 1 1 1 4 1 1 1')
    stimulus (scl=rwb)
sfr (key=C1TX2B1 addr=0x346 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='TXB2D1 TXB2D0' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX2B2 addr=0x348 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='TXB2D3 TXB2D2' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX2B3 addr=0x34a 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='TXB2D5 TXB2D4' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX2B4 addr=0x34c 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='TXB2D7 TXB2D6' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX2CON addr=0x34e size=2 access='u u u u u u u u u rw rw rw rw u rw rw')
    reset (por='---------0000-00' mclr='---------0000-00')
    bit (names='- - - - - - - - - TXABT TXLARB TXERR TXREQ - TXPRI' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 2')    
    stimulus (scl=rwb)

sfr (key=C1TX1SID addr=0x350 size=2 access='rw rw rw rw rw u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxxxuuuxxxxxxxx' mclr='uuuuu---uuuuuuuu')
    bit (names='SID10 SID9 SID8 SID7 SID6 - - - SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C1TX1EID addr=0x352 size=2 access='rw rw rw rw u u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxx----xxxxxxxx' mclr='uuuu----uuuuuuuu')
    bit (names='EID17 EID16 EID15 EID14 - - - - EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1TX1DLC addr=0x354 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw u u u')
    reset (por='xxxxxxxxxxxxx---' mclr='uuuuuuuuuuuuu---')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 TXRTR TXRB1 TXRB0 DLC - - -' width='1 1 1 1 1 1 1 1 1 4 1 1 1')
    stimulus (scl=rwb)
sfr (key=C1TX1B1 addr=0x356 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='TXB1D1 TXB1D0' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX1B2 addr=0x358 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='TXB1D3 TXB1D2' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX1B3 addr=0x35a 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='TXB1D5 TXB1D4' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX1B4 addr=0x35c 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='TXB1D7 TXB1D6' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX1CON addr=0x35e size=2 access='u u u u u u u u u rw rw rw rw u rw rw')
    reset (por='---------0000-00' mclr='---------0000-00')
    bit (names='- - - - - - - - - TXABT TXLARB TXERR TXREQ - TXPRI' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 2')    
    stimulus (scl=rwb)

sfr (key=C1TX0SID addr=0x360 size=2 access='rw rw rw rw rw u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxxxuuuxxxxxxxx' mclr='uuuuu---uuuuuuuu')
    bit (names='SID10 SID9 SID8 SID7 SID6 - - - SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C1TX0EID addr=0x362 size=2 access='rw rw rw rw u u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxx----xxxxxxxx' mclr='uuuu----uuuuuuuu')
    bit (names='EID17 EID16 EID15 EID14 - - - - EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1TX0DLC addr=0x364 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw u u u')
    reset (por='xxxxxxxxxxxxx---' mclr='uuuuuuuuuuuuu---')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 TXRTR TXRB1 TXRB0 DLC - - -' width='1 1 1 1 1 1 1 1 1 4 1 1 1')
    stimulus (scl=rwb)
sfr (key=C1TX0B1 addr=0x366 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='TXB0D1 TXB0D0' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX0B2 addr=0x368 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='TXB0D3 TXB0D2' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX0B3 addr=0x36a 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='TXB0D5 TXB0D4' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX0B4 addr=0x36c 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='TXB0D7 TXB0D6' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C1TX0CON addr=0x36e size=2 access='u u u u u u u u u rw rw rw rw u rw rw')
    reset (por='---------0000-00' mclr='---------0000-00')
    bit (names='- - - - - - - - - TXABT TXLARB TXERR TXREQ - TXPRI' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 2')    
    stimulus (scl=rwb)

sfr (key=C1RX1SID addr=0x370 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='uuuxxxxxxxxxxxxx' mclr='---uuuuuuuuuuuuu')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C1RX1EID addr=0x372 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RX1DLC addr=0x374 size=2 access='rw rw rw rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='xxxxxxxx---xxxxx' mclr='uuuuuuuu---uuuuu')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 RXRTR RXRB1 - - - RXRB0 DLC' width='1 1 1 1 1 1 1 1 1 1 1 1 4')
    stimulus (scl=rwb)
sfr (key=C1RX1B1 addr=0x376 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='TXB1D1 TXB1D0' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX1B2 addr=0x378 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='TXB1D3 TXB1D2' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX1B3 addr=0x37a 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='TXB1D5 TXB1D4' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX1B4 addr=0x37c 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='TXB1D7 TXB1D6' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX1CON addr=0x37e size=2 access='u u u u u u u u rc u u u r r r r')
    reset (por='--------0---0000' mclr='--------0---0000')
    bit (names='- - - - - - - - RXFUL - - - RXRTRRO FILHIT' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3')    
    stimulus (scl=rwb)

sfr (key=C1RX0SID addr=0x380 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='uuuxxxxxxxxxxxxx' mclr='---uuuuuuuuuuuuu')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C1RX0EID addr=0x382 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C1RX0DLC addr=0x384 size=2 access='rw rw rw rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='xxxxxxxx---xxxxx' mclr='uuuuuuuu---uuuuu')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 RXRTR RXRB1 - - - RXRB0 DLC' width='1 1 1 1 1 1 1 1 1 1 1 1 4')
    stimulus (scl=rwb)
sfr (key=C1RX0B1 addr=0x386 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='TXB0D1 TXB0D0' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX0B2 addr=0x388 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='TXB0D3 TXB0D2' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX0B3 addr=0x38a 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='TXB0D5 TXB0D4' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX0B4 addr=0x38c 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='TXB0D7 TXB0D6' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C1RX0CON addr=0x38e size=2 access='u u u u u u u u rc u u u r rw r r')
    reset (por='--------0---0000' mclr='--------0---0000')
    bit (names='- - - - - - - - RXFUL - - - RXRTRRO RXB0DBEN JTOFF FILHIT')    
    stimulus (scl=rwb)
sfr (key=C1CTRL addr=0x390 size=2 access='rw r rw rw rw rw rw rw r r r u r r r u')
    reset (por='00000100100-000-' mclr='00000000000-000-')
    bit (names='CANCAP CANFRZ CANSIDL ABAT CANCKS REQOP OPMODE - ICOD -' width='1 1 1 1 1 3 3 1 3 1')
    stimulus (scl=rwb)
sfr (key=C1CFG1 addr=0x392 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='- - - - - - - - SJW BRP' width='1 1 1 1 1 1 1 1 2 6')
    stimulus (scl=rwb)
sfr (key=C1CFG2 addr=0x394 size=2 access='u rw u u u rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='-x---xxxxxxxxxxx' mclr='-0---00000000000')
    bit (names='- WAKFIL - - - SEG2PH SEG2PHTS SAM SEG1PH PRSEG' width='1 1 1 1 1 3 1 1 3 3')
    stimulus (scl=rwb)
sfr (key=C1INTF addr=0x396 size=2 access='rc rc r r r r r r rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='RXB0OVFL RXB1OVFL TXBO TXBP RXBP TXWARN RXWARN EWARN IRXIF WAKIF ERRIF TXB2IF TXB1IF TXB0IF RXB1IF RXB0IF')
    stimulus (scl=rwb)
sfr (key=C1INTE addr=0x398 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='- - - - - - - - IRXIE WAKIE ERRIE TXB2IE TXB1IE TXB0IE RXB1IE RXB0IE')
    stimulus (scl=rwb)
sfr (key=C1EC addr=0x39a 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='TEC REC' width='8 8')
    stimulus (scl=rwb)
UnusedRegs (0x39c-0x3bf)
                               # ---------------#
#------------------------------# CAN2 Registers #--------------------------------------------------#
                               # ---------------#

sfr (key=C2RXF0SID addr=0x3C0 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C2RXF0EIDH addr=0x3C2 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXF0EIDL addr=0x3C4 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3C6-0x3C7)

sfr (key=C2RXF1SID addr=0x3C8 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C2RXF1EIDH addr=0x3CA size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXF1EIDL addr=0x3CC size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3Ce-0x3Cf)

sfr (key=C2RXF2SID addr=0x3D0 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C2RXF2EIDH addr=0x3D2 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXF2EIDL addr=0x3D4 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3D6-0x3D7)

sfr (key=C2RXF3SID addr=0x3d8 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C2RXF3EIDH addr=0x3da size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXF3EIDL addr=0x3dc size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3DE-0x3DF)

sfr (key=C2RXF4SID addr=0x3e0 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C2RXF4EIDH addr=0x3e2 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXF4EIDL addr=0x3e4 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3E6-0x3E7)

sfr (key=C2RXF5SID addr=0x3e8 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - EXIDE')
    stimulus (scl=rwb)
sfr (key=C2RXF5EIDH addr=0x3ea size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXF5EIDL addr=0x3ec size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3EE-0x3EF)

sfr (key=C2RXM0SID addr=0x3f0 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - MIDE')
    stimulus (scl=rwb)
sfr (key=C2RXM0EIDH addr=0x3f2 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXM0EIDL addr=0x3f4 size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3F6-0x3F7)

sfr (key=C2RXM1SID addr=0x3f8 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw u rw')
    reset (por='---xxxxxxxxxxx-x' mclr='---uuuuuuuuuuu-u')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 - MIDE')
    stimulus (scl=rwb)
sfr (key=C2RXM1EIDH addr=0x3fa size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RXM1EIDL addr=0x3fc size=2 access='rw rw rw rw rw rw u u u u u u u u u u')
    reset (por='xxxxxx----------' mclr='uuuuuu----------')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 - - - - - - - - - -')
    stimulus (scl=rwb)
UnusedRegs (0x3FE-0x3FF)

sfr (key=C2TX2SID addr=0x400 size=2 access='rw rw rw rw rw u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxxxuuuxxxxxxxx' mclr='uuuuu---uuuuuuuu')
    bit (names='SID10 SID9 SID8 SID7 SID6 - - - SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C2TX2EID addr=0x402 size=2 access='rw rw rw rw u u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxx----xxxxxxxx' mclr='uuuu----uuuuuuuu')
    bit (names='EID17 EID16 EID15 EID14 - - - - EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2TX2DLC addr=0x404 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw u u u')
    reset (por='xxxxxxxxxxxxx---' mclr='uuuuuuuuuuuuu---')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 TXRTR TXRB1 TXRB0 DLC - - -' width='1 1 1 1 1 1 1 1 1 4 1 1 1')
    stimulus (scl=rwb)
sfr (key=C2TX2B1 addr=0x406 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='TXB2D1 TXB2D0' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX2B2 addr=0x408 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='TXB2D3 TXB2D2' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX2B3 addr=0x40a 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='TXB2D5 TXB2D4' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX2B4 addr=0x40c 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='TXB2D7 TXB2D6' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX2CON addr=0x40e size=2 access='u u u u u u u u u rw rw rw rw u rw rw')
    reset (por='---------0000-00' mclr='---------0000-00')
    bit (names='- - - - - - - - - TXABT TXLARB TXERR TXREQ - TXPRI' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 2')    
    stimulus (scl=rwb)

sfr (key=C2TX1SID addr=0x410 size=2 access='rw rw rw rw rw u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxxxuuuxxxxxxxx' mclr='uuuuu---uuuuuuuu')
    bit (names='SID10 SID9 SID8 SID7 SID6 - - - SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C2TX1EID addr=0x412 size=2 access='rw rw rw rw u u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxx----xxxxxxxx' mclr='uuuu----uuuuuuuu')
    bit (names='EID17 EID16 EID15 EID14 - - - - EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2TX1DLC addr=0x414 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw u u u')
    reset (por='xxxxxxxxxxxxx---' mclr='uuuuuuuuuuuuu---')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 TXRTR TXRB1 TXRB0 DLC - - -' width='1 1 1 1 1 1 1 1 1 4 1 1 1')
    stimulus (scl=rwb)
sfr (key=C2TX1B1 addr=0x416 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='TXB1D1 TXB1D0' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX1B2 addr=0x418 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='TXB1D3 TXB1D2' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX1B3 addr=0x41a 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='TXB1D5 TXB1D4' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX1B4 addr=0x41c 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='TXB1D7 TXB1D6' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX1CON addr=0x41e size=2 access='u u u u u u u u u rw rw rw rw u rw rw')
    reset (por='---------0000-00' mclr='---------0000-00')
    bit (names='- - - - - - - - - TXABT TXLARB TXERR TXREQ - TXPRI' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 2')    
    stimulus (scl=rwb)

sfr (key=C2TX0SID addr=0x420 size=2 access='rw rw rw rw rw u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxxxuuuxxxxxxxx' mclr='uuuuu---uuuuuuuu')
    bit (names='SID10 SID9 SID8 SID7 SID6 - - - SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C2TX0EID addr=0x422 size=2 access='rw rw rw rw u u u u rw rw rw rw rw rw rw rw')
    reset (por='xxxx----xxxxxxxx' mclr='uuuu----uuuuuuuu')
    bit (names='EID17 EID16 EID15 EID14 - - - - EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2TX0DLC addr=0x424 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw u u u')
    reset (por='xxxxxxxxxxxxx---' mclr='uuuuuuuuuuuuu---')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 TXRTR TXRB1 TXRB0 DLC - - -' width='1 1 1 1 1 1 1 1 1 4 1 1 1')
    stimulus (scl=rwb)
sfr (key=C2TX0B1 addr=0x426 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='TXB0D1 TXB0D0' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX0B2 addr=0x428 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='TXB0D3 TXB0D2' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX0B3 addr=0x42a 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='TXB0D5 TXB0D4' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX0B4 addr=0x42c 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='TXB0D7 TXB0D6' width='8 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=C2TX0CON addr=0x42e size=2 access='u u u u u u u u u rw rw rw rw u rw rw')
    reset (por='---------0000-00' mclr='---------0000-00')
    bit (names='- - - - - - - - - TXABT TXLARB TXERR TXREQ - TXPRI' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 2')    
    stimulus (scl=rwb)

sfr (key=C2RX1SID addr=0x430 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='uuuxxxxxxxxxxxxx' mclr='---uuuuuuuuuuuuu')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C2RX1EID addr=0x432 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RX1DLC addr=0x434 size=2 access='rw rw rw rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='xxxxxxxx---xxxxx' mclr='uuuuuuuu---uuuuu')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 RXRTR RXRB1 - - - RXRB0 DLC' width='1 1 1 1 1 1 1 1 1 1 1 1 4')
    stimulus (scl=rwb)
sfr (key=C2RX1B1 addr=0x436 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='TXB1D1 TXB1D0' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX1B2 addr=0x438 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='TXB1D3 TXB1D2' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX1B3 addr=0x43a 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='TXB1D5 TXB1D4' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX1B4 addr=0x43c 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='TXB1D7 TXB1D6' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX1CON addr=0x43e size=2 access='u u u u u u u u rc u u u r r r r')
    reset (por='--------0---0000' mclr='--------0---0000')
    bit (names='- - - - - - - - RXFUL - - - RXRTRRO FILHIT' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3')    
    stimulus (scl=rwb)

sfr (key=C2RX0SID addr=0x440 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='uuuxxxxxxxxxxxxx' mclr='---uuuuuuuuuuuuu')
    bit (names='- - - SID10 SID9 SID8 SID7 SID6 SID5 SID4 SID3 SID2 SID1 SID0 SRR TXIDE')
    stimulus (scl=rwb)
sfr (key=C2RX0EID addr=0x442 size=2 access='u u u u rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='----xxxxxxxxxxxx' mclr='----uuuuuuuuuuuu')
    bit (names='- - - - EID17 EID16 EID15 EID14 EID13 EID12 EID11 EID10 EID9 EID8 EID7 EID6')
    stimulus (scl=rwb)
sfr (key=C2RX0DLC addr=0x444 size=2 access='rw rw rw rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='xxxxxxxx---xxxxx' mclr='uuuuuuuu---uuuuu')
    bit (names='EID5 EID4 EID3 EID2 EID1 EID0 RXRTR RXRB1 - - - RXRB0 DLC' width='1 1 1 1 1 1 1 1 1 1 1 1 4')
    stimulus (scl=rwb)
sfr (key=C2RX0B1 addr=0x446 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='TXB0D1 TXB0D0' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX0B2 addr=0x448 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='TXB0D3 TXB0D2' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX0B3 addr=0x44a 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='TXB0D5 TXB0D4' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX0B4 addr=0x44c 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='TXB0D7 TXB0D6' width='8 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=C2RX0CON addr=0x44e size=2 access='u u u u u u u u rc u u u r rw r r')
    reset (por='--------0---0000' mclr='--------0---0000')
    bit (names='- - - - - - - - RXFUL - - - RXRTRRO RXB0DBEN JTOFF FILHIT')    
    stimulus (scl=rwb)

sfr (key=C2CTRL addr=0x450 size=2 access='rw r rw rw rw rw rw rw r r r u r r r u')
    reset (por='00000100100-000-' mclr='00000000000-000-')
    bit (names='CANCAP CANFRZ CANSIDL ABAT CANCKS REQOP OPMODE - ICOD -' width='1 1 1 1 1 3 3 1 3 1')
    stimulus (scl=rwb)
sfr (key=C2CFG1 addr=0x452 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='- - - - - - - - SJW BRP' width='1 1 1 1 1 1 1 1 2 6')
    stimulus (scl=rwb)
sfr (key=C2CFG2 addr=0x454 size=2 access='u rw u u u rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='-x---xxxxxxxxxxx' mclr='-0---00000000000')
    bit (names='- WAKFIL - - - SEG2PH SEG2PHTS SAM SEG1PH PRSEG' width='1 1 1 1 1 3 1 1 3 3')
    stimulus (scl=rwb)
sfr (key=C2INTF addr=0x456 size=2 access='rc rc r r r r r r rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='RXB0OVFL RXB1OVFL TXBO TXBP RXBP TXWARN RXWARN EWARN IRXIF WAKIF ERRIF TXB2IF TXB1IF TXB0IF RXB1IF RXB0IF')
    stimulus (scl=rwb)
sfr (key=C2INTE addr=0x458 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='- - - - - - - - IRXIE WAKIE ERRIE TXB2IE TXB1IE TXB0IE RXB1IE RXB0IE')
    stimulus (scl=rwb)
sfr (key=C2EC addr=0x45a 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='TEC REC' width='8 8')
    stimulus (scl=rwb)
UnusedRegs (0x45c-0x47f)
UnusedRegs (0x480-0x73f)

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

sfr (key=RCON addr=0x740 size=2 access='rw rw r rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000010100000011' mclr='uuuuuuuu1uuuuuuu')
    bit (names='TRAPR IOPUWR BGST LVDEN LVDL EXTR SWR SWDTEN WDTO SLEEP IDLE BOR POR' width='1 1 1 1 4 1 1 1 1 1 1 1 1')
    stimulus (scl=r)
sfr (key=OSCCON addr=0x742 size=2 access='u u r r u u rw rw rw rw r u rc u rw rw')
    reset (por='--yy--yy000-0-00' mclr='--yy--yy000-0-00')
    bit (names='- - COSC - - NOSC POST LOCK - CF - LPOSCEN OSWEN' width='1 1 2 1 1 2 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 u u u rw rw rw rw rw rw rw rw')
    reset (por='00000---00000000' mclr='00000---00000000')
    bit (names='T5MD T4MD T3MD T2MD T1MD - - - I2CMD U2MD U1MD SPI2MD SPI1MD C2MD C1MD ADCM')
    stimulus (scl=rw)
sfr (key=PMD2 addr=0x772 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='IC8MD IC7MD IC6MD IC5MD IC4MD IC3MD IC2MD IC1MD OC8MD OC7MD OC6MD OC5MD 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=FOS mask=0x0300 desc="Oscillator Source" init=0x0100)
        setting (req=0x0300 value=0x0300 desc="Primary Oscillator")
        setting (req=0x0300 value=0x0200 desc="Internal Low-Power RC")
        setting (req=0x0300 value=0x0100 desc="Internal Fast RC")
        setting (req=0x0300 value=0x0000 desc="Low-Power 32KHz Osc <TMR1 Osc>")
    field (key=FPR mask=0x000F desc="Primary Oscillator Mode" init=0x0000)
        setting (req=0x000F value=0x000F desc="ECIO w/ PLL 16x")
        setting (req=0x000F value=0x000E desc="ECIO w/ PLL 8x")
        setting (req=0x000F value=0x000D desc="ECIO w/ PLL 4x")
        setting (req=0x000F value=0x000C desc="ECIO")
        setting (req=0x000F value=0x000B desc="EC")
#       setting (req=0x000F value=0x000A desc="Reserved.  Do not use.")
        setting (req=0x000F value=0x0009 desc="ERC")
        setting (req=0x000F value=0x0008 desc="ERCIO")
        setting (req=0x000F value=0x0007 desc="XT w/PLL 16x")
        setting (req=0x000F value=0x0006 desc="XT w/PLL 8x")
        setting (req=0x000F value=0x0005 desc="XT w/PLL 4x")
        setting (req=0x000F value=0x0004 desc="XT")
        setting (req=0x000E value=0x0002 desc="HS")
        setting (req=0x000E value=0x0000 desc="XTL")
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=RES0 mask=0x0700 desc="Reserved" flags=h)
        setting (req=0x0700 value=0x0700 desc="Reserved")
    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)
    field (key=RES1 mask=0x0004 desc="Reserved bit" flags=h)
        setting (req=0x0004 value=0x0 desc="Reserved")
    field (key=GCP mask=0x0002 desc="General Code Segment Code Protect")
        setting (req=0x0002 value=0x0002 desc="Disabled")
            checksum (type=0x0 protregion=0x00-0x00)
        setting (req=0x0002 value=0x0000 desc="Enabled")
            checksum (type=0x27 protregion=0x0000-0x15FFF)
    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)
    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 CNEN2' 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=IC7 notify=IC7)
    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=IC8 notify=IC8)
    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)
    iopin (key=RB9 dir=inout)
    iopin (key=RB10 dir=inout)
    iopin (key=RB11 dir=inout)
    iopin (key=RB12 dir=inout)
    iopin (key=RB13 dir=inout)
    iopin (key=RB14 dir=inout)
    iopin (key=RB15 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN12 enreg=CNEN1 enmask=0x1000)
        cnpin (key=OCFB notify=OC5)
        cnpin (key=OCFB notify=OC6)
        cnpin (key=OCFB notify=OC7)
        cnpin (key=OCFB notify=OC8)

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

peripheral (key=PORTC sfrs='TRISC LATC PORTC INTCON2 CNEN1 CNEN2' type=port)
    iopin (key=RC1 dir=inout)
    iopin (key=RC2 dir=inout)
    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 CNEN2' type=port)
    iopin (key=RD0 dir=inout)
    iopin (key=RD1 dir=inout)
    iopin (key=RD2 dir=inout)
    iopin (key=RD3 dir=inout)
    iopin (key=RD4 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN13 enreg=CNEN1 enmask=0x2000)
        cnpin (key=IC5 notify=IC5)
    iopin (key=RD5 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN14 enreg=CNEN1 enmask=0x4000)
        cnpin (key=IC6 notify=IC6)
    iopin (key=RD6 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN15 enreg=CNEN1 enmask=0x8000)
    iopin (key=RD7 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN16 enreg=CNEN2 enmask=0x0001)
    iopin (key=RD8 dir=inout)
        extint (key=INT1 enreg=IEC1 enmask=0x0001 flgreg=IFS1 flgmask=0x0001 prireg=IPC4 primask=0x0007)
        cnpin (key=IC1 notify=IC1)
    iopin (key=RD9 dir=inout)
        extint (key=INT2 enreg=IEC1 enmask=0x0080 flgreg=IFS1 flgmask=0x0080 prireg=IPC5 primask=0x7000)
        cnpin (key=IC2 notify=IC2)
    iopin (key=RD10 dir=inout)
        extint (key=INT3 enreg=IEC2 enmask=0x0010 flgreg=IFS2 flgmask=0x0010 prireg=IPC9 primask=0x0007)
        cnpin (key=IC3 notify=IC3)
    iopin (key=RD11 dir=inout)
        extint (key=INT4 enreg=IEC2 enmask=0x0020 flgreg=IFS2 flgmask=0x0020 prireg=IPC9 primask=0x0070)
        cnpin (key=IC4 notify=IC4)

#--------------------------------------------------------------------------------
# 				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=CNEN2 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=CNEN2 enmask=0x0004)
    iopin (key=RF6 dir=inout)
        extint (key=INT0 enreg=IEC0 enmask=0x0001 flgreg=IFS0 flgmask=0x0001 prireg=IPC0 primask=0x0007)

#--------------------------------------------------------------------------------
# 				PORTG
#--------------------------------------------------------------------------------

peripheral (key=PORTG sfrs='TRISG LATG PORTG INTCON2 CNEN1 CNEN2' type=port)
    iopin (key=RG0 dir=inout)
    iopin (key=RG1 dir=inout)
    iopin (key=RG2 dir=inout)
    iopin (key=RG3 dir=inout)
    iopin (key=RG6 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN8 enreg=CNEN1 enmask=0x0100)
    iopin (key=RG7 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN9 enreg=CNEN1 enmask=0x0200)
    iopin (key=RG8 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN10 enreg=CNEN1 enmask=0x0400)
    iopin (key=RG9 dir=inout)
        cnint (key=CNIRQ enreg=IEC0 enmask=0x8000 flgreg=IFS0 flgmask=0x8000 prireg=IPC3 primask=0x7000)
        cn (key=CN11 enreg=CNEN1 enmask=0x0800)
    iopin (key=RG12 dir=inout)
    iopin (key=RG13 dir=inout)
    iopin (key=RG14 dir=inout)
    iopin (key=RG15 dir=inout)



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

peripheral (key=TMR1 sfrs='TMR1 PR1 T1CON')
    pinfunc (key=T1CK port=RC14 dir=in nextperiph=NONE nextpin=NONE)
    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=RC1 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=TMR2INT enreg=IEC0 enmask=0x0040 flgreg=IFS0 flgmask=0x0040 prireg=IPC1 primask=0x0700)

peripheral (key=TMR3 sfrs='TMR3 TMR3HLD PR3 T3CON')
    pinfunc (key=T3CK port=RC2 dir=in nextperiph=NONE nextpin=NONE)
    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')
    pinfunc (key=T4CK port=RC13 dir=in nextperiph=NONE nextpin=NONE)
    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)

#--------------------------------------------------------------------------------
# 				LADC
#--------------------------------------------------------------------------------

peripheral (key=LADC 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=NONE nextpin=NONE)
    pinfunc (key=AN4 port=RB4 dir=in nextperiph=IC7 nextpin=IC7)
    pinfunc (key=AN5 port=RB5 dir=in nextperiph=IC8 nextpin=IC8)
    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)
    pinfunc (key=AN9 port=RB9 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN10 port=RB10 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN11 port=RB11 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN12 port=RB12 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN13 port=RB13 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN14 port=RB14 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN15 port=RB15 dir=in nextperiph=OC5_8 nextpin=OCFB)
    interrupt (name=ADCINT enreg=IEC0 enmask=0x0800 flgreg=IFS0 flgmask=0x0800 prireg=IPC2 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=RD8 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=RD9 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC2INT enreg=IEC0 enmask=0x0010 flgreg=IFS0 flgmask=0x0010 prireg=IPC1 primask=0x0007)

peripheral (key=IC3 sfrs='IC3CON IC3BUF')
    timers (addr=0x14a mask=0x0080)	 #IC3CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC3 port=RD10 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC3INT enreg=IEC1 enmask=0x1000 flgreg=IFS1 flgmask=0x1000 prireg=IPC7 primask=0x0007)

peripheral (key=IC4 sfrs='IC4CON IC4BUF')
    timers (addr=0x14e mask=0x0080)	 #IC4CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC4 port=RD11 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC4INT enreg=IEC1 enmask=0x2000 flgreg=IFS1 flgmask=0x2000 prireg=IPC7 primask=0x0070)

peripheral (key=IC5 sfrs='IC5CON IC5BUF')
    timers (addr=0x152 mask=0x0080)	 #IC5CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC5 port=RD4 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC5INT enreg=IEC1 enmask=0x4000 flgreg=IFS1 flgmask=0x4000 prireg=IPC7 primask=0x0700)

peripheral (key=IC6 sfrs='IC6CON IC6BUF')
    timers (addr=0x156 mask=0x0080)	 #IC6CON
        setting (val=0 key=TMR3)
        setting (val=1 key=TMR2)
    pinfunc (key=IC6 port=RD5 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC6INT enreg=IEC1 enmask=0x8000 flgreg=IFS1 flgmask=0x8000 prireg=IPC7 primask=0x7000)

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=RB4 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=RB5 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)


peripheral (key=OC5 sfrs='OC5RS OC5R OC5CON')
    timers (addr=0x19c mask=0x0008)	#OC5CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC5 port=RD4 dir=out nextperiph=IC5 nextpin=IC5)
    pinfunc (key=OCFB port=RB15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC5INT enreg=IEC2 enmask=0x0001 flgreg=IFS2 flgmask=0x0001 prireg=IPC8 primask=0x0007)

peripheral (key=OC6 sfrs='OC6RS OC6R OC6CON')
    timers (addr=0x1a2 mask=0x0008)	#OC6CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC6 port=RD5 dir=out nextperiph=IC6 nextpin=IC6)
    pinfunc (key=OCFB port=RB15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC6INT enreg=IEC2 enmask=0x0002 flgreg=IFS2 flgmask=0x0002 prireg=IPC8 primask=0x0070)

peripheral (key=OC7 sfrs='OC7RS OC7R OC7CON')
    timers (addr=0x1a8 mask=0x0008)	#OC7CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3)
    pinfunc (key=OC7 port=RD6 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=OCFB port=RB15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC7INT enreg=IEC2 enmask=0x0004 flgreg=IFS2 flgmask=0x0004 prireg=IPC8 primask=0x0700)

peripheral (key=OC8 sfrs='OC8RS OC8R OC8CON')
    timers (addr=0x1ae mask=0x0008)	#OC8CON
        setting (val=0 key=TMR2)
        setting (val=1 key=TMR3) 
    pinfunc (key=OC8 port=RD7 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=OCFB port=RB15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC8INT enreg=IEC2 enmask=0x0008 flgreg=IFS2 flgmask=0x0008 prireg=IPC8 primask=0x7000)


#--------------------------------------------------------------------------------
# 				CANs
#--------------------------------------------------------------------------------

peripheral (key=CAN1)
    pinfunc (key=C1RX port=RF0 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=C1TX port=RF1 dir=out nextperiph=NONE nextpin=NONE)
peripheral (key=CAN2)
    pinfunc (key=C2RX port=RG0 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=C2TX port=RG1 dir=out nextperiph=NONE nextpin=NONE)

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

peripheral (key=SPI1)
#                     sfrs='SPI1STAT SPI1CON SPI1BUF')
    pinfunc (key=SCK1 port=RF6 dir=inout nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDI1 port=RF7 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDO1 port=RF8 dir=out nextperiph=NONE nextpin=NONE)
peripheral (key=SPI2)
#                     sfrs='SPI2STAT SPI2CON SPI2BUF')
    pinfunc (key=SCK2 port=RG6 dir=inout nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDI2 port=RG7 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDO2 port=RG8 dir=out nextperiph=NONE nextpin=NONE)

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

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

#--------------------------------------------------------------------------------
# 				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=TMR4 nextpin=T4CK)
    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 IPC7 IPC8 IPC9 IPC10 INTREG NVMCON NVMADR NVMADRU NVMKEY')
