> Hi Glenn, > > Everything seems to be in order, however if there was signal integrity > issues the MAC (temac) would report bad frames due to CRC failure (the CRC > is calculated over the entire Ethernet frame). > > Just another sanity check would be to send this data to another PC and > just > confirm that all the packets are received.
Hi Glenn. Are you actually not receiving all the data? I wonder if there's some kind of error in the statistics gathering, i.e. maybe it strips off one of the headers before counting bytes, etc... Just a thought... Another thing is that the PC may be sending them in a bursty fashion, which makes it imperative that you handle the packet and stick it in a buffer right away, even though the average data rate is low. I'm not sure how to measure that. John > > HK > > On Tue, Jul 28, 2015 at 9:10 AM, G Jones <[email protected]> wrote: > >> Hi Henno, >> Thanks for replying. I meant to mention the simulink clock is 250 MHz >> and >> the design meets timing. The ultimate goal is loading waveforms into the >> DRAM since there isn't a CPU DRAM interface for ROACH2 yet, so any speed >> better than loading via KATCP would be great. But I've tried delays of >> up >> to 10 ms between each packet (i.e. down to about 100 KB/s), and am still >> seeing this behavior. The data loss fraction doesn't seem to improve >> substantially with reduced data rate. This leads me to suspect some sort >> of >> signal integrity issue, but I'm not sure where. >> >> Glenn >> On Jul 28, 2015 12:50 AM, "Henno Kriel" <[email protected]> wrote: >> >>> Hi Glen, >>> >>> I assume you are running your fabric > 125MHz? What is the data rate >>> you >>> are trying to sustain? >>> >>> HK >>> >>> On Mon, Jul 27, 2015 at 10:06 PM, G Jones <[email protected]> >>> wrote: >>> >>>> Hi, >>>> I'm experimenting with the one_gbe block on ROACH2. So far data >>>> transmission looks flawless, I can capture all the bytes I send. >>>> However, >>>> receiving data from a computer seems to result in missing data. >>>> My design is very simple, I have rx_ack tied high, and then counters >>>> on >>>> rx_val and the rising edge of rx_eof and also on rx_overrun and >>>> rx_badframe. >>>> >>>> If I just send a single packet, all looks good, the rx_val counter >>>> shows >>>> the number of bytes I sent, and rx_eof shows one packet received. But >>>> when >>>> I try to send a sequence of packets, I end up with the rx_val counter >>>> showing fewer bytes than I sent, by about ~ 0.5-5% depending on the >>>> exact >>>> combination of parameters I use in sending packets. Sometimes all the >>>> ~1024 >>>> packets arrive, as indicated by the rx_eof counter, but other times it >>>> seems 1-3 are missing. >>>> >>>> I see consistent results whether the packet payload is 1024 bytes, >>>> 4096 >>>> bytes, or 8192 bytes. >>>> >>>> I never see any counts on the rx_overrun or rx_badframe line. >>>> >>>> I am using sendall to send the packets from the host computer, and it >>>> reports that all bytes are being sent, so I assume it's not dropping >>>> them >>>> on the way outbound (plus it seems like it would be weird for the host >>>> computer to send partial packets). >>>> >>>> I've tried this test with two different network adapters (both >>>> directly >>>> connected to the ROACH2 fabric ethernet port, and with various lengths >>>> of >>>> CAT 6 ethernet cables. >>>> >>>> Has anyone used the one_gbe block in this way? Am I missing something? >>>> >>>> Thanks, >>>> Glenn >>>> >>> >>> >>> >>> -- >>> Kind regards, >>> Henno Kriel >>> >>> Manager: Hardware Engineering >>> SKA South Africa >>> (p) +27 (0)21 506 7374 (direct) >>> (m) +27 (0)84 504 5050 >>> web: www.ska.ac.za >>> >> > > > -- > Kind regards, > Henno Kriel > > Manager: Hardware Engineering > SKA South Africa > (p) +27 (0)21 506 7374 (direct) > (m) +27 (0)84 504 5050 > web: www.ska.ac.za >

