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

Ethernet MAC

Altera_Forum
Honored Contributor II
2,050 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
735 Views

Free? 

How many boards are you looking to build? 

 

try opencores.org
0 Kudos
Altera_Forum
Honored Contributor II
735 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.

0 Kudos
Altera_Forum
Honored Contributor II
735 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.
0 Kudos
Altera_Forum
Honored Contributor II
735 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?
0 Kudos
Altera_Forum
Honored Contributor II
735 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.
0 Kudos
Altera_Forum
Honored Contributor II
735 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?
0 Kudos
Altera_Forum
Honored Contributor II
735 Views

Hi guys 

 

Has anyone by now successfully ported a TSE MAC driver for uCLinux?
0 Kudos
Altera_Forum
Honored Contributor II
735 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.
0 Kudos
Altera_Forum
Honored Contributor II
735 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.

0 Kudos
Altera_Forum
Honored Contributor II
735 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
735 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?

0 Kudos
Altera_Forum
Honored Contributor II
735 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?
0 Kudos
Altera_Forum
Honored Contributor II
735 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
735 Views

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

 

--dalon
0 Kudos
Altera_Forum
Honored Contributor II
735 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?
0 Kudos
Altera_Forum
Honored Contributor II
735 Views

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

 

--dalon
0 Kudos
Altera_Forum
Honored Contributor II
735 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
735 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.oss=tse) to accelerate it, but you'll have to adapt the changes to the driver, I guess.
0 Kudos
Altera_Forum
Honored Contributor II
735 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
688 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).
0 Kudos
Reply