format=0.1

# Variant 24
# device=PIC24HJ64GP210
# DOS: DOS-00716
# PS:  
# DS:  

#Parts are extremely low voltage
# Make sure these are within the device Limits, very low!
vpp (range=3.000-3.500 dflt=3.250)
# Make sure these are within the device Limits, very low!
vdd (range=3.000-3.500 dfltrange=3.000-3.500 nominal=3.250) 

IsChecksumless=1


pgming (memtech=ee tries=1)
   wait (pgm=1000 eedata=10000 cfg=10000 userid=10000 erase=600)
   latches(pgm=64 eedata=2 cfg=2)

pgmmem (region=0x0-0xABFF)
    vectors (region=0x04-0xff altregion=0x100-0x1ff)
testmem (region=0x800000-0x800FFF appregion=0x800080-0x8005BF)
emulreg (region=0xFD0000-0xFD003C)
cfgmem (region=0xf80000-0xf8000F)
# GI 8/17/04 Removed from programming spec
# userid (region=0x8005C0-0x8005FF)

devid (region=0xFF0000-0xFF0003 idmask=0xFFFF0000 id=0x00473000)

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

NumBanks=0
xymem (region=0x800-0x27FF ymem=0x0-0x0 dpmem=0x2000-0x27FF)


                               #------#
#------------------------------# SFRs #------------------------------#
                               #------#


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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='0000000000000000' mclr='0000000000000000')
    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='xxxxxxxxxxxxxxx0' mclr='uuuuuuuuuuuuuuu0')
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)

UnusedRegs (0x22-0x2d)

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='---------0000000' mclr='---------0000000')
    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)

UnusedRegs (0x38-0x41)

sfr (key=SR addr=0x42 size=2 access='u u u u u u u rw rw rw rw r rw rw rw rw')
    reset (por='-------000000000' mclr='-------000000000')
    bit (names='- - - - - - - 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 u u u u u u u u u rc rw u u')
    reset (por='------------00--' mclr='------------00--')
    bit (names='- - - - - - - - - - - - IPL3 PSV - -' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1')
    stimulus (scl=r)

UnusedRegs (0x46-0x51)

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='--xxxxxxxxxxxxxx' mclr='--uuuuuuuuuuuuuu')
    bit (names='- - DISICNT' width='1 1 14')
    stimulus (scl=r type=int)

UnusedRegs (0x54-0x5f)



sfr (key=CNEN1 addr=0x60 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=0x62 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='- - - - - - - - CN23IE CN22IE CN21IE CN20IE CN19IE CN18IE CN17IE CN16IE')
    stimulus (scl=rwb)

UnusedRegs(0x64-0x67)

sfr (key=CNPU1 addr=0x68 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=0x6a 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='- - - - - - - - CN23PUE CN22IE CN21PUE CN20PUE CN19PUE CN18PUE CN17PUE CN16PUE')
    stimulus (scl=rwb)

UnusedRegs (0x67-0x7f)



                               #----------------------------#
#------------------------------# Interrupt Controller  SFRs #------------------------------#
                               #----------------------------#

sfr (key=INTCON1 addr=0x80 size=2 access='rw u u u u u u u u u rw rw rw rw rw u')
    reset (por='0---------00000-' mclr='0---------00000-')
    bit (names='NSTDIS - - - - - - - - - DMAC MATHERR ADDRERR STKERR OSCFAIL -')
    stimulus (scl=rwb)
sfr (key=INTCON2 addr=0x82 size=2 access='rw r u u u u u u u u u rw rw rw rw rw')
    reset (por='00---------00000' mclr='00---------00000')
    bit (names='ALTIVT DISI - - - - - - - - - INT4EP INT3EP INT2EP INT1EP INT0EP')
    stimulus (scl=rwb)
