Micropipeline
Currently, only the basic micropipeline demo is available but this is a very good entry point to implementing asynchronous logic circuits in general and GALS in particular.
Ivan Sutherland introduced the term "micropipeline" in his 1988 Turing Award Lecture. Sutherland is widely regarded as the father of computer graphics. During his prolific career, he has received a plethora of honors and prizes. For the past few years, he has devoted himself to developing VLSI processing architectures, with a special emphasis on asynchronous logic.
To visualize the behavior of a micropipeline versus a standard clocked pipeline, we will use the metaphor of the bucket brigade -- a method for transporting items by passing them from one stationary person to the next. The bucket brigade resembles the structure of a static data pipeline, in which data is passed from one register to the next.
-
A conventional synchronous pipeline is like a bucket brigade in which each member follows the beat of a clock. When the clock ticks, each person pushes a bucket forward. When the clock tocks, each person catches the bucket pushed by the preceding person.
-
An asynchronous micropipeline behaves just as a real-world bucket brigade does. Each person who holds a bucket can pass it down the line as soon as the next person's hands are free. If there is no bucket available, the person waits for one.
Data Throughput
Depending on the depth of the pipeline, the pipeline performance will vary. This is because, when working at full speed, the complete micropipeline will be as fast as the slowest asynchronous handshaking stage.
Physical derives
By studying the micropipeline, you can check how fast your async design will be able to run and how physical derives have an impact in the speed of the CMOS circuitry, e.g.:
- The more the supply voltage is, the faster the circuit runs.
- The lower the die temperature is, the faster the circuit runs.