The tx_afull signal should not be used to determine when to end your frames. This is there to tell you that the input buffer is almost full and that you need to stop clocking data into the core.
You should decide yourself how big to make your packets. I usually aim for 4096 bytes, which is big enough that most computers can swallow high data rates. Note that you need jumbo frames enabled on your network for larger packets like this to work. The 10GbE core only starts to flush contents from the input fifo after you send an EOF pulse. So if you wait for the afull signal before pulsing EOF, then you must wait 'till the buffer empties out a bit before clocking-in any more data. I hope this clarifies things. Jason On 28 Sep 2010, at 15:03, Andrew Lutomirski wrote: > I've found the 10GbE transmit side to be very finnicky. I can get it > to work reliably if I manually reset it after loading the model and if > I don't rely on the tx_afull signal. I think what goes wrong is that > I see tx_afull, send end of frame, then start sending the next frame. > The beginning of the next frame overflows the buffer because the first > frame hasn't cleared out of the buffer yet. So instead I just could > bytes sent and end the frame myself. > > --Andy > > On Tue, Sep 28, 2010 at 8:58 AM, Guy kenfack <[email protected]> wrote: >> >> Good morning, >> few days ago, Jason helped us to run tut2. >> Then we tried again this week to go back in depth in the Tut2 design(10GbE). >> We tried to run the same python script(with the same boffile) and we got >> strange results: >> - Specially we were not able to display the RX counter on the screen.(we are >> able to display only the TX counter) >> -TX buffer always overflow >> - There is no data send to RX(RX array is always empty) >> - From the screen report it seems that the 10GbE is always disable !! the >> 10GbE parameters( mac, ip, port....) from the 'tut2.py' seems to have not >> been taken in acount trough >> the configuration registers ! >> - We decided to save the output screen for both case: 'tut2.py roach -a' and >> 'tut2.py roach -p' . the report are displayed below. >> >> thanks in advance, >> >> >> ==================================== output screen report:'tut2.py roach >> -a' ============================================================== >> >> Note that for some IP address values, only the lower 8 bits are valid! >> ------------------------ >> GBE0 Configuration... >> My MAC: 12 34 56 78 00 00 >> Gateway: 0 0 0 1 >> This IP: 192 168 5 20 >> Gateware Port: 10000 >> Fabric interface is currently: Disabled >> XAUI Status: 0000007E >> lane sync 0: 1 >> lane sync 1: 1 >> lane sync 2: 1 >> lane sync 3: 1 >> Channel bond: 1 >> XAUI PHY config: >> RX_eq_mix: 4 >> RX_eq_pol: 0 >> TX_pre-emph: 0 >> TX_diff_ctrl: 0 >> ARP Table: >> IP: 192.168. 5. 0: MAC: FF FF FF FF FF FF >> IP: 192.168. 5. 1: MAC: FF FF FF FF FF FF >> IP: 192.168. 5. 2: MAC: FF FF FF FF FF FF >> IP: 192.168. 5. 3: MAC: FF FF FF FF FF FF >> . >> . >> . >> . >> . >> IP: 192.168. 5.244: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.245: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.246: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.247: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.248: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.249: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.250: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.251: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.252: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.253: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.254: MAC: FF FF FF FF FF FF >> IP: 192.168. 5.255: MAC: FF FF FF FF FF FF >> ------------------------ >> Sent 25037 packets already. >> Received 0 packets already. >> ------------------------ >> Triggering snap captures... done >> Enabling output... done >> ERR: Not receiving anything. >> Reading 2048 values from bram snap_gbe0_tx_bram_msb... ok >> Reading 2048 values from bram snap_gbe0_tx_bram_lsb... ok >> Reading 2048 values from bram snap_gbe0_tx_bram_oob... ok >> Reading 1 values from bram snap_gbe3_rx_bram_msb... ok >> Reading 1 values from bram snap_gbe3_rx_bram_lsb... ok >> Reading 1 values from bram snap_gbe3_rx_bram_oob... ok >> Unpacking TX packet stream... >> [ 0]: data: 5A2B9781 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 1]: data: 5A2B9782 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 2]: data: 5A2B9783 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 3]: data: 5A2B9784 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 4]: data: 5A2B9785 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 5]: data: 5A2B9786 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up >> . >> . >> . >> . >> [2038]: data: 5A2B9F77 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2039]: data: 5A2B9F78 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2040]: data: 5A2B9F79 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2041]: data: 5A2B9F7A IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2042]: data: 5A2B9F7B IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2043]: data: 5A2B9F7C IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2044]: data: 5A2B9F7D IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2045]: data: 5A2B9F7E IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2046]: data: 5A2B9F7F IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2047]: data: 5A2B9F80 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] [eof] >> Unpacking RX packet stream... >> [ 0]: data: 0 IP: 0.0.0.0 >> ========================== >> >> >> >> ==================================== output screen report:'tut2.py roach >> -p' =============================================================== >> Connecting to server roach... ok >> >> ------------------------ >> ok >> --------------------------- >> Port 0 linkup: True >> Port 3 linkup: True >> --------------------------- >> Configuring receiver core... done >> Configuring transmitter core... done >> --------------------------- >> Setting-up packet source... done >> Setting-up destination addresses... done >> Resetting cores and counters... done >> Sent 24494 packets already. >> Received 0 packets already. >> ------------------------ >> Triggering snap captures... done >> Enabling output... done >> ERR: Not receiving anything. >> Reading 2048 values from bram snap_gbe0_tx_bram_msb... ok >> Reading 2048 values from bram snap_gbe0_tx_bram_lsb... ok >> Reading 2048 values from bram snap_gbe0_tx_bram_oob... ok >> Reading 1 values from bram snap_gbe3_rx_bram_msb... ok >> Reading 1 values from bram snap_gbe3_rx_bram_lsb... ok >> Reading 1 values from bram snap_gbe3_rx_bram_oob... ok >> Unpacking TX packet stream... >> [ 0]: data: DE43701 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 1]: data: DE43702 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 2]: data: DE43703 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 3]: data: DE43704 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 4]: data: DE43705 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [ 5]: data: DE43706 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> . >> . >> . >> . >> >> [2041]: data: DE43EFA IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2042]: data: DE43EFB IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2043]: data: DE43EFC IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2044]: data: DE43EFD IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2045]: data: DE43EFE IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2046]: data: DE43EFF IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] >> [2047]: data: DE43F00 IP: 10. 0. 0. 30 [TX overflow] [TX almost >> full] [Link up] [eof] >> Unpacking RX packet stream... >> [ 0]: data: 0 IP: 0.0.0.0 >> ========================== end of the display =========================== >> >> >> >> >

