Come iniziare un layout PCB FPGA per il tuo sistema embedded

Zachariah Peterson
|  Creato: giugno 20, 2022  |  Aggiornato: settembre 2, 2024
Disposizione PCB FPGA

Gli FPGA sono disponibili in pacchetti quad o BGA che possono essere difficili da pianificare, specialmente con l'alto numero di I/O spesso implementati in questi componenti. Gli FPGA offrono molti vantaggi in termini di riconfigurabilità, ma possono richiedere molto sforzo per essere disposti e connessi senza problemi. Se non hai mai lavorato con un FPGA nel tuo layout PCB, abbiamo alcune linee guida che possono aiutarti a iniziare.

Creare un layout PCB per FPGA è principalmente difficile perché richiede una significativa pianificazione che deve corrispondere al design complessivo del sistema. Il design del sistema FPGA può dettare dove alcuni componenti devono essere posizionati e connessi nel layout PCB, e viceversa. Se hai già pianificato il layout del tuo sistema, allora probabilmente avrai più facilità a costruire la tua applicazione e implementarla su un FPGA con successo. Per iniziare, esamineremo come pensare allo stackup e ai canali di routing nel tuo FPGA poiché questi punti guideranno molte scelte nel layout PCB.

Stackup e Routing in un Layout PCB per FPGA

Per iniziare con un FPGA, è importante notare che gli FPGA avanzati di oggi con un numero moderato ad alto di I/O sono disponibili in pacchetti BGA. Gli FPGA in QFP sono disponibili anche, ma i componenti più avanzati saranno disponibili in pacchetti BGA. Il motivo è semplice: si possono inserire molti più I/O in un pacchetto BGA, e si può ridurre la dimensione del componente se un FPGA è confezionato in un BGA.

Quindi, per iniziare, assicurati che il design dello stackup per il layout del tuo PCB FPGA soddisfi alcuni semplici requisiti:

  • Intercala strati di alimentazione e segnale con strati di terra nel PCB stackup
  • Utilizza il metodo standard nei BGA per determinare il numero richiesto di strati di segnale per il routing (Strati di segnale = numero di righe con segnali/4)
  • Per gli I/O ad alta velocità, assicurati di rendere lo strato esterno abbastanza sottile da eliminare la necessità di restringimento
  • Usa piani di terra e/o riempimento di terra per supportare il routing ad alta velocità con controllo dell'impedenza

Le linee guida qui esposte si applicano a qualsiasi BGA, ma sono particolarmente importanti negli FPGA. Un FPGA è spesso utilizzato perché consente l'accesso a molteplici interfacce ad alta velocità che non sono disponibili in un componente più lento come un MCU/MPU. Anche nei BGA con pitch inferiore al millimetro, non è richiesto di implementare pratiche di progettazione HDI, ma dovresti comunque implementare uno stackup che permetta il tipo di routing necessario per garantire l'integrità del segnale, l'integrità della potenza e la compatibilità elettromagnetica.

Esempio di Stackup

Lo stackup mostrato di seguito offre molteplici canali di routing su più strati. Se ci sono più di due righe/colonne di I/O sull'FPGA, allora dovrai dedicare più strati di segnale a questi gruppi di I/O. Strati aggiuntivi possono essere aggiunti per supportare altri segnali non dedicati all'FPGA, o ad altre interfacce (analogiche, SPI, ecc.).

FPGA PCB stackup
Esempio di stackup PCB a 12 strati per un layout PCB FPGA.

In questo stackup, abbiamo preso le migliori misure disponibili per fornire isolamento nei diversi canali, fornire abbastanza spazio e strati per il routing dell'alimentazione, e abbondante terra per controllare i percorsi di ritorno. L'intercalazione di strati di terra tra segnale e PWR è molto importante poiché fornisce il controllo del percorso di ritorno necessario per garantire che i requisiti EMC siano soddisfatti. In questo stackup c'è solo 1 strato di alimentazione elencato, sebbene l'alimentazione possa anche essere instradata sugli strati di segnale secondo necessità per realizzare connessioni con binari più piccoli. Sistemi ad alta corrente possono usare più strati di alimentazione in parallelo se necessario.

Connessione Fanout da Scheda a Scheda SOM

L'FPGA sarà generalmente posizionato lontano dai bordi della scheda in modo che i canali di routing possano essere estesi verso l'esterno. Tuttavia, esiste un metodo alternativo per posizionare un FPGA. Invece di posizionare l'FPGA come un componente, potrebbe essere disponibile su un modulo sistema-su-modulo (SOM) fornito dal produttore del componente o da un'azienda terza. Il posizionamento come un SOM richiede l'espansione dei connettori da scheda a scheda che possono avere un numero di pin molto elevato. Un esempio è mostrato di seguito.