sfr (key=IFS0 addr=0x84 size=2 access='u rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='-000000000000000' mclr='-000000000000000')
    bit (names='- DMA1IF ADIF U1TXIF U1RXIF SPI1IF SPI1FLTIF T3IF T2IF OC2IF IC2IF DMA0IF T1IF OC1IF IC1IF INT0IF')
    stimulus (scl=rwb)
sfr (key=IFS1 addr=0x86 size=2 access='rw rw rw rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='00000000---00000' mclr='00000000---00000')
    bit (names='U2TXIF U2RXIF INT2IF T5IF T4IF OC4IF OC3IF DMA2IF - - - INT1IF CNIF CMPIF BCL1IF I2C1IF')
    stimulus (scl=rwb)
sfr (key=IFS2 addr=0x88 size=2 access='u rw rw u u u rw u rw rw rw rw u u rw rw')
    reset (por='-00---0-0000--00' mclr='-00---0-0000--00')
    bit (names='- DMA4IF PMPIF - - - OC5IF - IC5IF IC4IF IC3IF DMA3IF - - SPI2IF SPI2FLTIF')
    stimulus (scl=rwb)
sfr (key=IFS4 addr=0x8C size=2 access='u u u u u u u u u u rw rw rw rw rw u')
    reset (por='----------00000-' mclr='----------00000-')
    bit (names='- - - - - - - - - - DMA7IF DMA6IF CRCIF U2ERRIF U1ERRIF -')
    stimulus (scl=rwb)

#sfr (key=IFS5 addr=0x8E size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='------------000-' mclr='------------000-')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)
#sfr (key=IFS6 addr=0x90 size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='------------000-' mclr='------------000-')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)
#sfr (key=IFS7 addr=0x92 size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='------------000-' mclr='------------000-')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)

UnusedRegs (0x8E-0x93)

sfr (key=IEC0 addr=0x94 size=2 access='u rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='-000000000000000' mclr='-000000000000000')
    bit (names='- DMA1IE ADIE U1TXIE U1RXIE SPI1IE SPI1FLTIE T3IE T2IE OC2IE IC2IE DMA0IE T1IE OC1IE IC1IE INT0IE')
    stimulus (scl=rwb)
sfr (key=IEC1 addr=0x96 size=2 access='rw rw rw rw rw rw rw rw u u u rw rw rw rw rw')
    reset (por='00000000---00000' mclr='00000000---00000')
    bit (names='U2TXIE U2RXIE INT2IE T5IE T4IE OC4IE OC3IE DMA2IE - - - INT1IE CNIE CMPIE BCL1IE I2C1IE')
    stimulus (scl=rwb)
sfr (key=IEC2 addr=0x98 size=2 access='u rw rw u u u rw u rw rw rw rw u u rw rw')
    reset (por='-00---0-0000--00' mclr='-00---0-0000--00')
    bit (names='- DMA4IE PMPIE - - - OC5IE - IC5IE IC4IE IC3IE DMA3IE - - SPI2IE SPI2FLTIE')
    stimulus (scl=rwb)
sfr (key=IEC4 addr=0x9C size=2 access='u u u u u u u u u u rw rw rw rw rw u')
    reset (por='----------00000-' mclr='----------00000-')
    bit (names='- - - - - - - - - - DMA7IE DMA6IE CRCIE U2ERRIE U1ERRIE -')
    stimulus (scl=rwb)
#sfr (key=IEC5 addr=0x9E size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='------------000-' mclr='------------000-')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)
#sfr (key=IEC6 addr=0xA0 size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='------------000-' mclr='------------000-')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)
#sfr (key=IEC7 addr=0xA2 size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='------------000-' mclr='------------000-')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)

UnusedRegs (0x9E-0xA3)

sfr (key=IPC0 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='- T1IP - OC1IP - IC1IP - INT0IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC1 addr=0xA6 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='- T2IP - OC2IP - IC2IP - DMA0IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC2 addr=0xA8 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='- U1RXIP - SP1IP - SPI1FLTIP - T3IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC3 addr=0xAA 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='-----100-100-100')
    bit (names='- - - - - DMA1IP - ADIP - U1TXIP' width='1 1 1 1 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC4 addr=0xAC 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 - CMPIP - BCL1IP - I2C1IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC5 addr=0xAE size=2 access='u u u u u u u u u u u u u rw rw rw')
    reset (por='-------------100' mclr='-------------uuu')
    bit (names='- - - - - - - - - - - - - INT1IP' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3')
    stimulus (scl=rwb)
sfr (key=IPC6 addr=0xB0 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='- T4IP - OC4IP - OC3IP - DMA2IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC7 addr=0xB2 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='- U2TXIP - U2RXIP - INT2IP - T5IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC8 addr=0xB4 size=2 access='u u u u u u u u u rw rw rw u rw rw rw')
    reset (por='---------100-100' mclr='---------uuu-uuu')
    bit (names='- - - - - - - - - SPI2IP - SPIFLT2IP' width='1 1 1 1 1 1 1 1 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC9 addr=0xB6 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='- IC5IP - IC4IP - IC3IP - DMA3IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC10 addr=0xB8 size=2 access='u u u u u u u u u rw rw rw u u u u')
    reset (por='---------100----' mclr='---------uuu----')
    bit (names='- - - - - - - - - OC5IP - - - -' width='1 1 1 1 1 1 1 1 1 3 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=IPC11 addr=0xBA size=2 access='u u u u u rw rw rw u rw rw rw u u u u')
    reset (por='-----100-100----' mclr='-----uuu-uuu----')
    bit (names='- - - - - DMA4IP - PMPIP - - - -' width='1 1 1 1 1 3 1 3 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=IPC13 addr=0xBE 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='-100-100-100-100')
    bit (names='- C2RXIP - INT4IP - INT3IP - T9IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
#sfr (key=IPC14 addr=0xC0 size=2 access='u u u u u u u u u u u u u u u u')
#    reset (por='----------------' mclr='----------------')
#    bit (names='- - - - - - - - - - - - - - - -')
#    stimulus (scl=rwb)
sfr (key=IPC15 addr=0xC2 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='- - - - - RTCCIP - DMA5IP - DCIIP' width='1 1 1 1 1 3 1 3 1 3')
    stimulus (scl=rwb)
sfr (key=IPC16 addr=0xC4 size=2 access='u rw rw rw u rw rw rw u rw rw rw u u u u')
    reset (por='-100-100-100----' mclr='-uuu-uuu-uuu----')
    bit (names='- CRCIP - U2ERRIP - U1ERRIP - - - -' width='1 3 1 3 1 3 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=IPC17 addr=0xC6 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='-100-100-100-100')
    bit (names='- C2TXIP - C1TXIP - DMA7IP - DMA6IP' width='1 3 1 3 1 3 1 3')
    stimulus (scl=rwb)
    

UnusedRegs (0xC8-0xDF)

sfr (key=INTREG addr=0xE0 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 (0xE2-0xFF)


sfr (key=IFS3 addr=0x8A size=2 access='u rw rw u u u u u u rw rw u u rw rw u')
    reset (por='-00------00--00-' mclr='-00------00--00-')
    bit (names='- RTCCIF DMA5IF - - - - - - INT4IF INT3IF - - BCL2IF I2C2IF -')
    stimulus (scl=rwb)

sfr (key=IEC3 addr=0x9A size=2 access='u rw rw u u u u u u rw rw u u rw rw u')
    reset (por='-00------00--00-' mclr='-00------00--00-')
    bit (names='- RTCCIE DMA5IE - - - - - - INT4IE INT3IE - - BCL2IE I2C2IE -')
    stimulus (scl=rwb)

sfr (key=IPC12 addr=0xBC size=2 access='u u u u u rw rw rw u rw rw rw u u u u')
    reset (por='-----100-100----' mclr='-----uuu-uuu----')
    bit (names='- - - - - BCL2IP - I2C2IP - - - -' width='1 1 1 1 1 3 1 3 1 1 1 1')
    stimulus (scl=rwb)



                               #--------------#
#------------------------------# Timers  SFRs #------------------------------#
                               #--------------#

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='T1ON - T1SIDL - - - - - - T1GATE T1CKPS - T1SYNC T1CS -' 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------0000-0-')
    bit (names='T2ON - T2SIDL - - - - - - T2GATE T2CKPS T32 - T2CS -' 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------000--0-')
    bit (names='T3ON - T3SIDL - - - - - - T3GATE T3CKPS - - T3CS -' 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='0-0------0000-0-' mclr='0-0------0000-0-')
    bit (names='T4ON - T4SIDL - - - - - - T4GATE T4CKPS T45 - T4CS -' 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='0-0------000--0-' mclr='0-0------uuu--u-')
    bit (names='T5ON - T5SIDL - - - - - - T5GATE T5CKPS - - T5CS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)


sfr (key=TMR6 addr=0x122 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='TMR6' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR7HLD addr=0x124 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='TMR7HLD' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR7 addr=0x126 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='TMR7' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR6 addr=0x128 size=2 access='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='1111111111111111' mclr='1111111111111111')
    bit (names='PR6' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR7 addr=0x12A 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='PR7' width='16')
    stimulus (scl=rwb type=int)
sfr (key=T6CON addr=0x12C 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------0000-0-')
    bit (names='T6ON - T6SIDL - - - - - - T6GATE T6CKPS T67 - T6CS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=T7CON addr=0x12E 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------000--0-')
    bit (names='T7ON - T7SIDL - - - - - - T7GATE T7CKPS - - T7CS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)

sfr (key=TMR8 addr=0x130 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='TMR8' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR9HLD addr=0x132 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='TMR9HLD' width='16')
    stimulus (scl=rwb type=int)
sfr (key=TMR9 addr=0x134 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='TMR9' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR8 addr=0x136 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='PR8' width='16')
    stimulus (scl=rwb type=int)
sfr (key=PR9 addr=0x138 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='PR9' width='16')
    stimulus (scl=rwb type=int)
sfr (key=T8CON addr=0x13A 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------0000-0-')
    bit (names='T8ON - T8SIDL - - - - - - T8GATE T8CKPS T89 - T8CS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=T9CON addr=0x13C 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='T9ON - T9SIDL - - - - - - T9GATE T9CKPS - - T9CS -' width='1 1 1 1 1 1 1 1 1 1 2 1 1 1 1')
    stimulus (scl=rwb)

UnusedRegs (0x13e-0x13f)


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

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

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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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 - - - - - - - - OCFLT1 OCTSEL1 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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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 - - - - - - - - OCFLT2 OCTSEL2 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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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 - - - - - - - - OCFLT3 OCTSEL3 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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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 - - - - - - - - OCFLT4 OCTSEL4 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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    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 - - - - - - - - OCFLT5 OCTSEL5 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)

                               #-------------------------------#
#------------------------------# MPWM and QEI Controller  SFRs #------------------------------#
                               #-------------------------------#

UnusedRegs (0x1C0-0x1FF)

                               #------------------------#
#------------------------------# I2C 1 Controller  SFRs #------------------------------#
                               #------------------------#

sfr (key=I2C1RCV 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='- - - - - - - - I2C1RCV' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=I2C1TRN addr=0x202 size=2 access='u u u u u u u u w w w w w w w w')
    reset (por='--------11111111' mclr='--------11111111')
    bit (names='- - - - - - - - I2C1TRN' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=I2C1BRG 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='- - - - - - - I2C1BRG' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rwb)
sfr (key=I2C1CON addr=0x206 size=2 access='rw u rw rw rw u rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-010-0000000000' mclr='0-010-0000000000')
    bit (names='I2CEN - I2CSIDL SCLREL IPMIEN - DISSLW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN')
    stimulus (scl=rwb)
sfr (key=I2C1STAT addr=0x208 size=2 access='r r u u u r 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 I2CPOV D/nA P S R/nW RBF TBF')
    bit (tag=scl names='ACKSTAT TRSTAT - - - BCL GCSTAT ADD10 IWCOL I2CCOV D_nA P S R_nW RBF TBF')
    stimulus (scl=rwb)
sfr (key=I2C1ADD 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='- - - - - - I2C1ADD' width='1 1 1 1 1 1 10')
    stimulus (scl=rwb)
    
#Added by akram on 23-Sep-2005 Ref: Page  132 of DS39747A
#PS part does not have I2C1MSK and I2C2MSK
sfr (key=I2C1MSK addr=0x20C 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='- - - - - - AMSK' width='1 1 1 1 1 1 10')
    stimulus (scl=rwb)
   

UnusedRegs (0x20c-0x20f)



                               #------------------------#
#------------------------------# I2C 2 Controller  SFRs #------------------------------#
                               #------------------------#

sfr (key=I2C2RCV addr=0x210 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='- - - - - - - - I2C2RCV' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=rwb regfiles=r pcfiles=r)
sfr (key=I2C2TRN addr=0x212 size=2 access='u u u u u u u u w w w w w w w w')
    reset (por='--------11111111' mclr='--------11111111')
    bit (names='- - - - - - - - I2C2TRN' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=rwb regfiles=w pcfiles=w)
sfr (key=I2C2BRG addr=0x214 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='- - - - - - - I2C2BRG' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rwb)
sfr (key=I2C2CON addr=0x216 size=2 access='rw u rw rw rw u rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-010-0000000000' mclr='00010-0000000000')
    bit (names='I2CEN - I2CSIDL SCLREL IPMIEN - DISSLW SMEN GCEN STREN ACKDT ACKEN RCEN PEN RSEN SEN')
    stimulus (scl=rwb)
sfr (key=I2C2STAT addr=0x218 size=2 access='r r u u u u r r rc rc r rc rc r r r')
    reset (por='00----0000000000' mclr='00----0000000000')
    bit (names='ACKSTAT TRSTAT - - - - GCSTAT ADD10 IWCOL I2CPOV D/nA P S R/nW RBF TBF')
    bit (tag=scl names='ACKSTAT TRSTAT - - - - GCSTAT ADD10 IWCOL I2CCOV D_nA P S R_nW RBF TBF')
    stimulus (scl=rwb)
sfr (key=I2C2ADD addr=0x21a 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='- - - - - - I2C2ADD' width='1 1 1 1 1 1 10')
    stimulus (scl=rwb)
    
#Added by akram on 23-Sep-2005 Ref: Page no 132 of DS39747A
#Removed by leo on 04-Oct-2005 because PS part does not have I2C1MSK and I2C2MSK
sfr (key=I2C2MSK addr=0x21C 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='- - - - - - AMSK' width='1 1 1 1 1 1 10')
    stimulus (scl=rwb)  

UnusedRegs (0x21c-0x21f)


                               #------------------------#
#------------------------------# UART1 Controller  SFRs #------------------------------#
                               #------------------------#

sfr (key=U1MODE addr=0x220 size=2 access='rw u rw rw rw u rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-000-0000000000' mclr='0-000-0000000000')
    bit (names='SPEN - USIDL IRDAEN RTSMD - UEN1 UEN0 WAKE LPBACK ABAUD RXINV BRGH 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=0x222 size=2 access='rw rw rw u rw rw r r rw rw rw r r r rc r')
    reset (por='000-000100010000' mclr='000-000100010000')
    bit (names='TXISEL1 TXINV TXISEL0 - TXBRK TXEN TXBF TRMT RCISEL ADDEN RIDLE PERR FERR OERR RCDA' width='1 1 1 1 1 1 1 1 2 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=U1TXREG addr=0x224 size=2 access='u u u u u u u w w w w w w w w w')
    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=0x226 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=r)
sfr (key=U1BRG addr=0x228 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)

UnusedRegs (0x22a-0x22f)


                               #------------------------#
#------------------------------# UART2 Controller  SFRs #------------------------------#
                               #------------------------#

sfr (key=U2MODE addr=0x230 size=2 access='rw u rw rw rw u rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-000-0000000000' mclr='0-000-0000000000')
    bit (names='SPEN - USIDL IRDAEN RTSMD - UEN1 UEN0 WAKE LPBACK ABAUD RXINV BRG 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=0x232 size=2 access='rw rw rw u rw rw r r rw rw rw r r r rc r')
    reset (por='000-000100010000' mclr='000-000100010000')
    bit (names='TXISEL1 TXINV TXISEL0 - TXBRK TXEN TXBF TRMT RCISEL ADDEN RIDLE PERR FERR OERR RCDA' width='1 1 1 1 1 1 1 1 2 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=U2TXREG addr=0x234 size=2 access='u u u u u u u w w w w w w w w w')
    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=0x236 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=r)
sfr (key=U2BRG addr=0x238 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)

UnusedRegs (0x23a-0x23f)



                               #-----------------------#
#------------------------------# SPI1 Controller  SFRs #------------------------------#
                               #-----------------------#

sfr (key=SPI1STAT addr=0x240 size=2 access='rw u rw u u rw rw rw u rc u u u u r r')
    reset (por='0-0--000-0----00' mclr='0-0--000-0----00')
    bit (names='SPIEN - SPISIDL - - BUFELM - SPIROV - - - - SPITBF SPIRBF' width='1 1 1 1 1 3 1 1 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=SPI1CON1 addr=0x242 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='---0000000000000' mclr='---0000000000000')
    bit (names='- - - DISSCK DISSDO MODE16 SMP CKE SSEN CKP MSTEN SPRE PPRE' width='1 1 1 1 1 1 1 1 1 1 1 3 2')
    stimulus (scl=rwb)
sfr (key=SPI1CON2 addr=0x244 size=2 access='rw rw rw u u u u u u u u u u u rw rw')
    reset (por='000-----------00' mclr='000-----------00')
    bit (names='FRMEN FRMSYNC FRMPOL - - - - - - - - - - - FRMDEL ENHBUF' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1')
    stimulus (scl=rwb)
    
UnusedRegs (0x246-0x247)
    
sfr (key=SPI1BUF addr=0x248 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)
#sfr (key=SPI1TEST1 addr=0x248 size=2 access='u u u u rw rw rw rw u u u u rw rw rw rw')
#    reset (por='----0000----0000' mclr='----0000----0000')
#    bit (names='- - - - CRPTR - - - - CWPTR' width='1 1 1 1 4 1 1 1 1 4')
#sfr (key=SPI1TEST2 addr=0x24a 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='CRDAT CWDAT' width='8 8')


UnusedRegs (0x24A-0x25f)


                               #-----------------------#
#------------------------------# SPI1 Controller  SFRs #------------------------------#
                               #-----------------------#

sfr (key=SPI2STAT addr=0x260 size=2 access='rw u rw u u rw rw rw u rc u u u u r r')
    reset (por='0-0--000-0----00' mclr='0-0--000-0----00')
    bit (names='SPIEN - SPISIDL - - BUFELM - SPIROV - - - - SPITBF SPIRBF' width='1 1 1 1 1 3 1 1 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=SPI2CON1 addr=0x262 size=2 access='u u u rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='---0000000000000' mclr='---0000000000000')
    bit (names='- - - DISSCK DISSDO MODE16 SMP CKE SSEN CKP MSTEN SPRE PPRE' width='1 1 1 1 1 1 1 1 1 1 1 3 2')
    stimulus (scl=rwb)
sfr (key=SPI2CON2 addr=0x264 size=2 access='rw rw rw u u u u u u u u u u u rw rw')
    reset (por='000-----------00' mclr='000-----------00')
    bit (names='FRMEN FRMSYNC FRMPOL - - - - - - - - - - - FRMDEL ENHBUF' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=SPI2BUF addr=0x268 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)
#sfr (key=SPI2TEST1 addr=0x268 size=2 access='u u u u rw rw rw rw u u u u rw rw rw rw')
#    reset (por='----0000----0000' mclr='----0000----0000')
#    bit (names='- - - - CRPTR - - - - CWPTR' width='1 1 1 1 4 1 1 1 1 4')
#sfr (key=SPI2TEST2 addr=0x26a 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='CRDAT CWDAT' width='8 8')

UnusedRegs (0x266-0x267)
UnusedRegs (0x26A-0x27f)



sfr (key=TRISA addr=0x2c0 size=2 access='rw rw rw rw u rw rw u rw rw rw rw rw rw rw rw')
    reset (por='1111-11-11111111' mclr='1111-11-11111111')
    bit (names='TRISA15 TRISA14 TRISA13 TRISA12 - TRISA10 TRISA9 - TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0')
    bit (tag=scl names='TRISA' width='16')
    stimulus (scl=rwb)
    
sfr (key=PORTA addr=0x2c2 size=2 access='rw rw rw rw u rw rw u rw rw rw rw rw rw rw rw')
    reset (por='xxxx-xx-xxxxxxxx' mclr='uuuu-uu-uuuuuuuu')
    bit (names='RA15 RA14 RA13 RA12 - RA10 RA9 - RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0')
    bit (tag=scl names='RA' width='16')
    stimulus (scl=rwb)
    
sfr (key=LATA addr=0x2c4 size=2 access='rw rw rw rw u rw rw u rw rw rw rw rw rw rw rw')
    reset (por='0000-00-00000000' mclr='uuuu-uu-uuuuuuuu')
    bit (names='LATA15 LATA14 LATA13 LATA12 - LATA10 LATA9 - LATA7 LATA6 LATA5 LATA4 LATA3 LATA2 LATA1 LATA0')
    bit (tag=scl names='LATA' width='16')
    stimulus (scl=rwb)
   
sfr (key=ODCA addr=0x6c0 size=2 access='rw rw rw rw u u u u u u rw rw rw rw rw rw')
    reset (por='0000------000000' mclr='uuuu------uuuuuu')
    bit (names='ODCA15 ODCA14 ODCA13 ODCA12 - - - - - - ODCA5 ODCA4 ODCA3 ODCA2 ODCA1 ODCA0')
    bit (tag=scl names='ODCA' width='16')
    stimulus (scl=rwb)
    

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)

UnusedRegs (0x6c6-0x6c7)

sfr (key=TRISC addr=0x2cc size=2 access='rw rw rw rw u u u u u u u rw rw rw rw u')
    reset (por='1111-------1111-' mclr='1111-------1111-')
    bit (names='TRISC15 TRISC14 TRISC13 TRISC12 - - - - - - - TRISC4 TRISC3 TRISC2 TRISC1 -')
    bit (tag=scl names='TRISC' width='16')
    stimulus (scl=rwb)
sfr (key=PORTC addr=0x2ce size=2 access='rw rw rw rw u u u u u u u rw rw rw rw u')
    reset (por='xxxx-------xxxx-' mclr='uuuu-------uuuu-')
    bit (names='RC15 RC14 RC13 RC12 - - - - - - - RC4 RC3 RC2 RC1 -')
    bit (tag=scl names='RC' width='16')
    stimulus (scl=rwb)
sfr (key=LATC addr=0x2d0 size=2 access='rw rw rw rw u u u u u u u rw rw rw rw u')
    reset (por='0000-------0000-' mclr='uuuu-------uuuu-')
    bit (names='LATC15 LATC14 LATC13 LATC12 - - - - - - - LATC4 LATC3 LATC2 LATC1 -')
    bit (tag=scl names='LATC' width='16')
    stimulus (scl=rwb)

UnusedRegs (0x6cc-0x6cd)


sfr (key=TRISD addr=0x2d2 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='TRISD15 TRISD14 TRISD13 TRISD12 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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='xxxxxxxxxxxxxxxx' mclr='uuuuuuuuuuuuuuuu')
    bit (names='RD15 RD14 RD13 RD12 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='rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='uuuuuuuuuuuuuuuu')
    bit (names='LATD15 LATD14 LATD13 LATD12 LATD11 LATD10 LATD9 LATD8 LATD7 LATD6 LATD5 LATD4 LATD3 LATD2 LATD1 LATD0')
    bit (tag=scl names='LATD' width='16')
    stimulus (scl=rwb)
sfr (key=ODCD addr=0x6d2 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='ODCD15 ODCD14 ODCD13 ODCD12 ODCD11 ODCD10 ODCD9 ODCD8 ODCD7 ODCD6 ODCD5 ODCD4 ODCD3 ODCD2 ODCD1 ODCD0')
    bit (tag=scl names='ODCD' width='16')
    stimulus (scl=rwb)


sfr (key=TRISE addr=0x2d8 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------11111111' mclr='--------11111111')
    bit (names='- - - - - - - - TRISE7 TRISE6 TRISE5 TRISE4 TRISE3 TRISE2 TRISE1 TRISE0')
    bit (tag=scl names='TRISE' width='16')
    stimulus (scl=rwb)
sfr (key=PORTE addr=0x2da size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------xxxxxxxx' mclr='--------uuuuuuuu')
    bit (names='- - - - - - - - RE7 RE6 RE5 RE4 RE3 RE2 RE1 RE0')
    bit (tag=scl names='RE' width='16')
    stimulus (scl=rwb)
sfr (key=LATE addr=0x2dc size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------00000000' mclr='--------uuuuuuuu')
    bit (names='- - - - - - - - LATE7 LATE6 LATE5 LATE4 LATE3 LATE2 LATE1 LATE0')
    bit (tag=scl names='LATE' width='16')
    stimulus (scl=rwb)

UnusedRegs (0x6d8-0x6d9)


sfr (key=TRISF addr=0x2de size=2 access='u u rw rw u u u rw rw rw rw rw rw rw rw rw')
    reset (por='--11---111111111' mclr='--11---111111111')
    bit (names='- - TRIS13 TRIS12 - - - TRISF8 TRISF7 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 rw rw u u u rw rw rw rw rw rw rw rw rw')
    reset (por='--xx---xxxxxxxxx' mclr='--uu---uuuuuuuuu')
    bit (names='- - RF13 RF12 - - - RF8 RF7 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 rw rw u u u rw rw rw rw rw rw rw rw rw')
    reset (por='--00---000000000' mclr='--uu---uuuuuuuuu')
    bit (names='- - LATF13 LATF12 - - - LATF8 LATF7 LATF6 LATF5 LATF4 LATF3 LATF2 LATF1 LATF0')
    bit (tag=scl names='LATF' width='16')
    stimulus (scl=rwb)
sfr (key=ODCF addr=0x6de size=2 access='u u rw rw u u u rw rw rw rw rw rw rw rw rw')
    reset (por='--00---000000000' mclr='--uu---uuuuuuuuu')
    bit (names='- - ODCF13 ODCF12 - - - ODCF8 ODCF7 ODCF6 ODCF5 ODCF4 ODCF3 ODCF2 ODCF1 ODCF0')
    bit (tag=scl names='ODCF' width='16')
    stimulus (scl=rwb)


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='1111--1111--1111' mclr='1111--1111--1111')
    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='xxxx--xxxx--xxxx' mclr='uuuu--uuuu--uuuu')
    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='0000--0000--0000' mclr='uuuu--uuuu--uuuu')
    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 (0x6e4-0x6e5)


UnusedRegs (0x2ea-0x2ff)


                               #-------------#
#------------------------------# ADC 1  SFRs #------------------------------#
                               #-------------#

sfr (key=AD1BUF0 addr=0x300 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='- - - - ADBUF0' width='1 1 1 1 12')
    stimulus (scl=rb regfiles=r)
sfr (key=AD1BUF1 addr=0x302 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='- - - - ADBUF1' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF2 addr=0x304 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='- - - - ADBUF2' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF3 addr=0x306 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='- - - - ADBUF3' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF4 addr=0x308 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='- - - - ADBUF4' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF5 addr=0x30a 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='- - - - ADBUF5' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF6 addr=0x30c 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='- - - - ADBUF6' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF7 addr=0x30e 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='- - - - ADBUF7' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF8 addr=0x310 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='- - - - ADBUF8' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUF9 addr=0x312 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='- - - - ADBUF9' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUFA addr=0x314 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='- - - - ADBUFA' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUFB addr=0x316 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='- - - - ADBUFB' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUFC addr=0x318 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='- - - - ADBUFC' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUFD addr=0x31a 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='- - - - ADBUFD' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUFE addr=0x31c 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='- - - - ADBUFE' width='1 1 1 1 12')
    stimulus (scl=rb)
sfr (key=AD1BUFF addr=0x31e 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='- - - - ADBUFF' width='1 1 1 1 12')
    stimulus (scl=rb)

sfr (key=AD1CON1 addr=0x320 size=2 access='rw u rw u u u rw rw rw rw rw u rw rw rw rc')
    reset (por='0-0---00000--000' mclr='0-0---00000--000')
    bit (names='ADON - ADSIDL - - - FORM SSRC - SIMSAM ASAM SAMP CONV' width='1 1 1 1 1 1 2 3 1 1 1 1 1')
    stimulus (scl=rwb)
sfr (key=AD1CON2 addr=0x322 size=2 access='rw rw rw rw u rw rw rw r u rw rw rw rw rw rw')
    reset (por='0000-0000-000000' mclr='0000-0000-000000')
    bit (names='VCFG OFFCAL - CSCNA CHPS BUFS - SMPI BUFM ALTS' width='3 1 1 1 2 1 1 4 1 1')
    stimulus (scl=rwb)
sfr (key=AD1CON3 addr=0x324 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=AD1CON4 addr=0x332 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='- - - - - - - - - - - - - DMABL' width='1 1 1 1 1 1 1 1 1 1 1 1 1 3')
    stimulus (scl=rwb)

sfr (key=AD1CHS123 addr=0x326 size=2 access='u u u u u rw rw rw u u u u u rw rw rw')
    reset (por='-----000-----000' mclr='-----000-----000')
    bit (names='- - - - - CH123NB CH123SB - - - - - CH123NA CH123SA' width='1 1 1 1 1 2 1 1 1 1 1 1 2 1')
    stimulus (scl=rwb)
sfr (key=AD1CHS0 addr=0x328 size=2 access='rw u u u rw rw rw rw rw u u u rw rw rw rw')
    reset (por='0---00000---0000' mclr='0---00000---0000')
    bit (names='CH0NB - - - CH0SB CH0NA - - - CH0SA' width='1 1 1 1 4 1 1 1 1 4')
    stimulus (scl=rwb)

sfr (key=AD1PCFGL addr=0x32c 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')
    stimulus (scl=rwb)
sfr (key=AD1CSSL addr=0x330 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')
    stimulus (scl=rwb)
sfr (key=AD1PCFGH addr=0x32a 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='PCFGH')
    stimulus (scl=rwb)
sfr (key=AD1CSSH addr=0x32e 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='CSSH' width='16')
    stimulus (scl=rwb)
UnusedRegs (0x332-0x33f)

                               #-------------#
#------------------------------# ADC 2  SFRs #------------------------------#
                               #-------------#
UnusedRegs (0x340-0x37f)


                               #-------------#
#------------------------------# DMAC   SFRs #------------------------------#
                               #-------------#

sfr (key=DMA0CON addr=0x380 size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA0REQ addr=0x382 size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA0STA addr=0x384 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA0STB addr=0x386 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA0PAD addr=0x388 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA0CNT addr=0x38a size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA1CON addr=0x38c size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA1REQ addr=0x38e size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA1STA addr=0x390 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA1STB addr=0x392 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA1PAD addr=0x394 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA1CNT addr=0x396 size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA2CON addr=0x398 size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA2REQ addr=0x39a size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA2STA addr=0x39c 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA2STB addr=0x39e 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA2PAD addr=0x3a0 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA2CNT addr=0x3a2 size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA3CON addr=0x3a4 size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA3REQ addr=0x3a6 size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA3STA addr=0x3a8 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA3STB addr=0x3aa 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA3PAD addr=0x3ac 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA3CNT addr=0x3ae size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA4CON addr=0x3b0 size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA4REQ addr=0x3b2 size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA4STA addr=0x3b4 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA4STB addr=0x3b6 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA4PAD addr=0x3b8 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA4CNT addr=0x3ba size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA5CON addr=0x3bc size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA5REQ addr=0x3be size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA5STA addr=0x3c0 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA5STB addr=0x3c2 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA5PAD addr=0x3c4 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA5CNT addr=0x3c6 size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA6CON addr=0x3c8 size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA6REQ addr=0x3ca size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA6STA addr=0x3cc 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA6STB addr=0x3ce 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA6PAD addr=0x3d0 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA6CNT addr=0x3d2 size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMA7CON addr=0x3d4 size=2 access='rw rw rw rw rw u u u u u rw rw u u rw rw')
    reset (por='00000-----00--00' mclr='00000-----00--00')
    bit (names='CHEN SIZE DIR HALF NULLW - - - - - AMODE - - MODE' width='1 1 1 1 1 1 1 1 1 1 2 1 1 2')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA7REQ addr=0x3d6 size=2 access='rs u u u u u u u u rw rw rw rw rw rw rw')
    reset (por='0--------1111111' mclr='0--------1111111')
    bit (names='FORCE - - - - - - - - IRQSEL' width='1 1 1 1 1 1 1 1 1 7')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA7STA addr=0x3d8 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='STA' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA7STB addr=0x3da 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='STB' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA7PAD addr=0x3dc 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='PAD' width='16')
    stimulus (scl=rb regfiles=r)
sfr (key=DMA7CNT addr=0x3de size=2 access='- - - - - - rw rw rw rw rw rw rw rw rw rw')
    reset (por='0000000000000000' mclr='0000000000000000')
    bit (names='PAD' width='16')
    stimulus (scl=rb regfiles=r)

sfr (key=DMACS0 addr=0x3E0 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='PWCOL7 PWCOL6 PWCOL5 PWCOL4 PWCOL3 PWCOL2 PWCOL1 PWCOL0 XWCOL7 XWCOL6 XWCOL5 XWCOL4 XWCOL3 XWCOL2 XWCOL1 XWCOL0')
    stimulus (scl=rb regfiles=r)
sfr (key=DMACS1 addr=0x3E2 size=2 access='u u u u r r r r r r r r r r r r')
    reset (por='----000000000000' mclr='----000000000000')
    bit (names='- - - - LSTCH PPST7 PPST6 PPST5 PPST4 PPST3 PPST2 PPST1 PPST0' width='1 1 1 1 4 1 1 1 1 1 1 1 1')
    stimulus (scl=rb regfiles=r)
sfr (key=DSADR addr=0x3E4 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='DSADR' width='16')
    stimulus (scl=rb regfiles=r)
UnusedRegs (0x3e6-0x3ff)

                               #----------------------#
#------------------------------# Parrallel Port  SFRs #------------------------------#
                               #----------------------#

sfr (key=PMPCON addr=0x600 size=2 access='rw u rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-00000000000000' mclr='0-00000000000000')
    bit (names='PMPEN - PSIDL ADRMUX PTBEEN PTWREN PTRDEN CSF ALP CS2P CS1P BEP WRSP RDSP' width='1 1 1 2 1 1 1 2 1 1 1 1 1 1')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
sfr (key=PMPMODE addr=0x602 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='BUSY IRQM INCM MODE16 MODE1 MODE0 WAITB WAITM WAITE' width='1 2 2 1 1 1 2 4 2')
    bit (tag=scl names='- BUSY 8_16 IRCM INCM MODE WAIT3 WAIT2 WAIT1' width='1 1 1 2 2 2 2 3 2')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
sfr (key=PMPADDR addr=0x604 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='CS ADDR' width='2 14')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
sfr (key=PMPDATA1 addr=0x606 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='DATA' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
sfr (key=PMPDATA2 addr=0x608 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='DATA' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
sfr (key=PMPPE1 addr=0x60a 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='PTEN' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
sfr (key=PMPPE2 addr=0x60c 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='PTEN' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
UnusedRegs (0x60e-0x61f)



sfr (key=ALRMVAL addr=0x620 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='ALRMVAL' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
sfr (key=ALRMCFG addr=0x622 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='ALRMEN CHIME AMASK APTR ARPT' width='1 1 4 2 8')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
sfr (key=RTCVAL addr=0x624 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='RTCVAL' width='16')
    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)
sfr (key=RTCCFG addr=0x626 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='RTCEN RTCWREN RTCSYNC HALFSEC RTCOE - RTCPTR CAL' width='1 1 1 1 1 1 2 8')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)

UnusedRegs (0x628-0x62f)



sfr (key=CMCON addr=0x630 size=2 access='rw u rw rw rw rw rw rw rw rw rw rw rw rw rw rw')
    reset (por='0-00000000000000' mclr='u-uuuuuuuuuuuuuu')
    bit (names='PSIDL - C2EVT C1EVT C2EN C1EN C2OUTEN C1OUTEN C2OUT C1OUT C2INV C1INV C2NEG C2POS C1NEG C1POS')
sfr (key=CVRCON addr=0x632 size=2 access='u u u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='--------00000000' mclr='--------uuuuuuuu')
    bit (names='- - - - - - - - CVREN CVROE CVRR CVRSS CVR' width='1 1 1 1 1 1 1 1 1 1 1 1 4')

UnusedRegs (0x634-0x63f)


UnusedRegs (0x648-0x6ff)
UnusedRegs (0x700-0x73f)
UnusedRegs (0x780-0x7ff)


sfr (key=RCON addr=0x740 size=2 access='rw rw u u u u u u rw rw rw rw rw rw rw rw')
    reset (por='00------00000011' mclr='uu------uuuuuuuu')
    bit (names='TRAPR IOPR - - - - - - EXTR SWR SWDTEN WDTO SLEEP IDLE BOR POR')
    stimulus (scl=r)
sfr (key=OSCCON addr=0x742 size=2 access='u rw rw rw u rw rw rw rw u rw u rw u rw rw')
    reset (por='-yyy-yyy0---0000' mclr='-yyy-yyy0---0000')
    bit (names='- COSCG - NOSCG CLKLOCK - LOCK - CF - LPOSCEN OSWEN' width='1 3 1 3 1 1 1 1 1 1 1 1')
    stimulus (scl=r)
sfr (key=CLKDIV addr=0x744 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='ROI DOZE DOZEN RCDIV PLLPOST PRESCLR' width='1 3 1 3 3 5')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
sfr (key=PLLFBD addr=0x746 size=2 access='u u u u u u u rw rw rw rw rw rw rw rw rw')
    reset (por='-------000000000' mclr='-------uuuuuuuuu')
    bit (names='- - - - - - - DIVISOR' width='1 1 1 1 1 1 1 9')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
sfr (key=OSCTRIM addr=0x748 size=2 access='u u u u u u u u u u rw rw rw rw rw rw')
    reset (por='----------000000' mclr='----------uuuuuu')
    bit (names='- - - - - - - - - - TUN' width='1 1 1 1 1 1 1 1 1 1 6')
    stimulus (scl=rwb regfiles=rw pcfiles=rw)
#sfr (key=RSIBCON addr=0x74a size=2 access='u u u u u u u u u u u u u u u rw')
#    reset (por='---------------0' mclr='---------------u')
#    bit (names='- - - - - - - - - - - - - - - SWDTEN' width='1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1')
#    stimulus (scl=rwb type=int regfiles=rw pcfiles=rw)

UnusedRegs (0x74a-0x75f)



#For now I have used the dsPIC NVM's as they are shown in the MM4 DOS
sfr (key=NVMCON addr=0x760 size=2 access='rs rw rw u u u u u u rw u u rw rw rw rw')
    reset (por='000------0--0000' mclr='000------0--0000')
    bit (names='WR WREN WRERR - - - - - - ERASE - - NVMOP' width='1 1 1 1 1 1 1 1 1 1 1 1 4')
    stimulus (scl=r)
#UnusedRegs (0x762-0x765)
#There are no NVMADR sfr's in this device
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='- - - - - - - - NVMKEY' width='1 1 1 1 1 1 1 1 8')
    stimulus (scl=r)
UnusedRegs (0x768-0x76f)



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='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='- - - IC5MD IC4MD IC3MD IC2MD IC1MD - - - OC5MD OC4MD OC3MD OC2MD 0C1MD')
    stimulus (scl=rw)
sfr (key=PMD3 addr=0x774 size=2 access='u u u u u rw rw rw u u u u u u rw u')
    reset (por='-----000------0-' mclr='-----000------0-')
    bit (names='- - - - - CMPMD RTCCMD PMPMD - - - - - - I2CMD -')

UnusedRegs (0x776-0x77f)


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

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

cfgbits (key=FBS addr=0xF80000 unused=0x0000)
    field (key=BWRP mask=0x0001 desc="Boot Segment Write Protect" flags=h)
        setting (req=0x0001 value=0x0001 desc="Boot Segment may be written")
        setting (req=0x0001 value=0x0000 desc="Boot Segment is write protected")
    field (key=BSS mask=0x000E desc="Boot Segment Program Flash Code Protection" flags=h)
        setting (req=0x000E value=0x000E desc="No Boot Segment")
        setting (req=0x000E value=0x000C desc="Is 1K IW less VS")
        setting (req=0x000E value=0x000A desc="Is 4K IW less VS ")
        setting (req=0x000E value=0x0008 desc="Is 8K IW less VS ")
        setting (req=0x000E value=0x0006 desc="No Boot Segment and must erase for FSEC and FSWP")
        setting (req=0x000E value=0x0004 desc="Is 1K IW less VS and must erase for FSEC and FSWP")
        setting (req=0x000E value=0x0002 desc="Is 4K IW less VS and must erase for FSEC and FSWP")
        setting (req=0x000E value=0x0000 desc="Is 8K IW less VS and must erase for FSEC and FSWP")
    field (key=RBS mask=0x00C0 desc="Boot Segment RAM Protection" flags=h)
        setting (req=0x00C0 value=0x00C0 desc="No Boot RAM")
        setting (req=0x00C0 value=0x0080 desc="Boot RAM is 128")
        setting (req=0x00C0 value=0x0040 desc="Boot RAM is 256")
        setting (req=0x00C0 value=0x0000 desc="Boot RAM is 1024")

cfgbits (key=FSS addr=0xF80002 unused=0x0000)
    field (key=SWRP mask=0x0001 desc="Secure Segment Program Write Protect" flags=h)
        setting (req=0x0001 value=0x0001 desc="Disabled")
        setting (req=0x0001 value=0x0000 desc="Enabled")
    field (key=SSS mask=0x000E desc="Secure Segment Program Flash Code Protection" flags=h)
        setting (req=0x000E value=0x000E desc="No Secure Segment")
        setting (req=0x000E value=0x000C desc="Is 8K IW less BS")
        setting (req=0x000E value=0x000A desc="Is 16K IW less BS ")
        setting (req=0x000E value=0x0008 desc="Is 32K IW less BS ")
        setting (req=0x000E value=0x0006 desc="No Secure Segment and must erase for FSEC and FSWP")
        setting (req=0x000E value=0x0004 desc="Is 8K IW less BS and must erase for FSEC and FSWP")
        setting (req=0x000E value=0x0002 desc="Is 16K IW less BS and must erase for FSEC and FSWP")
        setting (req=0x000E value=0x0000 desc="Is 32K IW less BS and must erase for FSEC and FSWP")
    field (key=RSS mask=0x00C0 desc="Secure Segment RAM Protection" flags=h)
        setting (req=0x00C0 value=0x00C0 desc="None Defined")
        setting (req=0x00C0 value=0x0080 desc="Secure RAM is 256 Bytes Less")
        setting (req=0x00C0 value=0x0040 desc="Secure RAM is 2048 Bytes Less")
        setting (req=0x00C0 value=0x0000 desc="Secure RAM is 4096 Bytes Less")
        
cfgbits (key=FGS addr=0xF80004 unused=0x0000)        
    field (key=GWRP mask=0x0001 desc="General Code Segment Write Protect")
        setting (req=0x0001 value=0x0001 desc="General Segment may be written")
        setting (req=0x0001 value=0x0000 desc="General Segment is write protected")
    field (key=GSS mask=0x0006 desc="General Code Segment Code Protect")
        setting (req=0x0006 value=0x0006 desc="General Segment not Protected")
        setting (req=0x0006 value=0x0004 desc="General Segment Code Protected")
#        setting (req=0x0006 value=0x0002 desc="Standard Security")
#        setting (req=0x0006 value=0x0000 desc="High Security")

cfgbits (key=FOSCSEL addr=0xF80006 unused=0x0000)
    field (key=FNOSC mask=0x07 desc="Oscillator Mode")
        setting (req=0x07 value=0x07 desc="(FRC/16) divided by N")
        setting (req=0x07 value=0x06 desc="Internal Fast RC (FRC) divide by 16")
        setting (req=0x07 value=0x05 desc="Low Power RC Oscillator (LPRC)")
        setting (req=0x07 value=0x04 desc="Secondary Oscillator (SOSC)")
        setting (req=0x07 value=0x03 desc="Primary Oscillator (XT, HS, EC) w/ PLL")
        setting (req=0x07 value=0x02 desc="Primary Oscillator (XT, HS, EC)")
        setting (req=0x07 value=0x01 desc="Internal Fast RC (FRC) w/ PLL")        
        setting (req=0x07 value=0x00 desc="Internal Fast RC (FRC)")           
    # These are the IESO and TEMP bits (from dos-716b). They are not shown in the data sheet
    # but exist and should be set to 1.
    field (key=RES mask=0xA0 desc="Reserved" init=0xA0 flags=xh)    # these bits should be 1
        setting (req=0xA0 value=0xA0 desc="Reserved")

cfgbits (key=FOSC addr=0xF80008 unused=0x0000)
    field (key=FCKSM mask=0xC0 desc="Clock Switching and Monitor")
        setting (req=0x80 value=0x80 desc="Sw Disabled, Mon Disabled")
        setting (req=0xC0 value=0x40 desc="Sw Enabled, Mon Disabled")
        setting (req=0xC0 value=0x00 desc="Sw Enabled, Mon Enabled")
    field (key=OSCIOFNC mask=0x04 desc="OSCI/OSCO Pin Function")
        setting (req=0x04 value=0x04 desc="OSCO pin has clock out function")
        setting (req=0x04 value=0x00 desc="OSCO pin has digital I/O function")         
    field (key=POSCMD mask=0x03 desc="Primary Oscillator Source")
        setting (req=0x03 value=0x03 desc="Primary Oscillator Disabled")
        setting (req=0x03 value=0x02 desc="HS Oscillator Mode")
        setting (req=0x03 value=0x01 desc="XT Oscillator Mode")
        setting (req=0x03 value=0x00 desc="EC Oscillator Mode")

cfgbits (key=FWDT addr=0xf8000A unused=0x0000)
    field (key=WDTPS mask=0x000f desc="Watchdog Timer Postscaler")
        setting (req=0x000f value=0x000f desc="1:32,768")
        setting (req=0x000f value=0x000e desc="1:16,384")
        setting (req=0x000f value=0x000d desc="1:8,192")
        setting (req=0x000f value=0x000c desc="1:4,096")
        setting (req=0x000f value=0x000b desc="1:2,048")
        setting (req=0x000f value=0x000a desc="1:1,024")
        setting (req=0x000f value=0x0009 desc="1:512")
        setting (req=0x000f value=0x0008 desc="1:256")
        setting (req=0x000f value=0x0007 desc="1:128")
        setting (req=0x000f value=0x0006 desc="1:64")
        setting (req=0x000f value=0x0005 desc="1:32")
        setting (req=0x000f value=0x0004 desc="1:16")
        setting (req=0x000f value=0x0003 desc="1:8")
        setting (req=0x000f value=0x0002 desc="1:4")
        setting (req=0x000f value=0x0001 desc="1:2")
        setting (req=0x000f value=0x0000 desc="1:1")
    field (key=FWPSA0 mask=0x0010 desc="WDT Prescaler")
        setting (req=0x0010 value=0x0010 desc="1:128")
        setting (req=0x0010 value=0x0000 desc="1:32")      
    field (key=WINDIS mask=0x0040 desc="Watchdog Timer Window")
        setting (req=0x0040 value=0x0040 desc="Non-Window mode")
        setting (req=0x0040 value=0x0000 desc="Window mode")
    field (key=FWDTEN mask=0x0080 desc="Watchdog Timer Enable")
        setting (req=0x0080 value=0x0080 desc="Enable")
        setting (req=0x0080 value=0x0000 desc="Disable")

cfgbits (key=FPOR addr=0xf8000C unused=0x0000)
#    field (key=PWRTEN mask=0x0008 desc="Power Up Timer Enable" init=0x00)
#       setting (req=0x0008 value=0x0008 desc="Enable")
#        setting (req=0x0008 value=0x0000 desc="Disable")
    field (key=FPWRT mask=0x0007 desc="POR Timer Value")
        setting (req=0x7 value=0x7 desc="128ms")        
        setting (req=0x7 value=0x6 desc="64ms")        
        setting (req=0x7 value=0x5 desc="32ms")        
        setting (req=0x7 value=0x4 desc="16ms")        
        setting (req=0x7 value=0x3 desc="8ms")        
        setting (req=0x7 value=0x2 desc="4ms")        
        setting (req=0x7 value=0x1 desc="2ms")        
        setting (req=0x7 value=0x0 desc="Off")        
    # This is for the PWMPIN, HPOL and LPOL that do not exist in a GP part
    field (key=RES mask=0xE0 desc="Reserved" init=0xE0 flags=xh)    # these bits should be 1
        setting (req=0xE0 value=0xE0 desc="Reserved")

cfgbits (key=FICD addr=0xf8000E unused=0x0000)    
    field (key=ICS mask=0x0003 desc="Comm Channel Select")
        setting (req=0x03 value=0x3 desc="Use PGC/EMUC and PGD/EMUD")
        setting (req=0x03 value=0x2 desc="Use EMUC1 and EMUD1")
        setting (req=0x03 value=0x1 desc="Use EMUC2 and EMUD2")
        setting (req=0x03 value=0x0 desc="Use EMUC3 and EMUD3")
# GBP 7-6-2005 under advice from MK
#    field (key=SIGN mask=0x10 desc="Sign Bit" init=0x00)
#        setting (req=0x10 value=0x10 desc="Sign Bit On")
#        setting (req=0x10 value=0x00 desc="Sign Bit Off")                        
    field (key=JTAGEN mask=0x20 desc="JTAG Port Enable" init=0x00)
        setting (req=0x20 value=0x20 desc="Enabled")   
        setting (req=0x20 value=0x00 desc="Disabled")
    field (key=COE mask=0x40 desc="Set Clip On Emulation Mode")
        setting (req=0x40 value=0x40 desc="Reset Into Operational Mode")
        setting (req=0x40 value=0x00 desc="Reset Into Clip On Emulation Mode")
    field (key=BACKBUG mask=0x80 desc="Background Debug" flags=h)
        setting (req=0x80 value=0x80 desc="Disabled")
        setting (req=0x80 value=0x00 desc="Enabled")
                               # ------------#
#------------------------------# Peripherals #------------------------------------#
                               # ------------#


peripheral (key=PORTA sfrs='TRISA LATA PORTA INTCON2 CNEN2' type=port)
    iopin (key=RA0 dir=inout)
    iopin (key=RA1 dir=inout)
    iopin (key=RA2 dir=inout)
    iopin (key=RA3 dir=inout)
    iopin (key=RA4 dir=inout)
    iopin (key=RA5 dir=inout)
    iopin (key=RA6 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN22 enreg=CNEN2 enmask=0x0040)
    iopin (key=RA7 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN23 enreg=CNEN2 enmask=0x0080)
    iopin (key=RA9 dir=inout)
    iopin (key=RA10 dir=inout)
    iopin (key=RA12 dir=inout)
        extint (key=INT1 enreg=IEC1 enmask=0x0010 flgreg=IFS1 flgmask=0x0010 prireg=IPC5 primask=0x0007)
    iopin (key=RA13 dir=inout)
        extint (key=INT2 enreg=IEC1 enmask=0x2000 flgreg=IFS1 flgmask=0x2000 prireg=IPC7 primask=0x0070)
    iopin (key=RA14 dir=inout)
        extint (key=INT3 enreg=IEC3 enmask=0x0200 flgreg=IFS3 flgmask=0x0020 prireg=IPC13 primask=0x0070)
    iopin (key=RA15 dir=inout)
        extint (key=INT4 enreg=IEC3 enmask=0x0400 flgreg=IFS3 flgmask=0x0040 prireg=IPC13 primask=0x0700)



peripheral (key=PORTB sfrs='TRISB LATB PORTB INTCON2 CNEN1' type=port)
    iopin (key=RB0 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN2 enreg=CNEN1 enmask=0x0004)
    iopin (key=RB1 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN3 enreg=CNEN1 enmask=0x0008)
    iopin (key=RB2 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN4 enreg=CNEN1 enmask=0x0010)
    iopin (key=RB3 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN5 enreg=CNEN1 enmask=0x0020)
    iopin (key=RB4 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN6 enreg=CNEN1 enmask=0x0040)
    iopin (key=RB5 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN7 enreg=CNEN1 enmask=0x0080)
    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=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 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)


peripheral (key=PORTC sfrs='TRISC LATC PORTC CNEN1 CNEN2' type=port)
    iopin (key=RC1 dir=inout)
    iopin (key=RC2 dir=inout)
    iopin (key=RC3 dir=inout)
    iopin (key=RC4 dir=inout)
    iopin (key=RC12 dir=inout)
    iopin (key=RC13 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN1 enreg=CNEN1 enmask=0x0002)
    iopin (key=RC14 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN0 enreg=CNEN1 enmask=0x0001)
    iopin (key=RC15 dir=inout)


peripheral (key=PORTD sfrs='TRISD LATD PORTD 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=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN13 enreg=CNEN1 enmask=0x2000)
    iopin (key=RD5 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN14 enreg=CNEN1 enmask=0x4000)
    iopin (key=RD6 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN15 enreg=CNEN1 enmask=0x8000)
    iopin (key=RD7 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN16 enreg=CNEN2 enmask=0x0001)
    iopin (key=RD8 dir=inout)
        cnpin (key=IC1 notify=IC1)
    iopin (key=RD9 dir=inout)
        cnpin (key=IC2 notify=IC2)
    iopin (key=RD10 dir=inout)
        cnpin (key=IC3 notify=IC3)
    iopin (key=RD11 dir=inout)
        cnpin (key=IC4 notify=IC4)
    iopin (key=RD12 dir=inout)
        cnpin (key=IC5 notify=IC5)
    iopin (key=RD13 dir=inout)
        cnpin (key=IC6 notify=IC6)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN19 enreg=CNEN2 enmask=0x0008)
    iopin (key=RD14 dir=inout)
        cnpin (key=IC7 notify=IC7)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN20 enreg=CNEN2 enmask=0x0010)
    iopin (key=RD15 dir=inout)
        cnpin (key=IC8 notify=IC8)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN21 enreg=CNEN2 enmask=0x0020)

peripheral (key=PORTE sfrs='TRISE LATE PORTE INTCON2' type=port)
    iopin (key=RE0 dir=inout)
    iopin (key=RE1 dir=inout)
    iopin (key=RE2 dir=inout)
    iopin (key=RE3 dir=inout)
    iopin (key=RE4 dir=inout)
    iopin (key=RE5 dir=inout)
    iopin (key=RE6 dir=inout)
    iopin (key=RE7 dir=inout)


peripheral (key=PORTF sfrs='TRISF LATF PORTF CNEN2 INTCON2' 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=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN17 enreg=CNEN2 enmask=0x0002)
    iopin (key=RF5 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 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)

    iopin (key=RF7 dir=inout)
    iopin (key=RF8 dir=inout)
    iopin (key=RF12 dir=inout)
    iopin (key=RF13 dir=inout)


peripheral (key=PORTG sfrs='TRISG LATG PORTG CNEN1' 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=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN8 enreg=CNEN1 enmask=0x0100)
    iopin (key=RG7 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN9 enreg=CNEN1 enmask=0x0200)
    iopin (key=RG8 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 primask=0x7000)
        cn (key=CN10 enreg=CNEN1 enmask=0x0400)
    iopin (key=RG9 dir=inout)
        cnint (key=CNIRQ enreg=IEC1 enmask=0x0008 flgreg=IFS1 flgmask=0x0008 prireg=IPC4 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)


#--------------------------------------------------------------------------------
# 				CM
#--------------------------------------------------------------------------------

peripheral (key=CM sfrs='CMCON')
    pinfunc (key=C1INN port=RB4 dir=in)
    pinfunc (key=C1INP port=RB5 dir=in)
    pinfunc (key=C2INN port=RB2 dir=in)
    pinfunc (key=C2INP port=RB3 dir=in)
    pinfunc (key=C1OUT port=RB8 dir=out)
    pinfunc (key=C2OUT port=RB9 dir=out)
    interrupt (name=CMINT enreg=IEC1 enmask=0x0004 flgreg=IFS1 flgmask=0x0004 prireg=IPC4 primask=0x0700)


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=0x0080 flgreg=IFS0 flgmask=0x0080 prireg=IPC1 primask=0x7000)

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=0x0100 flgreg=IFS0 flgmask=0x0100 prireg=IPC2 primask=0x0007)

peripheral (key=TMR4 sfrs='TMR4 PR4 T4CON TMR5 TMR5HLD PR5 T5CON')
    pinfunc (key=T4CK port=RC3 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=TMR4INT enreg=IEC1 enmask=0x0800 flgreg=IFS1 flgmask=0x0800 prireg=IPC6 primask=0x7000)

peripheral (key=TMR5 sfrs='TMR5 TMR5HLD PR5 T5CON')
    pinfunc (key=T5CK port=RC4 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=TMR5INT enreg=IEC1 enmask=0x1000 flgreg=IFS1 flgmask=0x1000 prireg=IPC7 primask=0x0007)

peripheral (key=TMR6 sfrs='TMR6 PR6 T6CON TMR7 TMR7HLD PR7 T7CON')
    pinfunc (key=T6CK port=RC2 dir=in nextperiph=NONE nextpin=NONE) 
    interrupt (name=TMR6INT enreg=IEC2 enmask=0x8000 flgreg=IFS2 flgmask=0x8000 prireg=IPC11 primask=0x7000)

peripheral (key=TMR7 sfrs='TMR7 TMR7HLD PR7 T7CON')
    pinfunc (key=T7CK port=RC1 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=TMR7INT enreg=IEC3 enmask=0x0001 flgreg=IFS3 flgmask=0x0001 prireg=IPC12 primask=0x0007)

peripheral (key=TMR8 sfrs='TMR8 PR8 T8CON TMR9 TMR9HLD PR9 T9CON')
    pinfunc (key=T8CK port=RC4 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=TMR8INT enreg=IEC3 enmask=0x0008 flgreg=IFS3 flgmask=0x0008 prireg=IPC12 primask=0x7000)

peripheral (key=TMR9 sfrs='TMR9 TMR9HLD PR9 T9CON')
    pinfunc (key=T9CK port=RC3 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=TMR9INT enreg=IEC3 enmask=0x0010 flgreg=IFS1 flgmask=0x0010 prireg=IPC13 primask=0x0007)


peripheral (key=ADC1012_1 sfrs='AD1CON1 AD1CON2 AD1CON3 AD1CON4 AD1CHS0 AD1CHS123 AD1PCFGL AD1PCFGH AD1CSSL AD1CSSH AD1BUF0 AD1BUF1 AD1BUF2 AD1BUF3 AD1BUF4 AD1BUF5 AD1BUF6 AD1BUF7 AD1BUF8 AD1BUF9 AD1BUFA AD1BUFB AD1BUFC AD1BUFD AD1BUFE AD1BUFF')
    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=NONE nextpin=NONE)
    pinfunc (key=AN3 port=RB3 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN4 port=RB4 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN5 port=RB5 dir=in nextperiph=NONE nextpin=NONE)
    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=0x2000 flgreg=IFS0 flgmask=0x2000 prireg=IPC3 primask=0x0070)

    pinfunc (key=AN16 port=RC1 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN17 port=RC2 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN18 port=RC3 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN19 port=RC4 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN20 port=RA12 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN21 port=RA13 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN22 port=RA6 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN23 port=RA7 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN24 port=RE0 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN25 port=RE1 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN26 port=RE2 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN27 port=RE3 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN28 port=RE4 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN29 port=RE5 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN30 port=RE6 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=AN31 port=RE7 dir=in nextperiph=NONE nextpin=NONE)


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=0x0020 flgreg=IFS0 flgmask=0x0020 prireg=IPC1 primask=0x0070)

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=IEC2 enmask=0x0020 flgreg=IFS2 flgmask=0x0020 prireg=IPC9 primask=0x0070)

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=IEC2 enmask=0x0040 flgreg=IFS2 flgmask=0x0040 prireg=IPC9 primask=0x0700)

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=RD12 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC5INT enreg=IEC2 enmask=0x0080 flgreg=IFS2 flgmask=0x0080 prireg=IPC9 primask=0x7000)

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=RD13 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC6INT enreg=IEC2 enmask=0x0100 flgreg=IFS2 flgmask=0x0100 prireg=IPC10 primask=0x0007)

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

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=RD15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=IC8INT enreg=IEC1 enmask=0x0080 flgreg=IFS1 flgmask=0x0080 prireg=IPC5 primask=0x7000)


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=NONE nextpin=NONE)
    pinfunc (key=OCFA port=RB6 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC2INT enreg=IEC0 enmask=0x0040 flgreg=IFS0 flgmask=0x0040 prireg=IPC1 primask=0x0700)

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=0x0200 flgreg=IFS1 flgmask=0x0200 prireg=IPC6 primask=0x0070)

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=0x0400 flgreg=IFS1 flgmask=0x0400 prireg=IPC6 primask=0x0700)

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=NONE nextpin=NONE)
    pinfunc (key=OCFB port=RB15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC5INT enreg=IEC2 enmask=0x0200 flgreg=IFS2 flgmask=0x0200 prireg=IPC10 primask=0x0070)

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=NONE nextpin=NONE)
    pinfunc (key=OCFB port=RB15 dir=in nextperiph=NONE nextpin=NONE)
    interrupt (name=OC6INT enreg=IEC2 enmask=0x0400 flgreg=IFS2 flgmask=0x0400 prireg=IPC10 primask=0x0700)

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=0x0800 flgreg=IFS2 flgmask=0x0800 prireg=IPC10 primask=0x7000)

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=0x1000 flgreg=IFS2 flgmask=0x1000 prireg=IPC11 primask=0x0007)



peripheral (key=UART1 sfrs='U1MODE U1STA U1TXREG U1RXREG U1BRG')
    pinfunc (key=U1RX port=RF2 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=U1TX port=RF3 dir=out nextperiph=NONE nextpin=NONE)
    interrupt (name=RXINT1 enreg=IEC0 enmask=0x0800 flgreg=IFS0 flgmask=0x0800 prireg=IPC2 primask=0x7000)
    interrupt (name=TXINT1 enreg=IEC0 enmask=0x1000 flgreg=IFS0 flgmask=0x1000 prireg=IPC3 primask=0x0007)

    pinfunc (key=U1CTS port=RD14 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=U1RTS port=RD15 dir=out nextperiph=NONE nextpin=NONE)

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)
    interrupt (name=RXINT2 enreg=IEC1 enmask=0x4000 flgreg=IFS1 flgmask=0x4000 prireg=IPC7 primask=0x0700)
    interrupt (name=TXINT2 enreg=IEC1 enmask=0x8000 flgreg=IFS1 flgmask=0x8000 prireg=IPC7 primask=0x7000)

    pinfunc (key=U2CTS port=RF12 dir=in nextperiph=NONE nextpin=NONE)
    pinfunc (key=U2RTS port=RF13 dir=out nextperiph=NONE nextpin=NONE)

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)


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)
peripheral (key=I2C2) # sfrs='I2C2RCV I2C2TRN I2C2BRG I2C2CON I2C2STAT I2C2ADD')
    pinfunc (key=SCL2 port=RD7 dir=inout nextperiph=NONE nextpin=NONE)
    pinfunc (key=SDA2 port=RD6 dir=inout nextperiph=NONE nextpin=NONE)


peripheral (key=OSC sfrs='OSCCON')
    pinfunc (key=OSC1 port=RC12 dir=out nextperiph=NONE nextpin=NONE)
    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=NONE nextpin=NONE)
    pinfunc (key=CLKO port=RC15 dir=out nextperiph=NONE nextpin=NONE)
    pinfunc (key=CLKI port=RC12 dir=out nextperiph=NONE nextpin=NONE)
    

