Another problem to beware, at automated test, is the
"force current, measure voltage"approach. Even if you
properly set a voltage compliance limit, this can be too
slow to react to save the DUT particularly if the output
is in the wrong logical state. It acts like a flyback over-
voltage even though the root cause is not inductive per
se.
Hard-interrupting current in the PMOS, with some break-
before-make timing to the NMOS, is asking for this or
true flyback damage. You might prefer, for the short-circuit
case, a little bit of cross-conduction timing (why not, it's
already cooking, what will a couple of nS hurt?) so that the
current can never go to zero and swing the voltage hard,
high.
Ballasting's only "pro" is simple toughness. It mitigates
the tendency to concentrate current in the power switch.
You often will see this style embedded in library ESD
devices, but in my experience this can be "missed" in
PDK / standard cell pic-connected active devices. But
the exact same concerns apply to these, as ESD devices -
they share the same current loops after all, and you want
to do more than hope that the ESD device takes all of the
hit - but when the driver exceeds the size of the clamp,
and uses the same core device, this wishful thinking (if
it is thought about at all) fails, the driver becomes the
primary path for breakdown currents and therefore you
should apply the same thermal/electrical design methods
at the bottom level device layout.