Routing automatico dei PCB con il Situs Topological Autorouter

Zachariah Peterson
|  Creato: settembre 5, 2022  |  Aggiornato: agosto 25, 2024
Autorouter PCB

C'è uno strumento nelle applicazioni di progettazione PCB che le persone amano odiare: gli autorouter. Ho usato gli autorouter in alcuni dei miei primi progetti che avevano molte tracce. Quei primi circuiti stampati non avevano requisiti che limitassero la libertà di routing come l'impedenza controllata o i budget di perdita. Probabilmente avrei potuto (e avrei dovuto) cablare quei primi circuiti a mano solo per acquisire più esperienza nella disposizione dei PCB, ma ho usato comunque un autorouter.

Sebbene molti autorouter di generazione attuale soddisfino ciascuno di questi requisiti in una certa misura, gli approcci basati su griglia, forma o geometria che adottano nel mappare lo spazio di routing presentano serie limitazioni con tecnologie di imballaggio dei componenti più dense, non ortogonali e geometricamente irregolari - tecnologie che stanno diventando più comuni nella progettazione di circuiti moderni. Gli autorouter di generazione attuale, a causa delle loro limitazioni geometriche, tendono anche a produrre risultati che "sembrano autoroutati", portando a un estensivo lavoro di rifinitura manuale. Infatti, molti progettisti evitano di usare gli autorouter proprio a causa di questa limitazione.

2 of the internal layers of a board that has been topologically autorouted.

Il Situs™ autorouter di Altium Designer è uno strumento che può essere utilizzato per instradare automaticamente specifiche reti o classi di rete, e potrebbe essere uno strumento utile per il tuo processo di progettazione. È importante notare che questo autorouter è uno strumento di automazione avanzato che può aiutare a eliminare gran parte dell'instradamento manuale, ma è importante sapere quando e dove utilizzarlo.

L'autorouter Situs non è uno strumento punto-e-clic. Richiede pianificazione e configurazione.

Per sfruttare al meglio questo strumento è necessaria una certa pianificazione e riflessione preliminare nella disposizione del PCB, impostando le Classi di Rete in modo che gruppi specifici di reti possano essere presi di mira dall'autorouter, e persino progettando una strategia di instradamento personalizzata da implementare con l'autorouter Situs.In questo articolo, esamineremo alcuni concetti di base sull'autorouting, come configurare l'autorouter Situs, e un esempio che mostra i risultati di un autorouter come Situs. Utilizza i collegamenti del Sommario qui sopra per saltare a ciascuna sezione di questa guida.

Panoramica sull'Autorouter Situs

[Torna in alto]

Approcci Tradizionali all'Autorouting

Un progetto elettronico è essenzialmente una raccolta di componenti i cui pin sono connessi tra loro in un modo particolare. Il progetto viene implementato disponendo i componenti su una struttura meccanica multistrato, chiamata scheda a circuito stampato (PCB). Le connessioni sono fisicamente implementate attraverso percorsi discreti di rame che viaggiano attraverso e sopra il PCB, da un pin di un componente all'altro.

Il compito di creare il percorso di rame discreto, o tracciato, per ogni connessione può essere molto complesso. Un progetto tipico potrebbe avere migliaia di connessioni tra i pin dei componenti, e i percorsi potrebbero dover essere creati tra componenti che sono molto strettamente impacchettati sulla superficie del PCB.

I primi autorouter mappavano uno spazio di progettazione definendo una griglia regolare e fissa su tutta la scheda, con l'obiettivo di avere ogni pin del componente posizionato direttamente su un punto della griglia e di includere sufficienti punti della griglia nello spazio libero per tracciare tutte le connessioni. I componenti iniziali erano forniti con i loro pin distanziati in multipli di 0,1 pollici, quindi definire una griglia adatta era relativamente facile, come mostrato di seguito.

Quando tutti i componenti avevano i pin con un passo di 0,1", si poteva utilizzare un router a griglia.

Con l'introduzione dei componenti a montaggio superficiale, la distanza tra i pin dei componenti è diventata molto più piccola, e i produttori hanno iniziato anche a fornire componenti con spaziatura dei pin metrica. I miglioramenti nella tecnologia di fabbricazione hanno permesso al progettista di utilizzare percorsi di routing molto stretti, che potevano essere posizionati più vicini tra loro. Questi fattori combinati hanno reso inutilizzabili i router a griglia uniforme su progetti che impiegavano queste tecnologie di packaging e fabbricazione. Poiché la griglia doveva essere abbastanza fine da gestire efficacemente le nuove tecnologie, i router a griglia necessitavano di enormi quantità di memoria e potenza di elaborazione - per non parlare del tempo - per costruire la griglia di routing e progettare il percorso.

Per migliorare questo approccio, è stata sviluppata una tecnica nota come espansione rettilinea [1]. Questa tecnica definisce lo spazio tra gli ostacoli sulla scheda come una serie di rettangoli. Una volta definito l'insieme dei rettangoli, un percorso di routing viene determinato seguendo i bordi dei rettangoli. Questa tecnica ha permesso di instradare componenti con diverse spaziature dei pin, e ha anche permesso all'autorouter di gestire le tecnologie di fabbricazione allora più recenti, come i componenti a montaggio superficiale. Questo approccio è spesso definito come autorouting basato sulla forma, perché modella i canali di routing utilizzando forme rettangolari, come mostrato nell'immagine qui sotto.

A rectilinear router divides the pace into rectangular zones, which were then used to find a route path.

Un router rettilineo divide lo spazio in zone rettangolari, che vengono poi utilizzate per trovare un percorso di routing.

Sebbene i router autorouting di espansione rettilinea possano superare alcuni dei problemi di velocità e memoria dei router a griglia uniforme, sono ancora geometricamente limitati nei percorsi di routing possibili che possono identificare. Una volta stabilita la mappa rettangolare per una scheda, le "fronti d'onda" del routing si espandono lungo i bordi dei rettangoli adiacenti - solo in direzioni verticale e orizzontale. Il routing è vincolato ortogonalmente ai confini dei rettangoli. Possono sorgere problemi con geometrie non ortogonali, come si trova, ad esempio, con componenti di array di pin sfalsati o componenti ruotati. Spesso in questi casi non può essere trovato un percorso di routing ortogonale e i router di espansione rettilinea falliranno.

Il packaging dei componenti continua a ridursi in dimensione e passo dei pin, e nuovi pacchetti come gli Array a Griglia di Sfere (BGAs) utilizzano griglie sfalsate per massimizzare la densità dei loro pin. In combinazione con ciò, il packaging di prodotti piccoli e insoliti spesso richiede che i componenti siano posizionati in orientamenti irregolari e su PCB di forme insolite. Man mano che queste tendenze guadagnano slancio, diventerà sempre più difficile per i router di espansione rettilinea soddisfare le sfide di routing del design moderno delle schede.

Ciò di cui si aveva bisogno era una nuova tecnica per mappare lo spazio di routing, che non modellasse il circuito stampato come semplici rettangoli e non fosse limitata a percorsi rettilinei tra gli ostacoli.

  • [1] Un Metodo per il Routing Senza Griglia dei Circuiti Stampati, 22° Conferenza di Automazione del Design, Documento 32.2 1984, A.C. Finch, K.J. Mackenzie, G.J. Balsdon, G Symonds di Racal Redac Ltd.

L'Approccio Topologico

Un approccio topologico all'autorouting, come quello utilizzato dall'autorouter Situs di Altium Designer, impiega un metodo diverso per mappare lo spazio di routing - uno che non è geometricamente vincolato. Piuttosto che utilizzare le informazioni delle coordinate dell'area di lavoro come riferimento, un autorouter topologico costruisce una mappa utilizzando solo le posizioni relative degli ostacoli nello spazio, senza riferimento alle loro coordinate.

La mappatura topologica è una tecnica di analisi spaziale che triangola lo spazio tra ostacoli adiacenti. Questa mappa triangolata viene poi utilizzata dagli algoritmi di routing per "intrecciare" tra le coppie di ostacoli, dal punto di inizio del percorso al punto di fine del percorso. I maggiori punti di forza di questo approccio sono che la mappa è indipendente dalla forma (gli ostacoli e i percorsi di routing possono avere qualsiasi forma) e lo spazio può essere attraversato sotto qualsiasi angolazione - gli algoritmi di routing non sono limitati a percorsi puramente verticali o orizzontali, come avviene con i router di espansione rettilinea.

Per costruire una mappa topologica di una scheda, Situs collega ogni ostacolo sulla scheda ai suoi ostacoli vicini, creando qualcosa di simile a un insieme di ragnatele connesse. I potenziali percorsi di routing sono quindi definiti procedendo da un filo della ragnatela al successivo, poi al successivo ancora, e così via, fino a raggiungere l'obiettivo. Questo approccio alla mappatura non è geometricamente legato allo spazio di routing; il percorso potenziale semplicemente si intreccia tra ogni coppia di ostacoli, come mostrato nell'immagine sottostante.

La mappa topologica elimina la limitazione fondamentale dei router precedenti - la limitazione creata dall'uso dello stesso spazio geometrico per mappare i percorsi come fanno per instradare. Separando lo spazio di mappatura dallo spazio di routing, il router topologico è in grado di mappare percorsi più naturali e anche di trovare percorsi di routing non ortogonali. Questo processo di mappatura funziona molto come farebbero i progettisti, nel senso che i progettisti cercano un percorso che attraversi la scheda nel modo più diretto possibile, mantenendo, fino a un certo punto, le direzioni dei layer che hanno assegnato. I progettisti non limitano le loro decisioni in base al fatto che un collegamento attraverso una determinata area possa essere realizzato utilizzando una serie di tracce ortogonali, ma semplicemente decidono se una traccia si adatterà o meno attraverso un possibile canale di routing.

Come mostrato dal percorso mappato nell'immagine a sinistra, il percorso inizialmente definito topologicamente potrebbe non essere adatto come percorso di routing finale. Attraverso algoritmi di routing sofisticati, Situs converte il percorso mappato in un percorso di routing adatto, un esempio del quale è mostrato nell'immagine a destra.

A topological router does not attempt to map into the geometry of the space, it seeks a path between the obstacles.  A topological router does not attempt to map into the geometry of the space, it seeks a path between the obstacles.

Un router topologico non tenta di mappare nella geometria dello spazio, cerca un percorso tra gli ostacoli.

L'analisi topologica iniziale di un percorso di tracciamento, senza tenere conto delle coordinate degli ostacoli, porta a tassi di completamento elevati e ad alte velocità su schede tradizionalmente considerate difficili per gli autorouter - ad esempio quelle con geometrie non standard, componenti con pin sfalsati densi, o contorni e ritagli di forma irregolare.

Trovare un Percorso di Tracciamento

Un altro vantaggio dell'approccio topologico è che l'analisi e la determinazione dei percorsi di tracciamento sono molto più simili a quelle utilizzate da un progettista quando traccia manualmente una scheda.

Ad esempio, l'esperienza ha dimostrato che è più efficiente tracciare tutte le connessioni che condividono uno strato nella stessa direzione, dando origine al concetto di direzione dello strato di tracciamento. Su semplici schede a due strati, ciò viene fatto assegnando uno strato per essere orizzontale e l'altro per essere verticale. Sia il progettista che l'autorouter possono quindi posizionare i tracciati in conformità con questa convenzione.

Come le corsie su una strada, questo approccio porta ordine al compito di routing, permettendo al progettista o all'autorouter di vedere la scheda come una serie di canali, che possono poi essere assegnati in modo ordinato. Sia nei router a griglia tradizionali che nei router di espansione rettilinea, le direzioni dei layer sono limitate a verticale - tracce che vanno dalla parte superiore della scheda fino in fondo, e orizzontale - tracce che attraversano la scheda da un lato all'altro.

Man mano che la densità del progetto aumenta, tuttavia, aumenterà anche il numero di layer necessari per il routing della scheda. Una volta che il progetto richiede più di due layer, potrebbe essere più efficiente cercare percorsi di routing in direzioni diverse da verticale e orizzontale. Questo è esattamente ciò che farebbe un progettista - esaminare il flusso delle linee di connessione e, se c'è un numero sufficiente che viaggia in una particolare orientazione, diciamo diagonalmente, assegnare un layer a quella direzione, poi instradare quelle connessioni su quel layer in quella direzione.

Né il router a griglia fissa né il router di espansione rettilinea possono mappare direttamente in una direzione non ortogonale; possono solo mappare lo spazio in modo orizzontale/verticale. Per produrre percorsi diagonali ordinati, questi tipi di autorouter devono prima definire un percorso utilizzando tracce ortogonali e poi eseguire delle routine di post-elaborazione speciali per convertire gli angoli retti in diagonali.

Un router topologico, d'altra parte, non è vincolato dalle geometrie ortogonali e può identificare direttamente i percorsi diagonali e assegnarli allo strato corretto. Questo non solo porta a un autorouting più "naturale", ma produce un routing più efficiente e minimizza il numero di vie necessarie nel progetto finito.

Completamento del Routing

Come accennato in precedenza, l'analisi topologica fornisce un modo efficiente per determinare un possibile percorso di routing, ma questo percorso topologico deve essere tradotto in un percorso finito di qualità. Come un progettista, l'autorouter incontrerà una varietà di situazioni che devono essere affrontate in modi diversi, come risolvere il percorso di routing attraverso la mappa, seguire un confine o spingere contro gli oggetti di rotta esistenti nel tentativo di spostarli.

Per far fronte a queste diverse situazioni, Situs impiega una serie di motori di instradamento, inclusi un router di memoria, router di pattern, un router per alimentazione e massa, un router wavefront, router push and shove basati sulla forma, e un numero di router euristici per situazioni specifiche, come il fanout BGA. Questi motori si basano su algoritmi di routing maturi e potenti e sono stati sviluppati nel corso di molti anni. In Situs, questi motori di instradamento sfruttano la determinazione intelligente del percorso di instradamento del processo di mappatura topologica per produrre connessioni finite di alta qualità.

I motori di instradamento di Situs sono controllati da un sofisticato insieme di file di strategia che agiscono come il "cervello" dell'autorouter. Un progettista umano ha una serie di vantaggi rispetto a un autorouter quando si tratta di instradare una scheda. La mente umana può pianificare, e mentre lo fa può considerare e ordinare un gran numero di fattori, ingrandire per concentrarsi su un elemento individuale, poi tornare a riconsiderare la situazione. Gli autorouter utilizzano un file di strategia per definire i loro schemi di pensiero. Il file di strategia controlla i motori di instradamento, chiamandoli quando necessario e ponderando le loro azioni come fa.

Per apprezzare il ruolo importante del file di strategia, considera come la natura del compito di routing cambia man mano che il routing avanza. Gli approcci utilizzati per instradare una scheda vuota all'inizio del processo di routing sono molto diversi da quelli utilizzati man mano che la densità di routing aumenta, richiedendo motori di routing diversi, ponderati di conseguenza. Le istruzioni scritte nel file di strategia definiscono un piano su come instradare la scheda, chiamando e ponderando i motori di routing in un modo particolare quando lo spazio di routing è relativamente vuoto, poi cambiando i motori e le loro ponderazioni mentre si fa strada tra le rotte finali attraverso uno spazio di routing densamente occupato.

Implementando i processi di pensiero o il cervello dell'autorouter in un file di strategia, è possibile per Altium evolvere facilmente l'autorouter man mano che le tecnologie delle schede cambiano. Il file di strategia Situs è uno dei file di strategia più sofisticati disponibili oggi per qualsiasi autorouter. Incarna anni di ricerca nel processo di routing, catturando l'esperienza di molti progettisti PCB senior.

Autoinstradamento di un PCB

[Torna in alto]

Il Router Topologico Situs introduce un nuovo approccio alla sfida dell'autorouting. Utilizza una mappatura topologica avanzata per definire prima il percorso di routing, poi si avvale di una varietà di algoritmi di routing provati per convertire questo percorso "simile a quello umano" in un routing di alta qualità. Come parte integrante dell'Editor PCB, segue le definizioni delle regole elettriche e di routing del PCB.

Pianificare l'Uso dell'Autorouting

Sebbene Situs sia semplice da configurare ed eseguire, ci sono alcuni passaggi preliminari che puoi intraprendere per assicurarti che lo strumento produca un routing ottimale con una minima pulizia. Alcuni consigli per l'autorouting includono:

  1. Identificare le reti con i vincoli più laschi. Queste tendono ad essere reti digitali più lente che non hanno un requisito di impedenza.
  2. Determinare quali gruppi di reti si desidera autoroutare e aggiungerli alle Classi di Rete.
  3. Routerizzare prima le reti più critiche. Queste tendono ad essere reti di coppie differenziali più veloci, reti RF di frequenza più alta e interfacce analogiche di frequenza più bassa.
  4. Lasciare aperti i canali di routing in modo che lo strumento possa posizionare le tracce.
  5. Applicare lo strumento di autorouting a ogni Classe di Rete individualmente. È possibile anche utilizzare lo strumento per prendere di mira componenti specifici, o anche singole reti (vedi sotto).

Posizionamento dei Componenti

In definitiva, il posizionamento dei componenti ha l'impatto più significativo sulla prestazione del routing. L'Editor PCB di Altium Designer include un numero di strumenti, come le linee di connessione ottimizzate dinamicamente, che ti permettono di affinare il posizionamento dei componenti. Il posizionamento ottimale dei componenti si verifica quando le linee di connessione sono il più corte e meno "intrecciate" possibile.

Altre buone pratiche di progettazione includono il posizionamento dei componenti in modo che i loro pad siano su una griglia regolare (per massimizzare la quantità di spazio libero tra i pad per il routing), posizionando componenti a montaggio superficiale di dimensioni simili esattamente uno di fronte all'altro su schede a doppia faccia e consultando i datasheet dei produttori di dispositivi per le linee guida sul posizionamento dei decoupling. Questa non è una lista completa delle considerazioni sul posizionamento, ma semplicemente alcuni suggerimenti.

Keepouts

Il router richiede un confine chiuso, costituito da oggetti keepout posizionati. Tipicamente, questo confine segue il bordo della scheda. Gli oggetti posizionati rispetteranno la regola di distanza applicabile per assicurare che rimangano a una distanza adeguata da questo confine, per soddisfare eventuali requisiti di distanza meccanica o elettrica che il design può avere. Il router rispetterà anche i keepout all'interno di questo confine esterno, così come i keepout specifici per strato.

Puoi creare un confine chiuso che segue il bordo della forma della scheda, utilizzando il dialogo Line/Arc Primitives from Board Shape. Per maggiori informazioni sui keepout, vedi Object Specific Keepouts.

Versamenti di Poligono

I versamenti di poligono (o di rame) possono essere sia solidi (riempiti con una o più regioni di rame) sia a trama (costruiti da tracce e archi). Un versamento di poligono a trama medio o grande include un grande numero di tracce e archi. Sebbene il router possa instradare una scheda che include tali versamenti di poligono, il semplice numero di oggetti che introducono aumenta la complessità del processo di instradamento.

Tipicamente dovresti posizionare i versamenti di poligono prima dell'instradamento solo se necessario, per esempio, se vengono utilizzati per costruire pre-instradamenti di forme insolite, forse l'instradamento principale in entrata o una regione di terra critica. Altrimenti è preferibile che i versamenti di poligono vengano aggiunti al progetto una volta completato l'instradamento.

È instradabile?

Un autorouter tenta di comprendere e modellare il processo di routing. Se la scheda contiene un'area che non può essere cablata manualmente, allora non potrà essere cablata automaticamente. Se il router fallisce continuamente su un componente o una sezione della scheda, allora dovresti tentare di cablarla interattivamente. Potrebbe essere che ci siano problemi di posizionamento o di configurazione delle regole che rendono impossibile il cablaggio.

Pre-cablaggio

Pre-cabla le reti critiche e, se è essenziale che non siano modificate dal processo di cablaggio, bloccale abilitando l'opzione Lock All Pre-routes nel dialogo Situs Routing Strategies. Evita però di bloccare inutilmente; un grande numero di oggetti bloccati può rendere il problema di cablaggio molto più difficile.

Le reti di coppie differenziali devono essere cablate manualmente e bloccate prima di usare l'autorouter. Se non lo fai, il cablaggio è molto probabile che cambi e alteri l'integrità del segnale della coppia differenziale.

Configurazione delle Regole di Progettazione

Il termine regola predefinita è usato per descrivere una regola con un ambito di query di All.

Se una regola include valori Minimo, Preferito e Massimo, l'autorouter utilizzerà il valore Preferito.

Assicurati che le regole di progettazione del routing siano appropriate alla tecnologia della scheda che stai utilizzando. Regole di progettazione mal mirate o inappropriate possono portare a prestazioni di autorouting molto scarse. Nota che il router obbedisce a tutte le regole di progettazione Elettrica e di Routing, eccetto la regola degli Angoli di Routing.

Le regole sono definite nel dialogo Editor delle Regole e dei Vincoli PCB (Progettazione » Regole), a cui si può accedere direttamente dal dialogo Strategie di Routing Situs.

Se una regola include valori Minimo, Preferito e Massimo, l'autorouter utilizzerà il valore Preferito.

Il sistema di regole di Altium Designer è gerarchico. L'idea è che si inizi con una regola predefinita per tutti gli oggetti, poi si aggiungano regole aggiuntive per indirizzare selettivamente altri oggetti che hanno requisiti diversi. Ad esempio, dovresti avere una regola predefinita per la larghezza del routing che copra la larghezza di routing più comune utilizzata sulla scheda, poi aggiungere regole successive per indirizzare selettivamente altre reti, classi di reti e così via.

Per verificare che una regola stia prendendo di mira gli oggetti corretti, copia la Query della regola nel Pannello Filtro PCB e Applica la regola. Solo gli oggetti presi di mira dalla regola dovrebbero passare attraverso il filtro e rimanere visualizzati a piena intensità. In alternativa, utilizza il Pannello Regole PCB e Violazioni per vedere rapidamente l'applicazione della regola su qualsiasi regola definita per la scheda attuale.

Le regole più importanti sono le regole di Larghezza e di Distanza. Queste impostazioni della tecnologia di routing definiscono quanto strettamente il routing può essere "imballato". Selezionarle è un processo di bilanciamento - più larghe sono le tracce e maggiore è la distanza, più facile è fabbricare la scheda; rispetto a tracce più strette e distanze minori, più facile è eseguire il routing della scheda. È consigliabile consultare il proprio fabbricante per stabilire i loro "punti di prezzo" per larghezze di routing e distanze, quei valori che, se si scende al di sotto, comporteranno rese di fabbricazione inferiori e PCB a prezzo più elevato. Oltre a soddisfare i requisiti elettrici del progetto, la tecnologia di routing dovrebbe anche essere scelta per adattarsi alla tecnologia dei componenti, per permettere di collegare ogni pin.

La terza regola che fa parte della tecnologia di routing è lo Stile di Via di Routing. Anche questa dovrebbe essere selezionata in modo da adattarsi alla traccia e alle distanze di sicurezza utilizzate, considerando i costi di fabbricazione del diametro del foro e dell'anello anulare scelti.

Dovresti anche evitare regole eccessive o non necessarie - più regole ci sono, più tempo di elaborazione è necessario, più lento sarà il routing. Le regole possono essere disabilitate se non richieste per l'autorouting.

Larghezza di Routing

Assicurati che ci sia una Regola di Larghezza di Routing con una Query di Tutti (una regola predefinita), e che l'impostazione Preferita sia appropriata per la larghezza di routing più comune di cui hai bisogno. Assicurati che questa larghezza, in combinazione con la regola di distanza appropriata, permetta di collegare tutti i pad. Configura regole di larghezza di routing aggiuntive per le reti che richiedono un routing più largo o più stretto.

Se ci sono componenti a passo fine che hanno pin su reti con larghezze di routing più ampie - ad esempio, reti di alimentazione - prova a tracciare un percorso dal pin di alimentazione e anche tracciare il percorso per il pin su entrambi i lati per assicurarti che sia fisicamente possibile collegare questi pin.

Vincolo di Distanza

Verifica i requisiti speciali di distanza, come i componenti a passo fine i cui pad sono più vicini rispetto alle distanze standard della scheda. Questi possono essere gestiti utilizzando una regola di progettazione adeguatamente definita e prioritizzata. Nota che, mentre puoi definire una regola per prendere di mira un footprint, questa non si applicherà al routing che si collega a quel footprint. Come appena menzionato nella sezione Larghezza del Routing, effettua un test di routing per assicurarti che i pin del componente siano collegabili.

Stile del Via di Routing

Assicurati che ci sia una regola dello Stile del Via di Routing con una Query di Tutti e che l'impostazione preferita sia appropriata. Includi regole di priorità superiore per quelle reti che necessitano di uno stile di via diverso dalla regola predefinita.

Altium Designer supporta le vie cieche e sepolte; l'utilizzo di queste è determinato dagli scambi di strato consentiti dai Tipi di Via definiti nel Gestore dello Stack di Strati (Progettazione » Gestore dello Stack di Strati). Come per il routing interattivo, quando l'autorouter passa da uno strato all'altro verifica le definizioni correnti del Tipo di Via - se questi strati sono definiti come una coppia di strati cieca o sepolta, allora la via che viene posizionata avrà questi strati come strati di inizio e fine. È importante comprendere le restrizioni all'uso delle vie cieche/sepolte; queste dovrebbero essere utilizzate solo in consultazione con il proprio fabbricante. Oltre alle restrizioni imposte dalla tecnologia di stackup di fabbricazione, ci sono anche considerazioni sulla affidabilità e l'accessibilità ai test. Alcuni progettisti ritengono sia meglio aggiungere più strati di routing piuttosto che utilizzare vie cieche/sepolte.

Strati di Routing

Assicurati che ci sia una Regola degli Strati di Routing con una query di Tutti. Tutti gli strati di segnale abilitati (definiti nello stack di strati) saranno elencati. Abilita gli strati sui quali desideri consentire il routing come richiesto. Includi regole di priorità più alta per le reti che desideri siano routate su strati specifici solamente.

Se desideri escludere un particolare net (o una classe di net) dall'essere tracciato dall'autorouter, definisci una regola di Routing Layer che prende di mira quel net o classe di net e, nell'area dei vincoli per quella regola, assicurati che l'opzione Consenti Routing per ogni strato di segnale abilitato sia disabilitata. La priorità della regola deve essere superiore a quella della regola predefinita (quella con una query di Tutti).

Direzioni Strato

