HOME

TheInfoList



OR:

The primary focus of this article is asynchronous control in digital electronic systems. In a
synchronous system In digital electronics, a synchronous circuit is a digital circuit in which the changes in the state of memory elements are synchronized by a clock signal. In a sequential digital logic circuit, data are stored in memory devices called flip-fl ...
, operations (
instructions Instruction or instructions may refer to: Computing * Instruction, one operation of a processor within a computer architecture instruction set * Computer program, a collection of instructions Music * Instruction (band), a 2002 rock band from Ne ...
,
calculations A calculation is a deliberate mathematical process that transforms one or more inputs into one or more outputs or ''results''. The term is used in a variety of senses, from the very definite arithmetical calculation of using an algorithm, to t ...
,
logic Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from premises ...
, etc.) are coordinated by one, or more, centralized
clock signal In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits. A clock sign ...
s. An asynchronous system, in contrast, has no global clock. Asynchronous systems do not depend on strict arrival times of signals or messages for reliable operation. Coordination is achieved using
event-driven architecture Event-driven architecture (EDA) is a software architecture paradigm promoting the production, detection, consumption of, and reaction to events. Overview An ''event'' can be defined as "a significant change in state". For example, when a consumer p ...
triggered by
network packet In telecommunications and computer networking, a network packet is a formatted unit of data carried by a packet-switched network. A packet consists of control information and user data; the latter is also known as the ''payload''. Control informa ...
arrival, changes (transitions) of signals, handshake protocols, and other methods.


Modularity

Asynchronous systems – much like
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pro ...
software – are typically constructed out of
modular Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a sy ...
'hardware objects', each with well-defined communication
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * ''Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Inte ...
s. These
modules Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a sy ...
may operate at variable speeds, whether due to data-dependent processing,
dynamic voltage scaling Dynamic voltage scaling is a power management technique in computer architecture, where the voltage used in a component is increased or decreased, depending upon circumstances. Dynamic voltage scaling to increase voltage is known as overvolting; d ...
, or
process variation Natural process variation, sometimes just called process variation, is the statistical description of natural fluctuations in process outputs. Equations The following equations are used for an ''x''-bar-control chart: :\bar x = \sum_^n x_i/ ...
. The modules can then be combined to form a correct working system, without reference to a global
clock signal In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits. A clock sign ...
. Typically, low power is obtained since components are activated only on demand. Furthermore, several asynchronous styles have been shown to accommodate clocked interfaces, and thereby support mixed-timing design. Hence, asynchronous systems match well the need for correct-by-construction
methodologies In its most common sense, methodology is the study of research methods. However, the term can also refer to the methods themselves or to the philosophical discussion of associated background assumptions. A method is a structured procedure for bri ...
in assembling large-scale heterogeneous and scalable systems.


Design styles

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 circuit In digital logic design, an asynchronous circuit is quasi delay-insensitive (QDI) when it operates correctly, independent of gate and wire delay with the weakest exception necessary to be turing-complete. Overview Pros * Robust to process varia ...
s (also known as speed-independent circuits), such as delay-insensitive minterm synthesis, which operate correctly regardless of gate delays; however, wires at each
fanout In digital electronics, the fan-out is the number of gate inputs driven by the output of another single logic gate. In most designs, logic gates are connected to form more complex circuits. While no logic gate input can be fed by more than one ...
point must be tuned for roughly equal delays. Less robust but faster circuits, requiring simple localized one-sided
timing constraints Timing is the tracking or planning of the spacing of events in time. It may refer to: * Timekeeping, the process of measuring the passage of time * Synchronization, controlling the timing of a process relative to another process * Time metrolo ...
, include
controller Controller may refer to: Occupations * Controller or financial controller, or in government accounting comptroller, a senior accounting position * Controller, someone who performs agent handling in espionage * Air traffic controller, a person ...
s 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 A clock or a timepiece is a device used to measure and indicate time. The clock is one of the oldest human inventions, meeting the need to measure intervals of time shorter than the natural units such as the day, the lunar month and the ...
can still be avoided but careful physical delay tuning is required, such as for some high-speed
pipeline Pipeline may refer to: Electronics, computers and computing * Pipeline (computing), a chain of data-processing stages or a CPU optimization found on ** Instruction pipelining, a technique for implementing instruction-level parallelism within a s ...
applications.