peripheral (key=DMAC sfrs='DMA0CON DMA0REQ DMA0STA DMA0STB DMA0PAD DMA0CNT DMA1CON DMA1REQ DMA1STA DMA1STB DMA1PAD DMA1CNT DMA2CON DMA2REQ DMA2STA DMA2STB DMA2PAD DMA2CNT DMA3CON DMA3REQ DMA3STA DMA3STB DMA3PAD DMA3CNT DMA4CON DMA4REQ DMA4STA DMA4STB DMA4PAD DMA4CNT DMA5CON DMA5REQ DMA5STA DMA5STB DMA5PAD DMA5CNT DMA6CON DMA6REQ DMA6STA DMA6STB DMA6PAD DMA6CNT DMA7CON DMA7REQ DMA7STA DMA7STB DMA7PAD DMA7CNT DSADR DMACS0 DMACS1')
   interrupt (name=DMAC0INT enreg=IEC0 enmask=0x0010 flgreg=IFS0 flgmask=0x0010 prireg=IPC1 primask=0x0007)
   interrupt (name=DMAC1INT enreg=IEC0 enmask=0x4000 flgreg=IFS0 flgmask=0x4000 prireg=IPC3 primask=0x0700)
   interrupt (name=DMAC2INT enreg=IEC1 enmask=0x0100 flgreg=IFS1 flgmask=0x0100 prireg=IPC6 primask=0x0007)
   interrupt (name=DMAC3INT enreg=IEC2 enmask=0x0010 flgreg=IFS2 flgmask=0x0010 prireg=IPC9 primask=0x0007)
   interrupt (name=DMAC4INT enreg=IEC2 enmask=0x4000 flgreg=IFS2 flgmask=0x4000 prireg=IPC11 primask=0x0700)
   interrupt (name=DMAC5INT enreg=IEC3 enmask=0x2000 flgreg=IFS3 flgmask=0x2000 prireg=IPC15 primask=0x0070)
   interrupt (name=DMAC6INT enreg=IEC4 enmask=0x0010 flgreg=IFS4 flgmask=0x0010 prireg=IPC17 primask=0x0007)
   interrupt (name=DMAC7INT enreg=IEC4 enmask=0x0020 flgreg=IFS4 flgmask=0x0020 prireg=IPC17 primask=0x0070)
 

peripheral (key=PSP)

#--------------------------------------------------------------------------------
# 				CORE SFRs
#--------------------------------------------------------------------------------
peripheral (key=CORE sfrs='INTCON1 INTCON2 IFS0 IFS1 IFS2 IFS3 IFS4 IEC0 IEC1 IEC2 IEC3 IEC4 IPC0 IPC1 IPC2 IPC3 IPC4 IPC5 IPC6 IPC7 IPC8 IPC9 IPC10 IPC11 IPC12 IPC13 IPC15 IPC16 INTREG NVMCON NVMKEY')
