Tying multiple PICs together to program them at the same time is not a good idea.
Programming is not totally a one-way process. Programmers may try to read from the PIC for several reasons:
- To determine what PIC is out there, or verify that the stated
PIC is out there. By default, all my programmers go thru a surprisingly complicated process to try to determine what PIC is connected. Microchip's POD (Programming Obfuscation Division) has been busy creating different and incompatible ways to communicate with different PICs during programming. There isn't even a single way to enter programming mode, let alone read the chip ID. Even worse, the only means to enter programming mode of some PICs would fry others.
The net result is that the programmer probably does several back and forth attempts at communication when first starting the programming operation.
Even when the exact target PIC is specified externally, like with a command line argument, my programmers at least still attempt to verify that particular PIC model is connected.
- To know when some part of a programming operation has completed. Some programming algorithms require polling the chip to know when a erase or write has completed.
- To verify the data after programming. Obviously this needs to be unique per device.
However, that doesn't mean you can't program multiple PICs a the same time, only that a little more of the programming process needs to be replicated per PIC. Basically, you need to replicate at least the low level hardware interface per PIC.
The simplest way to do that is to use multiple programmers. Programmers are a one-time cost. If you are doing such high volume that programming multiple PICs in parallel is important, then the cost of multiple programmers should be minor.
For example, if you are using one of the newer PICs that can be programmed completely from a 3.3 V interface only, then you can use my LProg PIC programmer. At $18 each for five (Apr 2017), a bunch of these and a USB hub are cheaper than most gang programmers. That gives you a setup that works in-circuit, which gang programmers generally don't.