How to Think about Self-Timed Systems

Marly Roncken,Ivan Sutherland,Chris Chen,Yong Hei,Warren Hunt,Cuong Chau,Swetha Mettala Gilla,Hoon Park,Xiaoyu Song,Anping He,Hong Chen
DOI: https://doi.org/10.1109/acssc.2017.8335628
2017-01-01
Abstract:Self-timed systems divide nicely into two kinds of components: communication links that transport and store data, and computation joints that apply logic to data. We treat these two types of self-timed components as equally important. Putting communication on a par with computation acknowledges the increasing cost of data transport and storage in terms of energy, time, and area. Our clean separation of data transport and storage from logic simplifies the design and test of self-timed systems. The separation also helps one to grasp how self-timed systems work. We offer this paper in the hope that better understanding of self-timed systems will engage the minds of compiler, formal verification, and test experts.
What problem does this paper attempt to address?