Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
20 years ago

maximum 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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&#39;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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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...