Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12603 Discussions

[Arria 10] Implementation of a PCI Express "Host" solution

Altera_Forum
Honored Contributor II
1,246 Views

Hello everyone, 

 

 

I am currently a trainee in a company and I am working on the implementation of a host PCI Express solution on an FPGA device. 

My knowledge of PCI Express protocol specifications is limited. I am becoming familiar with the features of the standard. 

 

 

Nevertheless, a first question came to me: 

 

 

I perfectly understood the PCI Express topology: a "host" part composed of a CPU and a Root Complex, and another part grouping the various "endpoints". 

My research on the internet allowed me to see that many IPs existed to be able to set up a PCI Express communication between a PC "host" and an FPGA "endpoint" and vice versa. 

 

 

My goal here is to implement a PCI Express design on an FPGA device so that it communicates with another FPGA, without having to use a CPU. 

The FPGA has to embark a design "host" and Root Complex (if I understand the specifications of the standard PCI Express). 

In other words, I do not want my first FPGA to communicate with the second through the CPU but these FPGAs communicate directly via PCI Express directly. 

 

 

Is this only possible? I have not yet found any information about this on the internet and I would like to have an opinion on the feasibility of such a project. 

 

 

PS: I'm working on an Intel / Altera Arria FPGA 10. 

 

 

Thank you, 

 

------------------------------------------------------------------------------------------------------------- 

 

Salut tout le monde,  

 

Je suis actuellement stagiaire dans une société et travaille sur l'implémentation d'une solution PCI Express hôte sur un composant FPGA. 

Mes connaissances concernant les spécifications du protocole PCI Express sont limitées. Je suis en train de me familiariser avec les caractéristiques de la norme. 

 

Néanmoins, une première question m'est venue : 

 

J'ai parfaitement compris la topologie PCI Express : une partie "host" composée d'un CPU et d'un Root Complex, et une autre partie regroupant les différentes "endpoints". 

Mes recherches sur internet m'ont permise de voir que de nombreuses IPs existaient pour pouvoir mettre en place une communication PCI Express entre un PC "host" et un FPGA "endpoint" et vice-versa. 

 

Mon objectif est ici d'implémenter un design PCI Express sur un composant FPGA pour que celui-ci communique avec un autre FPGA, sans avoir a utiliser un CPU. 

Le FPGA doit embarquer un design "host" et Root Complex (si j'ai bien compris les spécifications de la norme PCI Express). 

Autrement dit, je ne veux pas que mon premier FPGA communique avec le second par l'intermédiaire du CPU mais que ces FPGAs communiquent directement ensemble via PCI Express directement. 

 

Cela est-il seulement possible ? Je n'ai pas encore trouvé d'information parlant de cela sur internet et j'aimerai avoir un avis sur la faisabilité d'un tel projet. 

 

PS : Je travail sur un FPGA Intel/Altera Arria 10. 

 

Je vous remercie, 

 

Cordialement,
0 Kudos
0 Replies
Reply