@jpanhalt First of all, kudos on your industry and scholarship! And as you have demonstrated, it's not always easy to know what issues apply to a particular PIC, even after reading the errata.
My personal solution, for lots of reasons based on lots of experience is to always apply any fix / workaround to all chips. For example, my DI (disable interrupts) macro always does the loop and test regardless of the chip, even 18F. I don't know which, if any, of the later parts have the defect but I don't care. My view is that it's pointless to expend lots of research/test time when the fix is easy and well understood. I consider it cheap insurance.
Here are a few of my personal rules/observations gleaned from 25+ years of using PIC almost exclusively :
Avoid rev. Ax silicon.
Remember that errata is frequently incomplete.
uCHIP is frequently slow to get known bugs to errata - it really hacks me off when I spend day or two drilling down to a silicon bug, report it only to be told that 'Yeah we know. We gotta get that to the errata sometime'. They are prone to pencil-whip issues.
Just because they're on the same datasheet doesn't mean that the chips described have the same set of bugs.
Workarounds for hard to test/fix stuff (like the DI) are always incorporated from day one whether they are 'needed' or not. Belt and suspenders.
Always shadow the outputs on baseline/midrange.
Never bit-flip the TRIS registers on a port that shares peripherals.
Avoid outputs on PORTC when I2C is in use.
Remember that debug headers and emulators may also have or remove silicon bugs.
Just thinking out loud.
My personal solution, for lots of reasons based on lots of experience is to always apply any fix / workaround to all chips. For example, my DI (disable interrupts) macro always does the loop and test regardless of the chip, even 18F. I don't know which, if any, of the later parts have the defect but I don't care. My view is that it's pointless to expend lots of research/test time when the fix is easy and well understood. I consider it cheap insurance.
Here are a few of my personal rules/observations gleaned from 25+ years of using PIC almost exclusively :
Avoid rev. Ax silicon.
Remember that errata is frequently incomplete.
uCHIP is frequently slow to get known bugs to errata - it really hacks me off when I spend day or two drilling down to a silicon bug, report it only to be told that 'Yeah we know. We gotta get that to the errata sometime'. They are prone to pencil-whip issues.
Just because they're on the same datasheet doesn't mean that the chips described have the same set of bugs.
Workarounds for hard to test/fix stuff (like the DI) are always incorporated from day one whether they are 'needed' or not. Belt and suspenders.
Always shadow the outputs on baseline/midrange.
Never bit-flip the TRIS registers on a port that shares peripherals.
Avoid outputs on PORTC when I2C is in use.
Remember that debug headers and emulators may also have or remove silicon bugs.
Just thinking out loud.