Reducing current consumption for a PIC16 in Sleep mode
My team figured it out.
It was due to the modules that can be shut off using CONFIGx registers, such as NCO, BOR, etc.
In MPP, those remained enabled. Changing them from the code did not have any effect. Later, we figured out that there is a built-in tool to configure these CONFIGx registers. Once configured properly, these can be included in source code as multiple #pragma's. These were set to OFF as desired in this tool, but a corresponding setting in 'System Module' in MPP was over-riding it, hence it remained enabled in MPP. When configured these using the configuration tool it showed a conflict. To resolve this conflict, we disabled them from MPP and the current consumption reduced to 100 nA.