Problem: driving the H-bridges

I couldn't use the AVR outputs to directly drive the H-bridge; as ample as four PWM channels seemed before, it would only be enough for a single H-bridge. And if separate PWM channels got out of phase or had slightly different timing characteristics, the MOSFETs would be switching out of time and would probably get hot. So I'd need a separate controller of some sort. I drew up a truth table showing the relationship between the microcontroller commands and the inputs of the H-bridge:

Command H-bridge input
PWM Reverse Brake A B C D
P 0 0 P 0 0 P
P 0 1 0 0 P P
P 1 0 0 P P 0
P 1 1 0 0 P P

This simplified down to the following circuit diagram: I considered a few methods for implementing this circuit: