Forum Discussion

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

SDRAM controller: Altera High Performance vs. Microtronix Multi-Port

We are in a process of choosing which one to use: the Altera High Performance SDRAM controller or the Microtronix Avalon Multi-Port SDRAM controller.

Please advice, in the following factors:

- performance: which one is faster?

- easy to use: which one is easy to use?

- documentation: which one has better documentation?

- reference designs: which one has better ref. designs?

Thank you in advance

16 Replies

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

    Hi,

    I am also using the 3c120 board for a video processing application and I am facing the same bandwidth issues.

    I have split the DDR2 in two separate 32-bit memories. Nios has full access to one while the other is shared by the video processing blocks.

    9 masters access the video memory having burst size 32. The arbitration is set at 32 for each master.

    The video processing blocks run at 100 MHz while the DDR2 runs at 150 Mhz, 64-bit.So I have to use clock-crossing bridges to connect to the memory. Are these bridges causing the bottleneck or is it something else ?

    I am stuck at this for quite sometime now, I am simply not able to tune the pipeline for the required performance.

    Would really appreciate any light on the issue.

    Thanks

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

    Hi,

    Sorry I am stuck too, and I am not available now to give relevant advice. Maybe Jake or someone will help.

    It is said that one may lose 5 to 7 clocks when using clock-crossing bridges. If you have time, you make check it by using the Signal Tap.

    Bests,

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

    Foram,

    Which video processing blocks are you using? If you are using Altera's Deinterlacer or Frame buffer then you can force them to use a different clock domain for the memory masters than for the video processing. This would allow you to connect the memory interfaces directly to the DDR2 memory controller without using the clock crossing bridges.

    If you want to do this, edit the following files:

    C:\altera\80\ip\deinterlacer\lib\vip_dil_hwfast.hpp

    Change line 10 from

    # define DIL_MEM_MASTERS_USE_SEPARATE_CLOCK false

    to

    # define DIL_MEM_MASTERS_USE_SEPARATE_CLOCK true

    C:\altera\80\ip\frame_buffer\lib\vip_vfb_hwfast.hpp

    Change line 13 from

    # define VFB_MEM_MASTERS_USE_SEPARATE_CLOCK false

    to

    # define VFB_MEM_MASTERS_USE_SEPARATE_CLOCK true

    Then when you reopen SoPC builder you will see that the memory masters have their own clock domain and you will have to connect things accordingly.

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

    Hi Jake,

    Thanks for the info :). Yes I am using Altera's Deinterlacer and Framebuffer IPs.

    Hope this would simplify things a bit. I will try this today and update the result.

    Thanks

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

    In these multi-master configuration, Monitoring Wait request by all masters is one way to implement scheduling. The Avalon Master arbitration logic takes of the rest when ever a master tries to read/write into the SDRAM controller. Every Master has to monitor the Waitrequest before performing a write/read to the SDRAM controller.

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

    Hi,

    I tried the separate clock domain for deinterlacer and framebuffer however somehow couldn't get it to work.

    However I needed to get it work ASAP :(... so i modified the design and got rid of the extra master; for now i get live almost live frame rate. A couple of frames are still being dropped but the frame rate is acceptable.

    once this deadline is over, i hope to investigate these suggestions and try and implement it. I wonder how these this board and the IPs are being used to process HD resolutions. Is it merely an arbitration issue ?

    Thanks

    Foram