Comparision between Asynchronous and Synchronous Dual-Port RAMs

Question: - What are the main differences between Asynchronous and Synchronous dual-port rams?  - What are the advantages and disadvantages of using either one of them?  - Under which circumstances is it better to use Async/Sync?  - Should I use asynchronous or synchronous dual-ports for my application?  - I have a fast processor.  Should I use a synchronous or asynchronous dual-port?



The main difference between asynchronous and synchronous dual-ports is how memory is accessed.  In an asynchronous dual-port, read and write operations are triggered by a rising or falling signal.  These can occur at any given time.  In a synchronous dual-port, all read and write operations are synchronized to a clock signal.  In other words, the operation begins at expected times.  Asynchronous and synchronous dual-ports also offer different features like memory arbitration and burst counters.

Asynchronous dual-ports in general are slower than synchronous parts because of their architecture. Synchronous devices make use of pipelining in order to "pre-fetch" data out of the memory. However, asynchronous architectures are very prevalent in existing systems.  Some designers are more comfortable designing with asynchronous interfaces as they have more experience with it.  Synchronous interfaces introduce more complexity with the design as clocking considerations become important. 

Table 1.  General Benefits / Drawbacks of Dual-Ports


         Aynchronous    Synchronous

     More simple interface
     Legacy design that is common

    Higher bandwidth capabilities
    Drawbacks    Lower bandwidth capabilities    More complicated interface

The decision to use an asynchronous or synchronous dual-port RAM depends largely on the specific system that you will be putting it in. A lot of times, your system will present constraints to you to make you choose a certain type of dual-port. For example, most processors have external memory interfaces; some of these may only have synchronous interfaces.  In this case, it is more difficult to use an asynchronous dual-port which may require external logic to help you interface the asynchronous dual-port to the sync interfaces. Likewise, if your processors have really fast asynchronous interfaces available for interfacing with external memory, then it will be easier to use asynchronous dual-ports that have very fast access speeds.  Therefore speed may not always be the most important factor to consider when deciding on what type of dual-port to use.

Also, processors that are fast don't necessarily mean their external memory interfaces are fast. Some 400-MHz DSPs offer asynchronous SRAM interfaces only. In general, it is best to try to match the maximum speed and type of interfaces that the processors offer. For example, if both processors offer synchronous memory interfaces, one can run at a maximum of 70 MHz, one can run at a maximum of 133 MHz, then a synchronous dual-port that runs at least 133 MHz would be recommended.