Jump to content
  • 0

NetFPGA-1G-CML synchronisation and data processing


willf

Question

Hello FPGA Forum users,

Apoologies in advance if this question should be in a different forum. I did look to see if there was a specific forum for the NetFPGA but couldn't find it.

I'm interested in data acqusition and data processing. I have several data acqusition units/PCs (e.g. from to 8 units), each containing a data acqusition card with 4 channels sampling continuously at 10 MSPS per channel (so 40 MSPS or 80 MB/s per data acquisition PC). Each  data acqusition PC has a standard 1Gb ethernet card.

I wish to continuously stream the data from all the data acqusition units to another PC for pseudo-real-time data processing and data storage. The idea I had was to try and find a multi-port network card and physically connect (via cat6 ethernet cable) each of the data acquisition units to this multi-port card. I came across the NetFPGA-1G-CML card which may provide a solution.

I have two questions:

(1) Is it possible to have multiple NetFPGA-1G-CML cards in the same PC and if so how to synchrnoise them ?

(2) I wish to stream data from all data acqusition units to the data processing PC via the NetFPGA-1G-CML card(s) for data processing, and perform signal/data processing on the data for example signal trigger detection (i,e. signals above a certain voltage amplitude), signal averaging, filtering, peak detection, FFT, etc. and then store data to a disk array in the PC.

Is it possible to do the above using the NetFPGA-1G-CML cards?

 

Thank you in advance for your advice.

Regards,

Will.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

@willf,

I really dislike questions about "is it possible" or not.  There are just too many ways to do things to be able to judge across all of them.

Is it possible to place multiple NetFPGA cards into one PC?  I don't see why not.  One of the goals of PCIe development was to be able to plug multiple PCIe boards into the same computer.

If you want really good synchronization between them, you'll need to share a clock between them.  One approach might be to have one board be the "clock generator (in addition to everything else it is doing), and to have it distribute a clock signal to the other boards.  You might even wish to share two signals: one for the clock, and a second for synchronization (i.e. which clock is the "first" clock.)

From my work with GPS, I know it is possible to generate a clock signal from a 1PPS GPS signal.  Hence, you should be able to share that clock from one board to the next.  How you would ever get the GPS signal into your computer though might be a challenge, so it wouldn't be my primary choice.  (A separate GPS board, for example?)

How good would your synchronization be?  I can't really say for the NetFPGA, however 10ns seems quite achievable to me.  I guess the question is: how good does your application require it to be?  That will then determine a lot of things to follow.

Dan

Link to comment
Share on other sites

Thank you Dan for your reply.

100 ns in terms of synchronisation would be OK. If I have for example 8 data acqusition PCs, the idea is to physically connect each of these PCs (via the 1 GbE NIC in the PC) to a port on two NetFPGA-1G-CML boards in the processing PC. Each data acqusition PC will acquire data at a rate of 80 MB/s, which will need to be streamed to the processing PC, and processed by the FPGA on the NetFPGA board prior to storing the data to a disk array in the processing PC.

Yes I agree a question asking whether or not something is possible is vague and not a good question to ask in this case. Apologies.

Regards,

Will.

 

Link to comment
Share on other sites

@willf,

Does this mean you wish to use the network for synchronization?  I missed that from before.  While quite doable, it wouldn't be as simple as running two wire pairs between the PMod ports on boards within the same computer chassis.  Adding to the complexity of using a network cable is variable length of the network cable, and the network speed negotiation packets that take place across the cables even without your command request.  (Network interfaces weren't designed to be clock interfaces ...) 

While I have a half-written core to create an NTP server that should be able to distribute 100ns accuracy across an ethernet, the work is not one of my current priorities neither is it funded.  Once completed, this should be able to deal with the issue of the varying cable length.

Another alternative might be to use one node to create an arbitrarily long packet (infinitely long?) which just contains your clock.  While this would essentially turn the network cable into a clock line, it would not compensate for any length of cable being used.

Dan

Link to comment
Share on other sites

Thanks again Dan.

My apologies for not explaining this application in clearer detail.

on the data acqusition side, the data across all data acqusition PCs will be synchronised so that all data is simultaneously sampled.

When the data is sent from the data acquisition units to the NetFPGA-1G-CML boards in the processing PC, the synchronisation should be between the two NetFPGA-1G-CML boards in the PC, so that the data processing on all the incoming data (across the two NetFPGA boards) is synchronous and occurring simultanously on the same sample number etc. 

You have raised some good points such as latency as a result of the network cable variations (length etc.) and with packets and jitter across the network. Maybe best solution would be to buffer data on data acqusition end (or receiver end) and use some RTP network protocol.

Thanks again for your thoughts Dan.

Link to comment
Share on other sites

Hi @willf,

We have limited support for the NETFPGA-1G-CML. Here is the home page for the NETFPGA with a wiki as well as support for the NetFPGA. If you are not already registered, you can use the registration link located on the "Getting Started" page here. Once registered, you can also use the NetFPGA forum to post your questions. 

cheers,

Jon

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...