Benvenuti alla terza puntata del progetto del modulo computer open-source Pi.MX8! In questa serie di articoli, esploriamo la progettazione e il testing di un system-on-module basato su un processore i.MX8M plus di NXP.
Nell'ultimo aggiornamento, abbiamo esaminato la struttura dello schema del modulo e iniziato a preparare il posizionamento preliminare dei componenti. Ora che abbiamo posizionato i componenti, abbiamo una buona idea della densità del design e delle esigenze che questo pone sul layerstack. Oggi, selezioneremo uno stackup adatto e inizieremo a tracciare le prime piste.
Basandoci sul posizionamento dei componenti e su alcuni fattori strategici possiamo decidere quale tecnologia PCB e quale stackup vorremmo utilizzare per il design in avanti. Diamo prima un'occhiata alla densità dei componenti:
Posizionamento dei componenti lato superiore
Il posizionamento preliminare dei componenti rivela una densità complessiva del design moderata. I componenti attivi sono tutti situati sul lato superiore della scheda, mentre il lato inferiore contiene principalmente condensatori di disaccoppiamento e altri circuiti passivi. Il lato inferiore della scheda è quindi relativamente vuoto e ci lascia molto spazio per il routing. L'obiettivo, tuttavia, sarebbe quello di allocare questo spazio per funzionalità aggiuntive che verranno implementate poiché il modulo Pi.MX8 è destinato a servire come piattaforma che può essere aggiornata ed espansa su richieste specifiche.
Posizionamento dei componenti lato inferiore
Osservando il posizionamento dei componenti vicino ai connettori da scheda a scheda, notiamo che molti componenti sono posizionati direttamente sopra i connettori sul lato opposto della scheda. Se decidiamo di utilizzare solo VIA standard che collegano l'intero stack di strati dallo strato superiore a quello inferiore, non possiamo posizionare alcuna VIA in queste aree. Per poter collegare tutti i pin sui connettori da scheda a scheda ed instradare efficacemente i circuiti attivi situati sul lato opposto dei connettori, dobbiamo ideare un metodo che vada oltre il semplice affidamento alle VIA passanti. Per questo, avremo bisogno di utilizzare uno stack HDI.
Utilizzare uno stack HDI rende più facile espandere la funzionalità del modulo in una fase successiva, poiché non dobbiamo necessariamente utilizzare VIA passanti per collegare componenti aggiuntivi, e quindi non dobbiamo interferire tanto con il routing e il posizionamento dei componenti già stabiliti.
Per il modulo Pi.MX8 utilizzeremo uno stack di strati 2+N+2. Questo è uno stack di tipo III come definito negli standard IPC-2226 ed è uno degli stack HDI più comunemente utilizzati.
Questo tipo di stack utilizza due passaggi di laminazione sequenziali nel processo di fabbricazione per consentire alle micro-VIA di collegare i tre strati più esterni. Una VIA sepolta viene utilizzata per collegare lo stack centrale che non fa parte del processo di fabbricazione sequenziale. I prepreg e lo spessore dei prepreg utilizzati in questo tipo di stack dipendono dalla capacità di fabbricazione del fornitore di PCB. Lo spessore scelto dei prepreg laminati sequenzialmente è limitato dal rapporto di aspetto della micro VIA. A differenza delle VIA forate meccanicamente, le micro VIA sono create perforando i prepreg con brevi impulsi laser. Tipicamente, vengono utilizzati diametri di VIA tra 0,08mm e 0,15mm. Un rapporto di aspetto adatto per la produzione di massa è generalmente nell'intervallo di 0,6:1 – 0,8:1.
Un prepreg sottile garantirà che il requisito del rapporto di aspetto non venga violato riducendo al contempo la larghezza della traccia per una data traccia controllata dall'impedenza. Per un semplice microstrip sullo strato superiore o inferiore con un solo piano di riferimento questo non è un problema. Dobbiamo però fare attenzione con le stripline incorporate sotto il primo piano di massa, poiché le brevi distanze al piano di riferimento sopra e sotto le stripline potrebbero risultare in tracce molto strette per certe interfacce controllate dall'impedenza.
Lo stack finale per la scheda Pi.MX8 è stato creato in collaborazione con il produttore di PCB e si presenta come segue:
Stratificazione Pi.MX8
In generale, il modulo sarà costruito su un impilamento a 10 strati. I strati superiore, L2, L7 e inferiore saranno utilizzati come strati di segnale. Gli strati L1, L3, L6 e L8 saranno utilizzati come piani di massa. I due strati rimanenti L4 e L5 fungeranno da piani di alimentazione. I piani di alimentazione sono costruiti utilizzando una sottile lamina di soli 18μm di spessore. Dobbiamo tenere d'occhio la caduta di IR per questi strati. I piani di alimentazione sono strettamente accoppiati ai piani di massa adiacenti con solo un prepreg di 75μm che separa questi strati. Questo risulta in una capacità di piano aggiuntiva che può essere vantaggiosa per fornire una bassa impedenza della rete di distribuzione dell'alimentazione (PDN) ad alte frequenze. Verificheremo il comportamento della PDN tramite simulazione una volta completato il layout.
Un altro aspetto importante da notare su questo impilamento è che utilizzeremo solo microvie sfalsate invece di impilate. Ciò significa che le microvie non possono essere posizionate direttamente una sopra l'altra e invece devono essere sfalsate con un passo di almeno 0,35mm da centro a centro. L'uso di microvie sfalsate rende la registrazione degli strati sequenziali più facile, il che diminuisce il costo di produzione con alcuni fornitori di PCB. Questo approccio è anche raccomandato per gli impilamenti HDI che utilizzano più di due programmi di microvie per aumentare l'affidabilità delle microvie. Lo svantaggio dell'uso di microvie sfalsate è lo spazio aggiuntivo necessario per soddisfare il requisito di offset minimo. I vuoti creati nel piano di massa devono anche essere considerati quando si tratta di gestire il percorso di ritorno per le tracce adiacenti.
Ora che lo stack di strati è stato definito, il passo successivo è sbloccare i segnali dei singoli componenti. In questo passo, posizioneremo tutte le microvie necessarie per il routing dei segnali e dell'alimentazione su ogni componente. Facciamo questo passo ora poiché idealmente vorremmo avere tutte le microvie in posizione prima di iniziare a collegare i componenti. Anche in uno stack HDI, le microvie occupano ancora molto spazio. Questo è particolarmente vero per le microvie che fanno parte della rete di distribuzione dell'alimentazione poiché di solito si collegano attraverso tutto lo stack. Posizionare microvie durante la fase di routing può richiedere l'eliminazione di tracce precedentemente routate per fare spazio alle microvie.
Routing di sblocco sullo strato superiore del modulo
Nell'immagine sopra possiamo vedere che quasi tutti i pin dei componenti sono sbloccati utilizzando microvie o sono lasciati non connessi. I pad non connessi saranno routati sullo strato superiore o sono forniti di spazio aggiuntivo per aggiungere il routing di sblocco in seguito. In quest'ultimo caso, è importante ricordarsi di non posizionare tracce all'interno di queste aree.
Per alcuni componenti, sarà necessario sovrascrivere localmente le regole di progettazione predefinite per la larghezza e lo spazio delle tracce per rendere possibile il routing di breakout. Un esempio è l'i.MX8 SoC. Il piccolo passo dei pin di soli 0,5 mm richiede una larghezza della traccia di 0,08 mm e uno spazio traccia-pad di 0,085 mm. Al di fuori di queste aree di breakout, ci piacerebbe continuare a lavorare con regole di larghezza e spaziatura delle tracce di 100um. Ci sono diversi modi per implementare questo comportamento nelle regole di progettazione. Un modo è utilizzare stanze di progettazione extra che si vedono assegnare un insieme dedicato di regole. Questo consente un flusso di lavoro di routing fluido poiché la larghezza della traccia viene automaticamente aggiustata una volta che il cursore attraversa il confine della stanza di progettazione.
Requisiti di larghezza e spaziatura delle tracce per il routing di breakout dell'i.MX8
Utilizzando le stanze di progettazione, la larghezza della traccia viene automaticamente aggiustata durante il routing interattivo:
Nel nostro prossimo aggiornamento, esploreremo come le regole di progettazione generali sono impostate secondo il profilo di impedenza del layerstack, così come come approcciare il routing sui layer interni. Restate sintonizzati per scoprire come affrontiamo il layout della memoria e navigare le difficoltà introdotte dallo stackup HDI scelto!