There is a large spectrum of asynchronous design styles, with tradeoffs between robustness and performance (and other parameters such as power). The choice of design style depends on the application target: reliability/ease-of-design vs. speed. The most robust designs use '
delay-insensitive circuits', whose operation is correct regardless of
gate and wire delays; however, only limited useful systems can be designed with this style. Slightly less robust, but much more useful, are
quasi-delay-insensitive circuits (also known as speed-independent circuits), such as
delay-insensitive minterm synthesis, which operate correctly regardless of
gate delays; however, wires at each
fanout point must be tuned for roughly equal delays. Less robust but faster circuits, requiring simple localized one-sided
timing constraints, include
controllers using fundamental-mode operation (i.e. with setup/hold requirements on when new inputs can be received), and bundled datapaths using matched delays (see below). At the extreme, high-performance "timed circuits" have been proposed, which use tight two-side timing constraints, where the
clock can still be avoided but careful physical delay tuning is required, such as for some high-speed
pipeline applications.. ==Asynchronous communication==