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
Altera Ethernet MAC without DMA
Started by ●July 28, 2016
Reply by ●July 28, 20162016-07-28
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
Reply by ●August 1, 20162016-08-01
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. > > TheoHi 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