Asynchronous communication

Asynchronous communication In telecommunications, asynchronous communication is transmission of data, generally without the use of an external clock signal, where data can be transmitted intermittently rather than in a steady stream. Any timing required to recover data f ...
is typically performed on
communication channel A communication channel refers either to a physical transmission medium such as a wire, or to a logical connection over a multiplexed medium such as a radio channel in telecommunications and computer networking. A channel is used for informa ...
s. Communication is used both to synchronize operations of the concurrent system as well as to pass data. A simple channel typically consists of two wires: a request and an acknowledge. In a '4-phase
handshaking A handshake is a globally widespread, brief greeting or parting tradition in which two people grasp one of each other's like hands, in most cases accompanied by a brief up-and-down movement of the grasped hands. Customs surrounding handshakes a ...
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technolog ...
' (or return-to-zero), the request is asserted by the sender component, and the receiver responds by asserting the acknowledge; then both signals are de-asserted in turn. In a '2-phase
handshaking A handshake is a globally widespread, brief greeting or parting tradition in which two people grasp one of each other's like hands, in most cases accompanied by a brief up-and-down movement of the grasped hands. Customs surrounding handshakes a ...
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technolog ...
' (or transition-signalling), the requester simply toggles the value on the request wire (once), and the receiver responds by toggling the value on the acknowledge wire. Channels can also be extended to communicate data.


Asynchronous datapaths

