rompish

FPGA for network protocol conversion

Recommended Posts

Hi,

I am brand new to FPGA topic and i feel lost in the amount of boards and possibilities for them. I wanted to know if anyone could help me identify what board would suit my idea:

I would like to have an Ethernet input and an Ethernet output so that my FPGA algorithm could normalize several network protocols (stock exchanges) into a unified protocol and send it out. I would also like to be able to store data on my board and be able to send this data at will.

I would also like to know the limitations of how much data can one FPGA card handle and how is it determined. For example on a regular machine it is determined by how fast Network Card buffers are filled VS how fast app/kernel can pick this data from the buffer - i was wondering how it is determined in FPGA.

Please let me know if it makes sense and if it is something FPGA is well suited for.

Thanks!

 

Share this post


Link to post
Share on other sites

Hi,

I can tell you this much that estimating required FPGA size is a challenging topic in general. Chances are high that an abstract analysis that's not based on experience will completely miss the point.

For the PC, I think you are describing operating system overhead, not hardware limitations. Before I'd consider FPGA, I'd have a look at a bare-metal implementation, which can probably be approximated by editing the network card driver in a linux distribution (e.g. use one CPU core per inbound card and keep it in a spinlock  waiting for data to avoid the slow context switch etc on interrupt). If your code runs otherwise from cache, a modern e.g. 5 GHz CPU is a force to be reckoned with.

Share this post


Link to post
Share on other sites
Posted (edited)

The issue with PC is that to handle several 10G lines of data coming at capacity I have to use

1. special network cards with kernel bypass, 2. Many cores on the machine

 

I have dug around on this forum and I have found someone mentioning "net-FPGA" - i looked into that and it seems to be exactly what i need. I would love to be able to replace my network cards with a 4x 10G ethernet net-FPGA card and plug it into my computer via PCI express. 

Even though this seems to fit in terms of hardware, this is something I need to make sure would work and be able to test before I invest into a very expensive net-FPGA.

Is it possible to have this emulated with software? Ideally with openCl support (i assume this is more friendly to a newbie FPGA guy)

Is it possible to buy a cheap development board and simulate this? I like Arty on Arxis-7, even though i have no idea that it could do that.

 

If someone could also suggest any good educational resources on this, that would be great!

Edited by rompish

Share this post


Link to post
Share on other sites

Hi @rompish,

Welcome to the Digilent Forums!

I would suggest reaching out to the NetFPGA group  here. You will need to register which does take a few days. The NetFPGA group will be able to better answer your questions about simulation and hardware needs since they have more experience with the boards.

best regards,

Jon

Share this post


Link to post
Share on other sites

It may be a good idea to get the cheapest FPGA board (e.g. CMOD A7 just to name one) - don't even bother with Ethernet, just use e.g. UARTs, to get a feeling for the technology.

The problem I see is

>> I am brand new to FPGA topic

Maybe you can find an example project that needs only minor modifications. But even so, you may find out that the obviously shortest route leads through the deepest swamp... Example, my "minor modifications" cause the project to fail timing closure. What then? It's probably worse / "deeper swamp" than the same thing happening on my own design which I know line-by-line.

Don't let it discourage you, take it merely as hints so that when you run into something red and flashy in your project planning you recognize it as a warning light 🙂

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now