La direzione del routing dei layer è specificata nel dialogo delle Direzioni dei Layer, a cui si accede dal dialogo delle Strategie di Routing di Situs. Tutti i layer di segnale abilitati (definiti nello stack dei layer) saranno elencati. Scegliere le direzioni dei layer appropriate per adattarsi al flusso delle linee di connessione. Situs utilizza la mappatura topologica per definire i percorsi di routing, quindi non è vincolato a instradare orizzontalmente e verticalmente. Tipicamente è meglio avere i layer esterni come orizzontali e verticali. Se, tuttavia, si dispone di una scheda multistrato con un gran numero di connessioni ad un angolo di '2 ore', allora impostare uno o più layer interni per avere questa come direzione di routing preferita. Il passaggio dei Modelli di Layer, in particolare, fa uso di queste informazioni, e scegliere la direzione giusta può fare una differenza significativa per le prestazioni di routing in termini sia di tempo che di qualità. Notare che quando si utilizzano layer angolati non è necessario avere un layer partner che corra a 90 gradi rispetto a questo layer, poiché il router di solito instraderà orizzontalmente o verticalmente se necessita di evitare un ostacolo su un layer angolato.

Evita di usare la direzione Qualsiasi - lo strato che viene scelto per instradare una connessione si basa su quanto strettamente la connessione è allineata con la direzione dello strato, quindi questo strato diventa lo strato dell'ultima risorsa. La direzione Qualsiasi è tipicamente usata solo su schede monofaccia.

Priorità di Routing

Usa le regole di Priorità di Routing per impostare una priorità maggiore su reti difficili, o su quelle che vuoi che abbiano il routing più pulito.

Controllo del Fanout SMD

Il sistema di interrogazione include parole chiave che mirano specificamente ai diversi pacchetti di componenti a montaggio superficiale, inclusi IsLCC (Leadless Chip Carrier), IsSOIC (Small Outline IC) e IsBGA (Ball Grid Array). Le regole predefinite vengono create automaticamente per i pacchetti più comuni e, poiché le passate di fanout vengono eseguite all'inizio del processo di autorouting, mantenere regole che non si applicano a nessun componente ha poco impatto. Dovresti avere almeno una regola di progettazione per il controllo del fanout SMD se ci sono componenti a montaggio superficiale sulla scheda - una query adatta per una singola regola che mira a tutti i componenti a montaggio superficiale sarebbe IsSMTComponent. Per informazioni su come ogni parola chiave di interrogazione identifica un pacchetto di componenti, apri il Query Helper, digita la parola chiave richiesta e premi F1.

Le regole di fanout includono impostazioni che controllano se i pad devono essere espansi verso l'interno o verso l'esterno, o una combinazione di entrambi. Per familiarizzare con il comportamento degli attributi della regola di Controllo del Fanout, il comando Route » Fanout » Component può essere eseguito su qualsiasi componente a montaggio superficiale che non ha reti assegnate. Oltre a utilizzare questo per verificare quanto bene un componente si espande con l'attuale tecnologia di routing definita nella scheda, è possibile utilizzarlo anche per espandere un componente che si desidera mantenere in una libreria come impronta pre-espansa. Una volta espanso nello spazio di lavoro del PCB, copia e incolla il componente e le tracce e i via di fanout in una libreria.

Priorità delle Regole

La precedenza, o priorità, delle regole è definita dal progettista. La priorità della regola è utilizzata per determinare quale regola applicare quando un oggetto è coperto da più di una regola. Se la priorità non è impostata correttamente, si potrebbe scoprire che una regola non viene applicata affatto.

Ad esempio, se la regola con una query di InNet('VCC') ha una priorità inferiore rispetto alla regola con una query di All, allora la regola All sarà applicata alla rete VCC. Utilizza il pulsante Priorities nel PCB Rules and Constraints Editor dialog per accedere al Edit Rule Priorities dialog, da dove le priorità possono essere affinate come necessario. Nota che la priorità non è importante quando due ambiti di regola non si sovrappongono (non mirano agli stessi oggetti). Ad esempio, non fa differenza quale di questi due ambiti di regola abbia una priorità maggiore - InNet('VCC') o InNet('GND').

La Regola d'Oro

Il passo più importante è eseguire un controllo delle regole di progettazione (DRC) prima di avviare l'autorouter. Quando si utilizzano i comandi Route » Auto Route » Setup, o Route » Auto Route » All, Situs conduce la propria analisi pre-routing e presenta i risultati come un rapporto nel Situs Routing Strategies dialog.

Make sure that the Routing Setup Report is clean before starting the autorouter.

Assicurati che il Rapporto di Configurazione del Routing sia pulito prima di avviare l'autorouter.

Il rapporto fornisce informazioni che includono:

  • Le regole di progettazione attualmente definite per il design che saranno rispettate dall'autorouter (e il numero di oggetti di design - reti, componenti, pad - interessati da ogni regola)
  • Direzioni di routing definite per tutti i livelli di routing dei segnali
  • Definizioni dei paia di strati di foratura

Il rapporto elenca potenziali problemi che potrebbero influenzare le prestazioni del router. Dove possibile, vengono forniti suggerimenti per consigliare una migliore preparazione del design per l'autorouting. Qualsiasi errore/avviso/suggerimento elencato dovrebbe essere esaminato e, se necessario, le corrispondenti regole di routing aggiustate, prima di procedere al routing del design.

Check all errors, warnings and hints to understand what potential problems the autorouter will face.

Controlla tutti gli errori, gli avvisi e i suggerimenti per comprendere quali potenziali problemi l'autorouter dovrà affrontare.

È essenziale che qualsiasi violazione delle regole relative al routing sia risolta prima di avviare l'autorouter. Le violazioni non solo possono impedire il routing nella posizione della violazione, ma possono anche rallentare notevolmente il router poiché tenta continuamente di instradare un'area non instradabile.

