Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
20 years ago

A question about sram vs. sdram

Hi all,

Recently I have been thinking about a question.

As we know,without a sram,Nios can run normally;

but if the system comes with a sdram and also a sram,

what would be the consequence?Would sdram

have some data running in it just like the sram?

Besides,there is another question:

If I do not use sram,but only sdram,

would the system run normally?

Any suggestions?guys...

Don

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Don,

    you can use SRAM and SDRAM together, you will just have to select the address range to use one or the other, just look at the Altera's development boards, they have an SRAM and an SDRAM (actually, my Altera Cyclone dev board does).

    Anyway, we have developped our own board with only a 16 Mo SDRAM and it works perfectly, no need for expensive (but fast) SRAM.

    Hope it helps,

    Regards,

    Pod
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Both RAM types are on the development boards so that users can design with either. Depending on the end product and implementation one is more suitable (SDRAM is cheap and less power consuming, whereas SRAM is fast and more power consuming). Usually you can get around the fact that SDRAM is slower by using a big cache size and programming your code in such a way that it will not be hindered by the SDRAM performance as much. If you look at timing diagrams for SDRAM and SRAM you'll get a pretty good idea why their performance differs.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Many thanks to cetic and BadOmen http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/smile.gif

    But it dawned on me that according to your suggestions,

    a system with a RTOS(such as uC/OSII) would work only based on a SDRAM

    without using a SRAM,am I right?

    Just because the capacity of a SRAM is much smaller than a SDRAM,

    so if I use a SRAM to run a RTOS,there might be some potential problems

    with the size of this SRAM.So at this moment,I can only

    use a SDRAM (maybe work together with the SRAM,but maybe not)

    to solve these pending problems,right?

    Regards,

    Don
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    SDRAM is Cheaper and larger Capacity than SRAM. E.g. SDRAM is usaully >8MB, and SRAM is <1MB.

    However, you need a dedicate logic (such as SDRAM controller) to access SDRAM, while SRAM is easily to access. Because SDRAM using clock and need to refresh itself periodly.

    Yeah, it is capacity V.S. complexity.

    Different OS or different configuration of the same os, has different code size, between <1M and >1M, so both sram and sdram can be used in OS-based application.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    actually,my sram is 128k, so I think if I only use such a sram to run

    a RTOS(such as uC/OSII),there would be problems because its capacity

    is not big enough.Thus, how can I configure my RTOS

    with the two different rams,e.g how to configure the stack space

    and distribute the running data?