Hi, allWhen i build a SOPC system, I can use external SDRAM or SRAM as the system memory. I want to know what's the difference between them. I assume their function the same except the interface controller with Avalon bus of SDRAM is more complicated than that of SRAM. I can not care it in the software development process. I haven't get proof to check it and hope get answer from here. Thanks!
SDRAMs are much larger than SRAMs.IIRC SDRAMs take some time to set up rows so are more suited to sequential addressing. SRAMs allow full random access with the same timing.
SRAMs have a simple hardware interface that allows access to any location in a single clock cycle.SDRAMs (all xxxDRAMs are similarish) require the high and low address bits be supplied on separate clocks, and then a burst of adjacent memory locations can be accessed (eg for a cache line fill). The 'high' address page can be kept selected for a subsequent access (to the same page) at a cost of increased power and a slower access to a different page. The effect is that SDRAM has a longer latency and more complex interface logic than SRAM.
--- Quote Start --- Oh, and when you come to build hardware, you'll find that SRAM is expensive! --- Quote End --- On a cost per mb comparision yes. SRAMs usually come in sizes in terms of Kbs or Mbs. 8Mb SRAMS are very very expensive. SDRAMs come in 100s of Mbs, for about the same price (or less). SRAMs can be very useful for video processing because of the low latency and easy random access.