Progetto Pi.MX8 - Layout della scheda Parte 2

Lukas Henkel
|  Creato: marzo 21, 2024  |  Aggiornato: luglio 24, 2024
Capitolo IV di Pi MX8

Capitoli

1
Introduction and Overview
| Created: January 18, 2024
2
Component placement and layout planning
| Created: February 06, 2024
3
Board Layout Part 1
| Created: February 22, 2024
4
Board Layout Part 2
| Created: March 21, 2024
5
Board Layout Part 3
| Created: June 24, 2024
6
Board Layout Part 4
| Created: July 23, 2024
7
PCB Assembly
| Coming soon

Nell'aggiornamento precedente, abbiamo esaminato come definire uno stack di strati adatto per il modulo e come aggiungere il routing di fanout a tutti i componenti posizionati sulla scheda. Basandoci su tutte queste preparazioni, ora siamo quasi pronti per tracciare le prime piste. Prima di iniziare a collegare qualsiasi componente sulla scheda, però, dobbiamo definire i profili di impedenza e impostare le regole di progettazione corrispondenti per la larghezza della traccia adeguata.

Test of button

Impostazione dei profili di impedenza

L'impostazione dei profili di impedenza è semplice nel gestore dello stack di strati. Dobbiamo definire sia i profili di impedenza singola che differenziale. Le informazioni sui valori di impedenza necessari possono essere ottenute dagli standard delle interfacce e dalle guide di progettazione hardware per il processore NXP i.MX8. I seguenti valori di impedenza, sia singola che differenziale, sono utilizzati nel design:

Table of Impedances

Sullo stack di strati precedentemente definito abbiamo quattro strati di segnale disponibili che possiamo utilizzare per il routing controllato dall'impedenza, che sono lo strato superiore, L2, L7 e lo strato inferiore. Lo strato superiore e inferiore hanno ciascuno solo un piano di massa di riferimento mentre L2 e L7 sono incastonati tra due piani di riferimento. Dopo aver inserito i valori di impedenza e gli strati di riferimento, la geometria della traccia viene calcolata automaticamente:

Layerstack manager Impedance profile differential 100 Ohm

Gestore dello stack di strati profilo di impedenza differenziale 100 Ohm

Nel definire la geometria delle piste, in particolare la larghezza della pista e l'intervallo per le coppie differenziali, è importante tenere a mente lo spazio di routing necessario. Se possibile, ci piacerebbe mantenere la larghezza complessiva della coppia differenziale piccola al fine di limitare lo spazio di routing necessario. A seconda della densità della scheda, questo dovrebbe essere preso in considerazione anche quando si definisce lo stack dei layer.

Impostazione delle regole di progettazione

C'è solo un passo rimasto prima che possiamo tracciare le prime piste, ed è comunicare ad Altium Designer quali larghezze di pista (e intervalli per le coppie differenziali) sono richiesti a seconda dell'interfaccia e del layer di routing. I valori di impedenza sono assegnati alle interfacce appropriate nello schema. Qui possiamo lavorare con direttive per assegnare reti a classi di reti o classi di coppie differenziali.

Multiple net classes assigned to a design blanket

Multiple classi di reti assegnate a un blanket di progettazione

Nell'editor delle regole di progettazione possiamo ora prendere di mira queste reti o classi di coppie differenziali e assegnare le corrispondenti geometrie delle piste. Invece di inserire manualmente la geometria della pista possiamo scegliere il profilo di impedenza corrispondente che abbiamo definito nel gestore dello stack dei layer:

Impedance profile used in the design rule dialog – high priority rule overrides impedance profile

Profilo di impedenza utilizzato nella finestra di dialogo delle regole di progettazione – regola di priorità alta sovrascrive il profilo di impedenza

Nota che abbiamo un'altra regola di progettazione che assume la massima priorità nella nostra configurazione. Questa regola di progettazione si applica solo a determinate aree di progettazione che abbiamo creato nell'aggiornamento precedente. Queste aree sono posizionate direttamente sotto i componenti a passo fine e ci permettono di utilizzare localmente una larghezza e uno spazio delle tracce fino a 85 um nella regione di breakout. Le regole di progettazione per queste aree hanno la massima priorità poiché dobbiamo sovrascrivere i profili di impedenza definiti. Poiché potremmo non essere in grado di seguire la geometria delle tracce richiesta all'interno di queste aree, dobbiamo mantenerle il più piccole possibile e utilizzare geometrie delle tracce che si discostano dai profili di impedenza solo dove assolutamente necessario. Se manteniamo queste sezioni molto piccole, l'impatto complessivo sull'integrità del segnale del canale sarà accettabile. Tuttavia, dovremo verificare ciò nelle nostre simulazioni post-layout.