Asynchronous
datapath A datapath is a collection of functional units such as arithmetic logic units or multipliers that perform data processing operations, registers, and buses. Along with the control unit it composes the central processing unit (CPU). A larger data ...
s are typically encoded using several schemes. Robust schemes use two wires or 'rails' for each bit, called 'dual-rail encoding'. In this case, first rail is asserted to transmit a 0 value, or the second rail is asserted to transmit a 1 value. The asserted rail is then reset to zero before the next data value is transmitted, thereby indicating 'no data' or a 'spacer' state. A less robust, but widely used and practical scheme, is called 'single-
rail Rail or rails may refer to: Rail transport *Rail transport and related matters *Rail (rail transport) or railway lines, the running surface of a railway Arts and media Film * ''Rails'' (film), a 1929 Italian film by Mario Camerini * ''Rail'' ( ...
bundled data'. Here, a single-rail (i.e. synchronous-style) function block can be used, with an accompanying
worst-case In computer science, best, worst, and average cases of a given algorithm express what the resource usage is ''at least'', ''at most'' and ''on average'', respectively. Usually the resource being considered is running time, i.e. time complexity, b ...
matched delay. After valid data inputs arrive, a request signal is asserted as the input to the matched delay. When the matched delay produces a 'done' output, the block guaranteed to have completed computation. While this scheme has timing constraints, they are simple, localized (unlike in
synchronous system In digital electronics, a synchronous circuit is a digital circuit in which the changes in the state of memory elements are synchronized by a clock signal. In a sequential digital logic circuit, data are stored in memory devices called flip-fl ...
s), and one-sided, hence are usually easy to validate.


Literature

The literature in this field exists in a variety of conference and journal proceedings. The leading symposium is the IEEE Async Symposium (International Symposium on Asynchronous Circuits and Systems), founded in 1994. A variety of asynchronous papers have also been published since the mid-1980s in such conferences as IEEE/ACM
Design Automation Conference The Design Automation Conference, or DAC, is an annual event, a combination of a technical conference and a trade show, both specializing in electronic design automation (EDA). DAC is the oldest and largest conference in EDA, started in 1964. ...
, IEE
International Conference on Computer Design
IEEE/ACM
International Conference on Computer-Aided Design The International Conference on Computer-Aided Design (ICCAD) is a yearly conference about electronic design automation. From the start in 1980 until 2014 the conference was held in San Jose, California. It is sponsored by the IEEE Circuits and ...

International Solid-State Circuits Conference
and Advanced Research in VLSI, as well as in leading journals such as IEEE Transactions on VLSI Systems,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems ''IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems'' (sometimes abbreviated ''IEEE TCAD'' or ''IEEE Transactions on CAD'') is a monthly peer-reviewed scientific journal covering the design, analysis, and use of computer ...
, and Transactions on Distributed Computing.


See also

*
Design flow (EDA) Design flows are the explicit combination of electronic design automation tools to accomplish the design of an integrated circuit. Moore's law has driven the entire IC implementation RTL to GDSII design flows from one which uses primarily sta ...
*
Electronic design automation Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD), is a category of software tools for designing Electronics, electronic systems such as integrated circuits and printed circuit boards. The tools wo ...
*
Integrated circuit design Integrated circuit design, or IC design, is a sub-field of electronics engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs. ICs consist of miniaturized electronic component ...
*
Isochronous timing A sequence of events is isochronous if the events occur regularly, or at equal time intervals. The term ''isochronous'' is used in several technical contexts, but usually refers to the primary subject maintaining a constant period or interval ( ...
*
Mesochronous network In telecommunication, a mesochronous network is a network in which the clocks run with the same frequency but unknown phases. Compare synchronous network. See also *Synchronization in telecommunications *Isochronous signal *Plesiochronous system ...
*
Perfect clock gating Clock gating is a popular technique used in many synchronous circuits for reducing dynamic power dissipation, by removing the clock signal when the circuit is not in use or ignores clock signal. Clock gating saves power by pruning the clock tree ...
*
Plesiochronous system In telecommunications, a plesiochronous system is one where different parts of the system are almost, but not quite, perfectly synchronised. According to ITU-T standards, a pair of signals are plesiochronous if their significant instants occur at ...


References

* S.M. Nowick and M. Singh
"Asynchronous Design -- Part 1: Overview and Recent Advances"
IEEE Design and Test, vol. 32:3, pp. 5–18 (May/June 2015). * S.M. Nowick and M. Singh
"Asynchronous Design -- Part 2: Systems and Methodologies"
IEEE Design and Test, vol. 32:3, pp. 19–28 (May/June 2015) ** These two articles provide a broad and modern snapshot of the state-of-the-art of asynchronous design. They include a short history of asynchronous design, as well as a technical introduction to handshaking protocols and data encoding, hazard-free logic, and controller design. They also cover recent industrial successes in mainstream technologies (IBM, Intel, Philips Semiconductors, etc.), as well as recent application to emerging areas (neuromorphic computers, flexible electronics,
quantum cellular automata A quantum cellular automaton (QCA) is an abstract model of quantum computation, devised in analogy to conventional models of cellular automata introduced by John von Neumann. The same name may also refer to quantum dot cellular automata, which are ...
, continuous-time DSPs, ultra-low voltage design, extreme environments). Highlights several application areas in depth, with a wide range of cited publications: GALS systems, networks-on-chip, computer architecture, testing and design-for-testability, and CAD tool development. * Claire Tristram, "It's Time for Clockless Chips", cover story, MIT's Technology Review Magazine, vol. 104:8, pp. 36–41, October 2001. * C.H. van Berkel, M.B. Josephs, and S.M. Nowick, , Proceedings of the IEEE, Vol. 87, No. 2, pp. 223–233, February 1999. (''This entire issue is devoted to asynchronous circuits, with many other relevant articles''.) * L. Lavagno and S.M. Nowick, "Asynchronous Control Circuits", chapter 10 in , pp. 255–284,(''Includes pointers to recent asynchronous chips, as well as coverage of CAD techniques for asynchronous control circuits''.) ---- Adapted fro
Steve Nowick
s column in the AC
SIGDA
b
Igor Markov

Original text is available at https://web.archive.org/web/20060624073502/http://www.sigda.org/newsletter/2006/eNews_060115.html ----


External links


ARM ARM996HS clockless processor
{{Webarchive, url=https://web.archive.org/web/20160303212839/http://www.scitechinfo.com/node/638 , date=2016-03-03

* ttp://async.org.uk Asynchronous design page at Newcastle University* Workcraft: toolset for asynchronous circuit synthesis and verification https://workcraft.org/ Electrical circuits Synchronization Electronic design automation Network architecture Formal methods