FPGARelated.com
Forums

Altera Ethernet MAC without DMA

Started by Jakab Tanko July 28, 2016
Hi all,

I have a design that uses Altera Ethernet MAC and 
I would like to connect it to NIOS without DMA.
Any suggestions? 

Thanks,
--
Jakab 
Jakab Tanko <jakab.tanko@gmail.com> wrote:
> Hi all, > > I have a design that uses Altera Ethernet MAC and > I would like to connect it to NIOS without DMA. > Any suggestions?
The MAC (at least the 10G MAC which I've worked with) has Avalon stream pipes in and out for packet data. So you just need something to generate a stream of 64 bit words. The Altera supplied stream-to-memory-mapped components only go as wide as 32 bits. So I wrote a very simple FIFO to stream converter, with 64 bit Avalon ST and 32 bit Avalon MM ports. Write words into a pair of 32 bit FIFO registers, 64 bit words come out on the stream. Another register handles start-of-packet/end-of-packet bits. You probably don't want my code (it's in Bluespec), but it shouldn't take long to write something similar. Alternatively you could use the Altera 32 bit components and make something to double up two words on a 32 bit stream to be a single 64 bit stream word. Theo
On Thursday, July 28, 2016 at 12:09:12 PM UTC+2, Theo Markettos wrote:
> Jakab Tanko <jakab.tanko@gmail.com> wrote: > > Hi all, > > > > I have a design that uses Altera Ethernet MAC and > > I would like to connect it to NIOS without DMA. > > Any suggestions? > > The MAC (at least the 10G MAC which I've worked with) has Avalon stream > pipes in and out for packet data. So you just need something to generate a > stream of 64 bit words. The Altera supplied stream-to-memory-mapped > components only go as wide as 32 bits. So I wrote a very simple FIFO to > stream converter, with 64 bit Avalon ST and 32 bit Avalon MM ports. Write > words into a pair of 32 bit FIFO registers, 64 bit words come out on the > stream. Another register handles start-of-packet/end-of-packet bits. > > You probably don't want my code (it's in Bluespec), but it shouldn't take > long to write something similar. Alternatively you could use the Altera 32 > bit components and make something to double up two words on a 32 bit stream > to be a single 64 bit stream word. > > Theo
Hi Theo, Thanks for the reply, In this design I have the 1G MAC but the problem is the same; Can't connect Avalon streaming ports (ST) to the NIOS directly so I will follow what you did and build my own bridge(s), Cheers, Jakab