Design rooms in red shown underneath fine-pitch BGAs

Aree di progettazione in rosso mostrate sotto i BGA a passo fine

Routing LPDDR4

Ora che tutte le regole di progettazione sono state definite, possiamo iniziare a tracciare la prima interfaccia. Su questa scheda inizieremo con l'interfaccia DRAM.

Noterete che non abbiamo ancora definito la strategia di routing generale per questa scheda. Avremmo potuto farlo prima di posizionare qualsiasi traccia e, a seconda delle preferenze personali, non c'è nulla di sbagliato in questo. Su questa scheda ho deciso di instradare prima l'interfaccia DRAM per vedere quanto spazio e quanti strati di routing dobbiamo allocare all'interfaccia DRAM. Se possiamo instradare l'IC LPDDR4 su due o tre strati di segnale, allora possiamo allocare uno o due strati di routing ad altre interfacce nelle vicinanze. Poiché l'interfaccia DRAM occupa parecchio spazio, specialmente su una scheda piccola come questa, avere un altro strato di segnale vuoto disponibile sarebbe molto desiderabile.

Condensatori di decoupling LPDDR4

Diamo un'occhiata veloce all'instradamento dei condensatori di decoupling sull'IC LPDDR4. Collegare i condensatori di decoupling faceva parte del routing di breakout nell'articolo precedente. Rivediamolo prima per vedere se dobbiamo aggiungere ulteriori VIA o tracce sullo strato superiore o inferiore. Il fatto che stiamo utilizzando VIA riempiti e sigillati gioca a nostro favore quando si tratta di instradare i condensatori di decoupling.

Ogni pin di alimentazione sul DRAM IC ha il proprio VIA passante che può connettersi a tutti i 10 strati della scheda. Dobbiamo utilizzare i VIA su questi pin poiché stiamo gestendo le correnti di ritorno su tutti i piani di massa nello stackup. Poiché i condensatori di disaccoppiamento sono posizionati sul lato inferiore della scheda, dobbiamo anche avere i pad di alimentazione VDD e VDDQ disponibili sul lato inferiore della scheda. Il DRAM IC ha un passo dei pin di 0,65mm nell'asse Y. Questo passo dei pin ci permette di posizionare i condensatori di disaccoppiamento direttamente tra i pad GND e VDD/VDDQ. Questo arrangiamento permette di ottenere l'induttanza di loop più bassa possibile. Possiamo ora distribuire uniformemente i condensatori di disaccoppiamento tra i pin di alimentazione.

I resistori di terminazione dell'orologio opzionali sono anche posizionati direttamente sotto i pin dell'orologio, ognuno connesso direttamente ai pin attraverso i VIA.

Decoupling capacitors placed on bottom side of the LPDDR4 IC

Condensatori di disaccoppiamento posizionati sul lato inferiore del IC LPDDR4

Routing del segnale LPDDR4

Poiché non sono necessari segmenti di traccia aggiuntivi per i condensatori di disaccoppiamento, possiamo utilizzare lo spazio sullo strato inferiore per il routing dei segnali. Ci atterremo strettamente al design di riferimento dell'i.MX 8M plus e posizioneremo tutte le coppie differenziali DQS sul lato inferiore della scheda. Inoltre, possiamo anche posizionare i segnali di reset e abilitazione dell'orologio della DRAM sul lato inferiore:

DRAM routing bottom side

Routing DRAM lato inferiore

Colorare i segnali di comando/indirizzo/controllo in modo diverso dai gruppi DQ ci aiuta a identificare una buona strategia di routing. I segnali di comando/indirizzo/controllo ciano sono tutti situati dietro le prime due file di pin di segnale sul SoC, ad eccezione dei due segnali di orologio. Se vogliamo instradare questi segnali sugli strati interni dobbiamo assicurarci che non ci siano VIA provenienti dalle due file esterne di pin di segnale a intralciare. Possiamo collegare il Byte 0 dai canali A e B così come i segnali di orologio che sono tutti disponibili sulle due file esterne direttamente sullo strato superiore senza necessità di cambiare strato:

DRAM top side routing

Routing DRAM lato superiore

Il Byte 1 dai canali A e B si trovano entrambi verso l'angolo del BGA. Questo è perfetto poiché ci permette di spostare quei segnali su L2 e di collegarli al DRAM IC lasciando comunque abbastanza spazio tra questi due gruppi di routing per collegare i segnali di comando/indirizzo/controllo:

DRAM L2 routing

Routing L2 del DRAM

Parlando in termini stretti, non stiamo cambiando il layer di riferimento, ma ne stiamo introducendo un secondo passando a L2. Non appena posizioniamo una traccia con una tensione variabile nel tempo sopra un piano di massa, una corrente fluirà indipendentemente dalla presenza di un secondo piano di riferimento. Per fornire un percorso di ritorno per queste correnti stiamo anche utilizzando VIA di ritorno vicino alle transizioni di layer sul layer superiore. I segnali che stanno cambiando layer dietro le due file esterne di pin sotto il BGA hanno già VIA di ritorno nelle vicinanze che sono formati dalle due file di pin di massa e VIA di massa del SoC:

Return path VIAs for the DRAM interface

VIA di ritorno per l'interfaccia DRAM

Ecco un altro dettaglio da tenere a mente in relazione ai percorsi di ritorno. Stiamo utilizzando un layerstack di micro VIA sfalsati. Pertanto, i due micro VIA sequenziali devono essere posizionati con una certa distanza minima l'uno dall'altro. È necessario un breve segmento di traccia per stabilire una connessione tra i due VIA sequenziali. Questo segmento di traccia è posizionato sul piano di massa sotto il layer superiore e inferiore. Dobbiamo fare attenzione a non creare tagli o vuoti sul piano di massa che interromperebbero il percorso di ritorno delle linee di segnale:

 Return path management - voids and splits on the left side, improved routing on the right side

Gestione del percorso di ritorno - vuoti e divisioni sul lato sinistro, routing migliorato sul lato destro

Disponendo i micro VIA e i segmenti di traccia in linea con la griglia BGA del dispositivo DRAM possiamo assicurarci che ci sia sempre una solida connessione a terra sotto le linee di segnale:

Le tracce sul layer superiore e su L2 sono distanziate di almeno 0.275mm l'una dall'altra. Questa distanza è necessaria per garantire che non creiamo un eccessivo diafonia tra questi segnali. Dovremo verificare anche questo in una simulazione post-layout.

L'unica cosa che rimane da fare ora per completare il routing dell'interfaccia DRAM è la regolazione del ritardo. Tuttavia, non lo faremo ora. Invece, la regolazione del ritardo sarà eseguita per tutte le interfacce una volta terminato il routing. Per design di altissima densità o interfacce che richiedono molta compensazione del ritardo, è meglio eseguire la regolazione della lunghezza prima piuttosto che dopo. I requisiti di tempistica su LPDDR4 non sono troppo rigidi quindi sono fiducioso che non incontreremo problemi se ci prendiamo cura di ciò più tardi.

Per ora il routing DRAM è completato e possiamo passare alla fase di pianificazione del layout e instradare tutte le altre interfacce. Questo e altro farà parte del prossimo aggiornamento sul progetto del modulo di calcolo open-source!

Sull'Autore

Sull'Autore

Lukas is a passionate hardware designer with more than 10 years of experience in the electronics industry. As a co-founder of his own engineering services company, he has had the privilege of working on many exciting projects, taking on challenges ranging from precision analogue design to high-speed PCB layout and power electronics.

As a strong supporter of the open-source philosophy, Lukas has made it his goal to give anyone interested an insight into the construction and functioning of modern electronic devices. Driven by that goal, he has founded the company Open Visions Technology (OV Tech GmbH), which aims to bring highly repairable, fully documented state-of-the-art consumer hardware to the market.

Lukas firmly believes that with today's online access to know-how and tools, anyone with an idea, drive, and passion can create extraordinary things. He is looking forward to being part of an enthusiastic community and is excited to see how people bring their ideas to life.

Risorse correlate

Documentazione Tecnica Correlata

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