Asynchronous Open-Source DLX Processor (ASPIDA)
ASPIDA was an EU-funded Demonstration project, which aimed at demonstrating the industrial viability and IP Reuse potential of asynchronous parts by delivering a free, open-source, industrial-quality, asynchronous IP Processor Core, designed, tested and implemented using industrial EDA tools, which will support Open IP Reuse specifications, so it can be easily embedded into any Open IP System-On-a-Chip. The architecture executes the DLX instruction set, a well-known and well-supported generic RISC architecture designed for educational and research purposes. Inspired from the success of open-source software, this project aims to efficiently tackle the drawbacks of IP Reuse by promoting free, open-source hardware.
ASPIDA was a joint effort of FORTH-ICS, Politecnico di Torino, Manchester University and IHP Microelectronics.
The asynchronous DLX processor has been successfully implemented both in ASIC and FPGA versions.
ASIC version
FPGA version
A comprehensive FAQ about ASPIDA is provided here. See also our demo for the ASYNC 2004 conference!
The ASPIDA FAQ and files are also available as an Opencores project.
The use of commercial EDA tools, ASIC or FPGA, for the implementation of asynchronous circuits and systems was an R&D activity included in the ASPIDA project and afterwards. If asynchronous circuits are to be considered for broad adoption by industry, the transition from synchronous to asynchronous must occur smoothly and by exploiting existing EDA technology and know-how instead of advocating a radical, instant change in design practices. The aim of this research was to focus on using commecial, industrial tools for asynchronous design and demonstrating that this is indeed possible. To achieve this goal it is often necessary to exploit specific features of these tools, including scripting, or develop help applications, which are incorporated in the design flow.
System-on-Chip (SoC) interconnect has often been quoted as a very suitable application for asynchronous design. Being able to transmit data across IP blocks at non-multiples of clock cycles, without the need for clock domain synchronization and the problem of clock skew is a very good solution to the problem of large-scale SOC design. Our research on asynchronous interconnects was concerned with identifying potential approaches for asynchronous SOC interconnects and both implement and evaluate these approaches using physical modeling techniques.
This research area aimed at demonstrating that asynchronous circuits can indeed exhibit better variability and higher-performance compared to their synchronous counterparts. Dual-rail or multi-rail logic implements asynchronous circuits with completion-detection. It has been shown by previous work that completion-detection alone is in most cases not sufficient for achieving better performance compared to that of a synchronous system. This work exploited techniques based on completion-detection that can indeed improve performance or enable better control of circuit variability.
Asynchronous intercommunicating structures (e.g. rings) can exhibit bursting or event spacing phenomena as has been shown in the literature. This research aimed at furthering the understanding of such phenomena, depending on the type of asynchronous circuits used, being able to control them and reason about them.
Asynchronous design is not new. Asynchronous design methods date back to the 1950's. However, the clock signal, which is traditionally used by circuit designers, in order to enforce global timing to a digital circuit, has historically been considered as an essential device. The following is a famous quote by Alan Turing who considered the clock signal as necessary for the operation of a digital computer and claimed that asynchronous circuits are hard to design:
"We might say that the clock enables us to introduce a discreteness into time, so that time for some purposes can be regarded as a succession of instants instead of a continuous flow. A digital machine must essentially deal with discrete objects, and in the case of ACE this is made possible by the use of the clock. All other computing machines except for human and other brains that I know of do the same. One can think up ways of avoiding it, but they are very awkward..."
More than 60 years later, asynchronous design has experienced important breakthroughs both in design methods and approaches and practical demonstrator designs from both academia and industry.
Papers in Proceedings
Journal Articles
ICS-FORTH Technical Reports