a wide variety of applications [45][46][47][48]. However, the mass application of
asynchronous design has been an elusive goal for academic researchers and, while
recent advances are pro mising, only time will tell whether this technology will take
a larger foothold in the very-large-scale integration (VLSI) world.
There are many different types of integrated circuits (ICs) and the design style
choice for a particular application depends on the relative performance, power,
volume, and other market demands of the device. For example, traditionally, low-
volume specialized products with only moderate power and performance require-
ments can use field programmable gate arrays (FPGAs), which provide reduced
time to market and low design risk, primarily because of their reprogrammable
nature. Higher-volume products with more aggressive power and performance
requirements often require application specific integrated circuits (ASICs), which
come at the cost of the increased design and verification effort associated with the
finalizing of the manufacturing process.
Products that require significant programmability may also contain some type
of microprocessor to enable software support. Products whi ch require significant
storage will contain large banks of on-chip memories. Both micro-processors and
memory blocks are available on modern FPGAs and can be integrated into an
ASIC in the form of intellectual property cores. In addition, dedicated chips for
memory are critical in complex system design and can store billions of bits of data
either in volatile or non-volatile forms.
Chips with high volumes, such as microprocessors, memory chips, and FPGAs,
may be able to support full-custom techniques with advanced circuit styles, such as
asynchronous design. In fact, asynchronous techniques have been used in memory
for years and a recent start-up is the commercializing of high-speed FPGAs, which
has been enabled by high-speed asynchronous circuits [42][43][48].
Most ASICs, however, rely on semi-custom techniques in which more con-
strained design styles are used. The relative simplicity of the constrained design
style enables the development of CAD tools that automate large portions of the
design process, significantly reducing design time. For asynchronous design to be
adopted for ASICs, existing CA D tool suites must be enhanced with scripts and
new tools to support asynchronous circuits. This chapter provides an overvie w of
the general issues that guide this design choice. In doing so, it identifies the
potential advantages of asynchronous design and the remaining challenges for
its widespread adoption.
1.1 Synchronous design basics
Synchronous design has been the dominant methodology since the 1960s. In
synchronous design, the system consists of sub-systems controlled by one or more
clocks that synchronize tasks and the communication between blocks. In tradi-
tional semi -custom synch ronous ASIC flows, co mbinational logic is placed in
between banks of flip-flops (FFs) that store the data, as shown in Figure 1.1.
2 Introduction