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
UDP speed near 5 MByte per second
TCP 1.2MByte per second (real data playload) <div class='quotetop'>QUOTE </div> --- Quote Start --- http://www.niosforum.com/forum/index.php?a...st=0&#entry4398 (http://www.niosforum.com/forum/index.php?act=st&f=2&t=1048&st=0&#entry4398)[/b] --- Quote End --- - Altera_Forum
Honored Contributor
Hi Major
I read your response about LWIP udp speed , which is about 5Mbits as you mentioned Is there a demo program that you can refer me to test my udp bandwitch ? thanks Shay - Altera_Forum
Honored Contributor
5 MByte...ok sounds fine.
I need to transmit 400 - 600 MBit/s. Think its a long way to do that. Now I am working on a hardware implementation of an UDP Ethernet Frame Creator. So I havent to use the slow stack. I searched the inet...but I didnt found a ready-to-use implementation of that. regards. - Altera_Forum
Honored Contributor
2 shay: 5 mbyte (not MBit) and it has been tested by "revolt".
I only check TCP effective data bandwidth. May be anybody have same tested results for "OpenCores.org EMAC Development Package" (instead of LAN91C111)? The EMAC package use a DMA channel for data transfer? Another link about ethernet speed <div class='quotetop'>QUOTE </div> --- Quote Start --- http://www.niosforum.com/forum/index.php?a...t=st&f=2&t=2169 (http://www.niosforum.com/forum/index.php?act=st&f=2&t=2169)[/b] --- Quote End --- - Altera_Forum
Honored Contributor
400 - 600 Mbit/s. Thats a word. I think that is impossible via Ethernet.
I have a NIOS II @ 100 Mhz and the UDP checksum calulation in HW. With this configuration I reached ~62 MBit/s transfer rate. I think with more optimization 70-75 MBit/s should be possible with the 91C111. kind regards revolt - Altera_Forum
Honored Contributor
excuse me,How could you do the this job that measure the Ethernet speed??
Use any tool?? Or just write a socket program?? But the data could be written on the board??(in ram? in flash??) I mean that when packet arrive from ethernet how could you do ?store it?? or?? Could anyone give me the source code for understand? - Altera_Forum
Honored Contributor
I wrote a little UDP Server (Windows) that measures the time for receiving a given amount of packets, e.g. 10000 UDP packets.
Parallel I used the Packetizer Ethernet Sniffer to check if the result is okay. <div class='quotetop'>QUOTE </div> --- Quote Start --- But the data could be written on the board??(in ram? in flash??) I mean that when packet arrive from ethernet how could you do ?store it?? or?? Could anyone give me the source code for understand?[/b] --- Quote End --- From which side are you talking? The NIOS II or PC side. In my case I have a NIOS II and a PC connected via a crossover ethernet cable. The NIOS II only sends data to the PC and never receives packets form the server, expect ARP packets. - Altera_Forum
Honored Contributor
--- Quote Start --- originally posted by revolt@Sep 25 2005, 09:44 AM 400 - 600 mbit/s. thats a word. i think that is impossible via ethernet.<div align='right'><{post_snapback}> (index.php?act=findpost&pid=9947)--- quote end ---
--- Quote End --- The only time I've seen that is with Gigabit Ethernet, transferring between GHz-class machines. Given that a Nios processor is usually 50-150 MHz, you'd have to be transferring 4-12 bits per CPU clock cycle (!) to meet that data rate. I've been testing Ethernet throughput on my board (64MHz Cyclone Nios II w/ LAN91C111) and I get a TCP data rate (one way socket) of about 450kbytes/sec, and a UDP (TFTP upload) data rate of about 300kbytes/sec. I'm running the eCos OS on my board (stock drivers), though, so I'm not sure how much that hurts things. During transfers, the Ethernet pretty much eats the whole CPU (I can see a lowest-priority monitor task simply stopping for several seconds). I know for sure that I don't have any hardware checksum calculation. Are there any general guidelines on what to optimize to increase this speed?
- Altera_Forum
Honored Contributor
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 - Altera_Forum
Honored Contributor
--- Quote Start --- originally posted by revolt@Sep 25 2005, 09:44 AM 400 - 600 mbit/s. thats a word. i think that is impossible via ethernet.i have a nios ii @ 100 mhz and the udp checksum calulation in hw.
with this configuration i reached ~62 mbit/s transfer rate. i think with more
optimization 70-75 mbit/s should be possible with the 91c111.
kind regards
revolt
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=9947)
--- quote end ---
--- Quote End --- Hi Revolt, you said you could reach a bitrate of ~62 MBit/s with UDP checksum in HW. How did you do this?! Cheers, Danny