Ich würde für diese Aufgabenstellung einen CPLD nehmen. Ein ganz kleiner CPLD, z.B. ein XC9536 düfte locker reichen.
In VHDL dürfte das nicht schwer zu beschreiben sein, denke ich.

Zumindest könnte man z.B. mit der Xilinx-Synthese-Umgebung einmal ausprobieren, welche Gattergrab bei der VHDL-Version herauskommt.

Gruß MeckPommER