Forum Discussion
Altera_Forum
Honored Contributor
21 years agomaximum ethernet speed
Hello!
simple question: what are your experiences about the network speed with nios2 and lwip stack? my scenario: nios2 @ 75MHz lwip stack udp packages 1500 bytes (loop sending always the same content) in buffer no operating system = speed 2.0 - 2.5 MBit/s I think this is really slow...I have to transmit 400MBit/s. So I have to implement the stack in hardware to reach this speed. Anyone faster?16 Replies
- Altera_Forum
Honored Contributor
--- Quote Start --- originally posted by revolt@Oct 1 2005, 07:09 AM i took a look at a 1000 mbit mac ip from morethanip. they use a 4 bit mii interface @ 25 mhz to transfer the data to the phy. so the interface has a limit from 12.5 mbyte/s. i think gigabit ethernet is not fast enough.kind regards
revolt
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=10087)
--- quote end ---
--- Quote End --- that would cap the datarate at 100 mbit exactly, so there wouldnt be a point in using a Gbit lan mac by the way, when you want to reach 600 mbit (or even 400) then the receiving end station will be a problem, since 600 mbit is 75 mb/s, there are very few non server system that can sustain this kind of speed, so even if you could get this with a nios or orther FPGA system, the receiving end will have one hell of a time taking the data in (most normal HDD's cant do sustained writes over 60 mb/s) by the way, revolt, you said you did the checksum in HW, i asume this is a function normally done by the lwip? like CRC?
- Altera_Forum
Honored Contributor
Hi All,
the checksum that LwIP is doing, can also be done by HW. How can I make that happen?! What do I have to change in order to let it be checked by hardware? Danny - Altera_Forum
Honored Contributor
<div class='quotetop'>QUOTE </div>
--- Quote Start --- that would cap the datarate at 100 mbit exactly, so there wouldnt be a point in using a Gbit lan mac[/b] --- Quote End --- I searched a litte more and found a PHY IC from National (DP83865) that have a 8 bit wide interface (GMII) @25MHz. Then you have 200Mbit. <div class='quotetop'>QUOTE </div> --- Quote Start --- by the way, revolt, you said you did the checksum in HW, i asume this is a function normally done by the lwip? like CRC?[/b] --- Quote End --- The checksum calculation for the UDP packets is done by HW. Normally it is calculated by the lwip stack. - Altera_Forum
Honored Contributor
--- Quote Start --- originally posted by revolt@Oct 16 2005, 11:34 AM <div class='quotetop'>quote--- quote end ---
--- quote start ---
by the way, revolt, you said you did the checksum in hw, i asume this is a function normally done by the lwip? like crc? --- Quote End --- The checksum calculation for the UDP packets is done by HW. Normally it is calculated by the lwip stack. <div align='right'><{post_snapback}> (index.php?act=findpost&pid=10396)</div> [/b] --- Quote End --- i see, i asume you do this with a custom instruction in the nios?, or did you put a discrete block of vhdl between the nios and mac/phy? and do you know if this can also be done with TCP packets? i asume so..
- Altera_Forum
Honored Contributor
There is a discrete block of vhdl between the nios and mac/phy. In my application I only use UDP packets, so I never tested it with TCP packets.
regards Revolt - Altera_Forum
Honored Contributor
--- Quote Start --- originally posted by revolt@Oct 18 2005, 03:22 PM there is a discrete block of vhdl between the nios and mac/phy. in my application i only use udp packets, so i never tested it with tcp packets.regards
revolt
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=10431)
--- quote end ---
--- Quote End --- i see, we are using strictly TCP right now ive been working on the LWIP stack code, and to my horror simple tests about the amount of clock cycles needed for CRC seemed to indicate a cpu usage of 99.6% http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/blink.gif so needless to say i am gonna try and accelerate that process somehow, because this is plain ridiculous...