FPGA board to board connector
L'impronta del connettore da tavola a tavola può essere abbronzata in diverse direzioni a seconda del luogo in cui i segnali devono essere routinati.

A seconda dell'impronta del connettore da scheda a scheda, potrebbe essere necessaria una strategia di fanout e delle regole di progettazione che si potrebbero utilizzare su un FPGA. È comune vedere più connettori raggruppati in un arrangiamento quadrato intorno alla scheda SOM o ai bordi.

Pianificazione del Routing

Come possiamo vedere da tutta la discussione sopra, un layout e un routing efficaci della PCB con un FPGA riguardano il lavoro con i BGA, quindi le stesse strategie di routing utilizzate in altri BGA si applicheranno agli FPGA. Ci sono alcune strategie semplici che sono necessarie per il routing dei segnali fuori da un grande FPGA:

  • Assicurati che l'impronta BGA del tuo FPGA sia corretta e conforme ai requisiti DFM
  • Seleziona il fanout appropriato per il tuo BGA in modo che i segnali possano raggiungere i pin
  • Scava canali su ogni strato dove verranno instradate interfacce specifiche
  • Disponi i periferici intorno agli I/O per prevenire instradamenti avanti e indietro sulla scheda
  • Sfrutta le tue regole di progettazione per garantire il controllo dell'impedenza
  • Imposta la geometria della tua coppia differenziale in modo che l'impedenza sia dominata dallo spazio traccia-terra, e non dallo spazio traccia-traccia

Altre sfide di posizionamento normalmente coinvolgono il posizionamento di condensatori sui pin di alimentazione intorno all'FPGA per fornire il decoupling. Con i pacchetti BGA, questo è molto più conveniente perché puoi posizionare quei condensatori attraverso i pin sul lato posteriore dell'FPGA. Assicurati di specificare via-in-pad nella tua documentazione di fabbricazione se stai utilizzando condensatori di dimensioni maggiori. Se stai lavorando con alcuni degli standard di segnalazione più veloci, allora dovresti optare per dimensioni di pacchetto più piccole (sub-0402) per garantire la risposta più rapida possibile nella tua rete di decoupling.

FPGA PCB layout
Capacitori sui perni posteriori di un BGA.

Per segnali ad altissima velocità, dove è necessario un abbinamento preciso della lunghezza attraverso un bus parallelo di grandi dimensioni (come DDR4 o superiore) e tra molteplici coppie differenziali (come in PCIe), sarà necessario includere i tempi di volo attraverso l'FPGA. Gli FPGA fisicamente grandi potrebbero richiedere che i segnali viaggino attraverso il componente affinché un segnale possa lasciare un blocco logico e raggiungere un pin I/O. A volte, questi si trovano sui lati opposti dell'FPGA, quindi ci sarà un grande ritardo di propagazione aggiunto al tempo di viaggio del segnale. Questo tempo di volo aggiuntivo può essere incluso nelle informazioni di ritardo pin-package per l'FPGA. Se il tuo segnale sta passando attraverso una via, non dimenticare di includere il ritardo della via (vedi il link precedente).

Quando devi posizionare un FPGA nel tuo layout PCB e instradare i segnali ad altri componenti, usa il miglior set di funzionalità di layout PCB in Altium Designer®. Una volta completato il tuo PCB e sei pronto per condividere i tuoi progetti con collaboratori o il tuo produttore, puoi condividere i tuoi progetti completati attraverso la piattaforma Altium 365™. Tutto ciò di cui hai bisogno per progettare e produrre elettronica avanzata si trova in un unico pacchetto software.

Abbiamo appena iniziato a scoprire cosa è possibile fare con Altium Designer su Altium 365. Inizia oggi la tua prova gratuita di Altium Designer + Altium 365.

Sull'Autore

Sull'Autore

Zachariah Peterson ha una vasta esperienza tecnica nel mondo accademico e industriale. Prima di lavorare nel settore dei PCB, ha insegnato alla Portland State University. Ha condotto la sua Fisica M.S. ricerche sui sensori di gas chemisorptivi e il suo dottorato di ricerca in fisica applicata, ricerca sulla teoria e stabilità del laser casuale. Il suo background nella ricerca scientifica abbraccia temi quali laser a nanoparticelle, dispositivi semiconduttori elettronici e optoelettronici, sistemi ambientali e analisi finanziaria. Il suo lavoro è stato pubblicato in diverse riviste specializzate e atti di conferenze e ha scritto centinaia di blog tecnici sulla progettazione di PCB per numerose aziende. Zachariah lavora con altre società del settore PCB fornendo servizi di progettazione e ricerca. È membro della IEEE Photonics Society e dell'American Physical Society.

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.