FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP

Ethernet MAC

Altera_Forum
Honored Contributor II
1,276 Views

Hello. 

Looking for a free Ethernet MAC controller with MII (10Mbit). Does Altera has it?
0 Kudos
32 Replies
Altera_Forum
Honored Contributor II
155 Views

Free? 

How many boards are you looking to build? 

 

try opencores.org
Altera_Forum
Honored Contributor II
155 Views

Altera provide a Triple-Speed Ethernet MAC IP solution. You can try it out in Quartus II 6.1/7.1 Megacore Library. It provides an open core plus evaluation license.

Altera_Forum
Honored Contributor II
155 Views

Hello tiande. 

It would be very nice to use TSE MAC core, but there is no driver for it in uClinux OS. That's why I use 10/100 OpenCores MAC now. Moreover, I have a lot of problems with new *.sopc files( they are also not supported in uClinux). In my plans to write driver for TSE MAC.
Altera_Forum
Honored Contributor II
155 Views

Hi Nick, 

You can actually use TSE MAC without using the SOPC builder system. There is a standalone TSE MAC where you can generate using Megawizard in Quartus II and integrate it in your custom system as normal HDL module. For this standalone MAC you need to write your own driver. However if you are using the SOPC builder mode of TSE MAC, you can actually use the provided driver. Can you share with me your problem with the SOPC files?
Altera_Forum
Honored Contributor II
155 Views

 

--- Quote Start ---  

Hi Nick, 

You can actually use TSE MAC without using the SOPC builder system. There is a standalone TSE MAC where you can generate using Megawizard in Quartus II and integrate it in your custom system as normal HDL module. For this standalone MAC you need to write your own driver. However if you are using the SOPC builder mode of TSE MAC, you can actually use the provided driver. Can you share with me your problem with the SOPC files? 

--- Quote End ---  

 

 

Tiande, 

Does this mean that the TSE MAC will run under uClinux? If so, could you explain how to make it work? I've been having difficulties getting the drivers to work properly. 

 

Thanks.
Altera_Forum
Honored Contributor II
155 Views

Hi tiande. 

1)For old *.ptf files was written perl sript(HWSELECT), which creates all headers in uClinux.  

For new *.sopc files I need write one new(or create files manually).  

I will try to use TSE with SGDMA in SOPC, but before I need to port drivers in uClinux. 

2)Does TSE work only with National PHYs?
Altera_Forum
Honored Contributor II
155 Views

Hi guys 

 

Has anyone by now successfully ported a TSE MAC driver for uCLinux?
Altera_Forum
Honored Contributor II
155 Views

Hi,  

 

I haven't port TSE MAC to uCLinux but I had read/modified/changed on the driver for TSE driver the interniche stack provided with MicroC/OS-II (come with Nios2-ide) before, i think it is not too difficult to understand it, in order to port the driver to uCLinux, what you need to knows (I think so, if it is not please let me know:)) 

1. look at the section where TSE MAC driver provided all the necessary function pointer to the interniche stack as a struct --> you need to figure out what struct the uCLinux need, for example, interniche stack required the ethernet packet accept in memory being pad with 2 bytes of 0 in front so that it can jump to byte number-12 for the payload easily. 

2. you need to see how the interniche stack in OS-II consume/take in the struct mentioned in 1 

3. later will be modified other part of the driver that use function native to OS-II to uCLinux  

4. check what is the other specific requirement that the uCLinux required from a MAC interface, if the feature exists in the TSE MAC as hardware function, add few more lines register read/write:) 

5. if a feature doesn't exist in the TSE MAC, try to emulate it in the driver, or file a Service Request to the Altera TSE IP team for feature recommendation.
Altera_Forum
Honored Contributor II
155 Views

Also, the TSE MAC (as far as I have tested), National/Marvel/Broadcom PHY, the daughter card provided by the Altera Partner's 10/100 or 10/100/100 PHY daughter card and some sort of Finisar copper/optical SFP.

Altera_Forum
Honored Contributor II
155 Views

Thanks for your reply Tiande - seems as if I will have to port the driver myself - will let you know how it goes.

Altera_Forum
Honored Contributor II
155 Views

hi, i have a stratixII GX pcie too, i want use TSE on uclinux, is GMII interface supported by those drivers? where can i find a simple example to implement TSE on sopc builder?

Altera_Forum
Honored Contributor II
155 Views

Hi,tiande,I want to use TSE without SOPC buider. 

How can I write driver? 

How can I control the TSE and get data from TSE?
Altera_Forum
Honored Contributor II
155 Views

You can start by reading the documentation of the TSE core, everything is explained there.

Altera_Forum
Honored Contributor II
155 Views

there is already a tse driver in the uClinux port hosted on www.nioswiki.com.  

 

--dalon
Altera_Forum
Honored Contributor II
155 Views

When using the uClinux-dist kernel config for configuring uclinux from nioswiki the Altera Triple Speed Ethernet option is available under the  

[*] Ethernet (10 or 100Mbit) options but not the  

[*] Ethernet (1000Mbit) option. Does the included uclinux for the Altera TSE driver not support gigabit implementations?
Altera_Forum
Honored Contributor II
155 Views

It was just miss placed. the driver does support gige. 

 

--dalon
Altera_Forum
Honored Contributor II
155 Views

yes, but the bit rate is like the 10/100... i get only 4,2 MByte/sec used with Nios II

Altera_Forum
Honored Contributor II
155 Views

That's about the rate you can get with a default Nios system. 

You can have a look at that example design (http://www.altera.com/support/examples/nios2/exm-ethernet-acceleration.html?gsa_pos=5&wt.oss_r=1&wt....) to accelerate it, but you'll have to adapt the changes to the driver, I guess.
Altera_Forum
Honored Contributor II
155 Views

i followed the example, i think uClinux is the bottleneck and the Nios frequency. My Nios processor run at 150MHz

Altera_Forum
Honored Contributor II
108 Views

Yes sorry, I thought you meant MBits/s... 

On a Cyclone III, I managed to reach about 50Mbits/s by following the acceleration example. 

With more tweaking, I went up to 160Mbit/s for UDP traffic (Nios at 100MHz and uC OS).
Reply