Forum Discussion

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

How to choose SRAM in a double NIOS2 SOPC system?

How to choose SRAM in a double NIOS2 SOPC system?

I am implentming a NIOS 2 SOPC developing board based on Altera's EP2C35F672 device.

There are two schemes,

1,SRAM+NIOS2+NIOS2, the NIOS2s share the same program memory.

2,SRAM+NIOS2 + SRAM+NIOS2, the NIOS2s use respective memory.

I am not clear if the 2nd scheme will be much faster than the 1st.

So will you please give me some hints?

Will the 2nd improve my board's speed greatly?

And how about SDRAM? How to get rid of the bottle-neck?

(Assuming that the NIOS2s run at 100MHZ,the delays of SRAM is 10 ns.)

Thank in advance!

3 Replies

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

    --- Quote Start ---

    originally posted by xunios@Mar 18 2006, 07:44 AM

    how to choose sram in a double nios2 sopc system?

    i am implentming a nios 2 sopc developing board based on altera's ep2c35f672 device.

    there are two schemes,

    1,sram+nios2+nios2, the nios2s share the same program memory.

    2,sram+nios2 + sram+nios2, the nios2s use respective memory.

    i am not clear if the 2nd scheme will be much faster than the 1st.

    so will you please give me some hints?

    will the 2nd improve my board's speed greatly?

    and how about sdram? how to get rid of the bottle-neck?

    (assuming that the nios2s run at 100mhz,the delays of sram is 10 ns.)

    thank in advance!

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=13560)

    --- quote end ---

    --- Quote End ---

    The question is not simple... and, as usual, the answer is: - it depends - :-)

    - The second solution will reduce the conflicts of the two Nios CPUs while accessing the shared bus, in general it should be more performant.

    - Having cache memory on each Nios II can mitigate the effect of the conflicts on the shared bus (again, that depends on the application. In some applications, caches does not help a lot).

    - The structure of the application (the pattern of accessing multicore shared data) can influence a lot the conflicts on the shared bus. Note also these accesses have to be carried out with cache disabling techniques. A good sw partitioning among the CPUs in this case is needed to avoid too many conflicts.

    Just a curiosity, what kind of application are you working on?

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

    Thanks Paolo.

    I am working on a mpeg1 music player.

    Now I think the fellow scheme will be better:

    SDRAM+NIOS2 + SRAM+NIOS2

    SDRAM+NIOS2:music data,user interface,

    SRAM+NIOS2:mpeg1 decoder.

    I am not clear if it will run well.Any more advice?

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

    The performance will higly depend on the SW partitioning you made...

    I think a way could be to implement a first version... then depending on the workload generated by the various tasks you can adjust the SW partitioning.

    bye

    PJ