Suggerimenti per l'uso dell'Autorouter

  • I comandi dell'Autorouter si trovano nel sottomenuRoute » Auto Route.
  • Entrambi i comandi Route » Auto Route » All e Route » Auto Route » Setup aprono il dialogo delle Strategie di Routing di Situs, la differenza è che quando scegli All, il dialogo include un pulsante Route All.
  • Non avere paura di sperimentare. Se i risultati non sono accettabili, fai qualcosa per cambiare l'approccio del router. Aggiungi passaggi intermedi di pulizia e raddrizzamento, crea più spazio intorno alle aree dense, o cambia le direzioni dei layer.
  • Mentre sperimenti con il router - creando le tue strategie per controllare l'ordine dei passaggi, cambiando il numero di via con il controllo Via, cambiando le direzioni dei layer di routing, limitando il router solo a percorsi ortogonali, e così via - tieni nota delle combinazioni che hai provato. In questo modo sarai in grado di identificare e riutilizzare quali configurazioni funzionano meglio con i tuoi progetti.
  • Esegui prima i passaggi di fanout da soli e valuta la qualità. Potrebbe essere necessario eseguire manualmente il fanout delle aree problematiche.

Passaggi di Routing e Strategie di Routing

Le strategie di routing attualmente definite sono elencate nella regione inferiore della finestra di dialogo Strategie di Routing di Situs. Clicca sul pulsante Aggiungi per accedere alla finestra di dialogo Editor di Strategie di Situs, da dove puoi specificare i passaggi da includere in una nuova strategia. In alternativa, utilizza il pulsante Duplica per duplicare una strategia esistente e poi modificarla come necessario.

Example of editing a duplicated strategy.

Esempio di modifica di una strategia duplicata.

Le strategie definite dall'utente possono essere modificate in qualsiasi momento, ma queste strategie predefinite non possono essere modificate:

  • Pulizia
  • Default 2 Layer Board
  • Default 2 Layer con Connettori a Bordo
  • Default Multi Layer Board
  • Generale Ortogonale
  • Risparmio di Via

I seguenti passaggi di routing sono disponibili. I passaggi possono essere utilizzati in qualsiasi ordine, come guida esamina una strategia esistente per vedere l'ordine dei passaggi.

 

PASSAGGIO

FUNZIONE

Memoria Adiacente

Un passaggio di routing a livello di connessione. Viene utilizzato per instradare pin dello stesso net adiacenti che richiedono un fan-out, con un semplice schema a U.

Pulizia degli Ingressi del Pad

Un passaggio di routing a livello di connessione. Riconfigura il percorso partendo dal centro di ogni pad lungo l'asse più lungo del pad. Se ci sono componenti con pad che hanno dimensioni X e Y diverse, includere sempre un passaggio di Pulizia Ingressi Pad dopo il passaggio di Memoria.

Completamento

Un passaggio di routing a livello di connessione. È sostanzialmente lo stesso del passaggio Principale, ma con un costo diverso per risolvere conflitti e completare connessioni difficili. Esempi di differenze di costo includono i via che costano meno e i percorsi in direzione sbagliata che costano di più.

Fan Out del Segnale

Un passaggio a livello di componente, basato sulle impostazioni di fanout definite dal Controllo Fanout. Controlla i pattern nei pad, considera la distanza di sicurezza, la larghezza del routing e lo stile dei via, quindi seleziona un'organizzazione di fan out adeguata (fila in linea, sfalsata, ecc.) per soddisfare i requisiti definiti nella regola di progettazione. Il fanout è solo verso i layer dei segnali.

Fan out verso il Piano

Un passaggio a livello di componente, basato sulle impostazioni di fanout definite dal Controllo Fanout. Controlla i pattern nei pad, considera la distanza di sicurezza, la larghezza del routing e lo stile dei via, quindi seleziona un'organizzazione di fan out adeguata (fila in linea, sfalsata, ecc.) per soddisfare i requisiti definiti nella regola di progettazione. Il fanout è solo verso un layer di piano interno.

Ottimizzazione Globale Principale

Un passaggio di routing a livello di connessione. Fornisce un routing ottimale. Ignora le contese/violazioni nella sua prima iterazione. Successivamente, reindirizza le connessioni, con costi di conflitto aumentati, fino a quando non rimangono violazioni. Questo passaggio, utilizzato in combinazione con l'opzione Ortogonale attivata, può produrre schemi di routing ben realizzati. Aggiungi un passaggio di Recorner alla strategia per fornire angoli smussati.

Abbraccio

Un passaggio di routing a livello di connessione che reindirizza ogni connessione, seguendo il routing esistente con la minima distanza possibile. Il passaggio di abbraccio è utilizzato per massimizzare lo spazio di routing libero. Nota che questo passaggio è molto lento.

Modelli di Strato

Un passaggio di routing a livello di connessione. Effettua il routing solo delle connessioni che corrispondono a una direzione di strato (entro una tolleranza). È valutato per abbracciare o seguire il routing esistente per massimizzare lo spazio libero.

Main

Un passaggio di routing a livello di connessione. Utilizza la mappa topologica per trovare un percorso di routing, poi usa il router push and shove per convertire il percorso proposto in un routing effettivo. Solo un passaggio di tipo main dovrebbe essere specificato per una strategia di routing - o Main, Multilayer Main, o Globally Optimized Main.

Memoria

Un passaggio di routing a livello di connessione. Controlla per due pin su componenti diversi sullo stesso strato che condividono coordinate X o Y.

Multilayer Main

Un passaggio di routing a livello di connessione. È simile al passaggio principale, ma con costi ottimizzati per schede multistrato.

