Forum Discussion

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

Look for the best fastest way Avalon streaming

Hi there,

I'm looking for the best fastest way of Avalon stream (Avalon-MM/ST, Source/Sink), because I need fast streaming of SDR data). Does anybody have a simple sample like megacore FFT/FIR to verilog and plug-in SOPC Builder through component editor connect to SDRAM/SGDMA?

Thanks,

Sean

5 Replies

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

    Your fastest method would be to build your own DMA controller to read/write directly to the SDRAM. However, that's a significant effort. So the next best would be to use the SGDMA controllers and use Avalon-ST interfaces to get the data to/from the SGDMA controller.

    A simple example is the Triple-speed ethernet reference design.

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

    Thank you for your help. I will look into it.

    Best regards,

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

    I am using the sdram controller that comes with SOPC builder. You can achieve 98%+ throughput to the SDRAM if you connect your own MM master to it. On a speed grade 8 CIII I can meet timing running at 80Mhz easily.

    I can put out some example VHDL (don't know verilog) if you need help doing a MM master component that reads and writes to the SDRAM controller.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'm be able to connect DMA controller working, but I would like to know the speed (data rate ????kbs). Do you know the Avalon-MM data rate?

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

    The avalon MM interface is as fast as the clock you are driving your components with. And you have a variable data port width.

    I use an 80Mhz clock on my components and am using a 16bit data port SDRAM. So I can achieve close to 160MB/s to the SDRAM.