This and Tony's comment about using discrete logic
rather than FPGA
points up an interesting, but important, limitation of FPGAs (and
CPLDs): they're clocked designs.
Chuck: This really isn't true at all. While you are right that most
designs are synchronous, there's no limitation or requirement for them
to be so. You can do combinatorial logic all day without a clock.
module AOI (input A, B, C, D, output F);
assign F = ~((A& B) | (C& D));
endmodule
The few times I've tried to instantiate (right word? HDL-to-
implementation) a purely async design, the EDA tools pitch about
there being no clock signal.
Maybe I'm not RTFM, but I don't think so.