Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
1,000 Views

How to connect multiple FPGA boards?

Hi, I'm totally new to FPGA. Currently, I'm building FPGA boards using Altera Max 10 (10M50DAF484C8G). 

 

I want to connect 3 boards so the data from board 1 goes to board 2. Then, it's combined with data from baord 2 and goes to baord 3. So in the end, I'll have 3 data from 3 boards and send it to another board. 

 

What I'm facing now is, what protocol can be used to do this? I've done some reading and found out these protocols: 

 

1. SPI: I've read somewhere that SPI is not recommended to be used outside the PCB or it will be very slow. 

2. SATA: I think Max 10 doesn't support SATA transceiver, I don't understand. 

3. PCIe: I also thin Max 10 doesn't support this protocol. 

4. Ethernet: It is doable, but I want to use other protocols, if it's possible. 

5. LVDS: I'm not sure how this works. 

6. HSMC: I'm not sure also how this works with FPGA. 

 

So, which one is the best? 

Or maybe you have other recommendations? 

And how can I use it? 

What components do I need (controller IC, connector/port type, etc)? 

Or can I directly put connectors on the board (with direct conenction to FPGA pins)? 

 

I hope I can find answers. Thank you.
0 Kudos
4 Replies
Highlighted
Valued Contributor III
9 Views

You may need to narrow things down a bit by saying more about your data rate and cable lengths as it is largely an electrical engineering problem, not really FPGA unique. 

 

Because you called it out, LVDS is very useful and here is a pretty good primer: 

http://www.ti.com/lit/ml/snla187/snla187.pdf
0 Kudos
Highlighted
Valued Contributor III
9 Views

For slow data rates SPI will be by FAR the simplest.

0 Kudos
Highlighted
Valued Contributor III
9 Views

 

--- Quote Start ---  

You may need to narrow things down a bit by saying more about your data rate and cable lengths as it is largely an electrical engineering problem, not really FPGA unique. 

 

Because you called it out, LVDS is very useful and here is a pretty good primer: 

http://www.ti.com/lit/ml/snla187/snla187.pdf 

--- Quote End ---  

 

 

Hi, I choose to use LVDS. For data rate, I think it requires about 100Mbps. The length of the cable is about 20cm. Can you guide me how to use LVDS to connect 2 or more boards? 

 

What connector type is used? I read here: https://www.altera.com/en_us/pdfs/literature/wp/wp_lvdsboard.pdf 

 

It says that I need CAT3 or CAT5 cable. So, does it mean I have to use RJ45 connector? Can I use other connectors? If yes, what kind of connector do you suggest? 

 

If I meant to send data from board 1 to board 2, so I need LVDS transmitter on board 1 and LVDS receiver on board 2, right? 

 

Then I read here: https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/hb/max-10/ug_m10_lvds.pdf 

 

It says that I need external termination for some I/O standards, like emulated LVDS, Sub-LVDS, etc. 

 

What is this external termination? What does it do? How can I find the right value of resistors? What is Z0? Is it a cable impedance or something else? 

 

Do I need termination for each transmitter and receiver? 

 

I hope you can help. I appreciate it. Thank you.
0 Kudos
Highlighted
Valued Contributor III
9 Views

I want to use LVDS instead. If I use true LVDS, I don't need external termination for transmitter, right? 

 

Moreover, what type of cables and connectors are suitable for LVDS? What type of cables and connectors that have low skew and matching impedance for LVDS? 

 

I need 10 pins connectors actually.
0 Kudos