Title :
A behavioral synthesis system for asynchronous circuits
Author :
Sacker, Matthew ; Brown, Andrew D. ; Rushton, Andrew J. ; Wilson, Peter R.
Author_Institution :
Univ. of Southampton, Southampton, UK
Abstract :
Behavioral synthesis of synchronous systems is a well established and researched area. The transformation of behavioral description into a datapath and control graph, and hence, to a structural realization usually requires three fundamental steps: 1) scheduling (the mapping of behavioral operations onto time slots); 2) allocation (the mapping of the behavioral operations onto abstract functional units); and 3) binding (the mapping of the functional units onto physical cells). Optimization is usually achieved by intelligent manipulation of these three steps in some way. Key to the operation of such a system is the (automatically generated) control graph, which is effectively a complex sequence generator controlling the passage of data through the system in time to some synchronizing clock. The maximum clock speed is dictated by the slowest time slot. (This is the timeslot containing the longest combinational logic delay.) Timeslots containing quicker (less) logic will effectively waste time: the output of the combinational logic in the state will have settled long before the registers reading the data are enabled. If we allow the state to change as soon as the data is ready, by introducing the concepts of "ready" and "acknowledge," the control graph becomes a disjoint set of single-state machines-it effectively disappears, with the consequence that the timeslot-timeslot transitions become self controlling. Having removed the necessity for the timeslots to be of equal duration the system becomes selftiming: asynchronous. This paper describes a behavioral asynchronous synthesis system based on this concept that takes as input an algorithmic description of a design and produces an asynchronous structural implementation. Several example systems are synthesized both synchronously and asynchronously (with no modification to the high level description). In keeping with the well-established observation that asynchronous systems operate at average case time complexity rather than worse case, the asynchronous structures usually operate some 30% faster than their synchronous counterparts, although interesting counterexamples are observed.
Keywords :
asynchronous circuits; circuit optimisation; combinational circuits; delay circuits; encoding; logic design; shift registers; synchronisation; abstract functional units; asynchronous circuits; asynchronous structures; automatically generated control graph; behavioral operation mapping; behavioral synthesis system; clock speed; combinational logic delay; complex sequence generator control; functional unit mapping; intelligent manipulation; optimization; physical cells; registers; scheduling; single-state machines; synchronizing clock; synchronous counterparts; synchronous system synthesis; timeslot-timeslot transitions; Algorithm design and analysis; Asynchronous circuits; Automatic generation control; Circuit synthesis; Clocks; Control system synthesis; Control systems; Delay effects; Logic; Synchronization;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
DOI :
10.1109/TVLSI.2004.832944