Recorner

Un passaggio di routing a livello di connessione che viene utilizzato per fornire smussature agli angoli cablati. Questo passaggio viene utilizzato quando l'opzione Ortogonale è abilitata per la strategia - sostanzialmente sovrascrivendola e smussando gli angoli di ogni percorso. Se l'opzione Ortogonale è disabilitata per la strategia in uso, non è necessario includere un passaggio Recorner poiché l'autorouter smusserà gli angoli per impostazione predefinita.

Spread

Un passaggio di routing a livello di connessione che riroute ogni connessione, tentando di distribuire il routing per utilizzare lo spazio libero e spaziare equamente il routing quando passa tra oggetti fissi (come i pad dei componenti). Nota che questo passaggio è molto lento.

Straighten

Un passaggio di routing a livello di connessione che tenta di ridurre il numero di angoli. Lo fa procedendo lungo il percorso fino a un angolo, poi da quell'angolo esegue una ricerca (orizzontale/verticale/45 in su/45 in giù) cercando un altro punto cablato sulla rete. Se ne trova uno, verifica quindi se questo nuovo percorso riduce la lunghezza del percorso.

 

Esempio di Risultati dell'Autorouter

[Torna in alto]

In questo esempio, prenderemo in considerazione una scheda di interfaccia breakout che è stata utilizzata in alcuni video recenti, e applicheremo l'autorouter ad alcune delle reti. L'obiettivo è vedere quando l'autorouter commette errori, come lo strumento gestisce insiemi di regole complessi (e possibilmente mutuamente esclusivi), nonché come lavorare in generale con lo strumento.

Per iniziare, ho una scheda finita che useremo come base di riferimento in questo esempio; l'intera scheda è stata cablata a mano. Questo è mostrato di seguito.

PCB autorouter

Questa scheda è semi-complessa, almeno in termini di regole richieste per il layout e il cablaggio. Questa scheda è una scheda di interfaccia tra alcuni connettori SMD sui lati opposti della scheda. Le regole di layout includono l'impedenza controllata per coppie differenziali, e la scheda include strati interni per più alimentazioni, terra e alcuni canali differenziali.

In questo esempio, sono state utilizzate le seguenti impostazioni:

  • Strategia generale di routing ortogonale (Orizzontale in Alto e in Basso, Verticale in SIG1 e SIG2)
  • Tutti i pre-routing erano bloccati
  • Tutte le reti erano digitali a bassa velocità (GPIO e I2C), non era richiesto il controllo dell'impedenza
  • In totale, erano necessari il routing di 27 reti

L'ultimo punto e la costruzione dello stackup del PCB ci permettono generalmente di cavarsela con il routing di questi segnali su più strati, attraverso più vie e senza alcuna limitazione di lunghezza. Schede più complesse o più dense possono richiedere impostazioni più specializzate.

I risultati per i percorsi negli strati dei segnali sono mostrati di seguito.

Situs PCB autorouter results

 

Situs PCB autorouter results

 

Allora, qual è il verdetto? Per questo caso particolare, i percorsi richiedevano la pulizia di solo una violazione di corto circuito sullo strato inferiore. Questo è piuttosto buono considerando la disposizione dei pin sul connettore orizzontale superiore. Penso che sia appropriato

Pensieri Finali

[Torna in alto]

Durante questo tutorial, mi sono reso conto di qualcosa di importante: la strategia dell'autorouter e una topologia di routing accettabile sulla tua scheda devono corrispondere. Ad esempio, supponiamo che tu abbia una scheda multistrato con un gran numero di reti e che tu voglia implementare l'autorouting con corsie ortogonali; il tuo particolare autorouter sarà meglio predisposto ad implementare questa strategia solo se un'opzione ortogonale è integrata nel tuo autorouter. Questo approccio è giusto per te? Dipende tutto dal tuo particolare flusso di lavoro e approccio ai progetti.

Non tutte le schede sono adatte a questo. In alcuni esempi, ho mostrato schede dove una strategia ortogonale, una strategia di connettore di bordo o un routing a 2 strati semplicemente non soddisferanno i requisiti operativi per ogni rete. In questo caso, è una buona idea tracciare prima le piste più sensibili, poi provare ad autoroutare le reti rimanenti. Un buon esempio di cui ho discusso recentemente è nelle grandi matrici in fase; le linee di alimentazione richiedono un abbinamento di fase molto preciso, e il tempo di configurazione potrebbe finire per essere più lungo del tuo tempo di routing e aggiustamento manuale. Poiché queste tracce sono così importanti, ha senso tracciarle a mano.

Credo che un buon autorouter sia efficace tanto quanto lo è l'abilità dell'utente nell'usarlo e il livello di configurazione richiesto. Se si dedica del tempo a impostare le regole necessarie, si pianificano specifici gruppi di reti da autorouterizzare in ogni fase, e si elabora una strategia di pulizia, si può minimizzare il lavoro manuale di rifinitura. La grande cosa riguardo a uno strumento di automazione è che può essere riutilizzato per altri progetti. Una volta creati i profili di regole, possono essere implementati per l'autorouting in altri layout di PCB.

Quando hai bisogno di accedere alle migliori utility di automazione per la progettazione di PCB, usa il set completo di strumenti di layout e routing di PCB in Altium Designer. Quando hai terminato il tuo progetto e vuoi rilasciare i file al tuo produttore, la piattaforma Altium 365 rende facile collaborare e condividere i tuoi progetti.

Abbiamo appena sfiorato la superficie di ciò che è possibile 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.