Scambio di pin, coppie e parti in un progetto

A colpo d'occhio

Questo articolo spiega come le funzionalità di scambio dei pin, delle coppie differenziali e delle sottoparti di Altium Designer possano migliorare la sbrogliabilità del PCB, ridurre la complessità del layout e potenzialmente abbassare il costo della scheda, consentendo una maggiore sinergia tra progettazione e layout. Illustra perché le impostazioni di scambio debbano essere definite tenendo conto dell’intento progettuale, come Altium Designer gestisca la riassegnazione delle net durante gli scambi e come l’ottimizzatore integrato possa aiutare a perfezionare i progetti parzialmente sbrogliati. Esamina inoltre le principali categorie di scambio e la configurazione dei gruppi di scambio, dei gruppi di pin, dei gruppi di parti, degli ID di sequenza e dei gruppi di coppie, per chiarire quali elementi di un componente possano essere scambiati e quali no. Se vuoi sbrogliare in modo più efficiente preservando la logica e i vincoli, questo articolo merita la tua attenzione: continua a leggere per scoprire come configurare queste regole di scambio nella pratica.

- Scopri la differenza tra lo scambio dei pin, delle coppie differenziali e delle sottoparti, e quando si applica ciascuno.
- Scopri come i gruppi di scambio, i gruppi di pin, i gruppi di parti, i gruppi di coppie e gli ID di sequenza determinano gli scambi consentiti in un progetto.
- Comprendi come Altium Designer sfrutti la conoscenza delle net e l’ottimizzazione per supportare gli scambi, anche in presenza di net parzialmente sbrogliate e di percorsi di uscita dai pin complessi.
Approfondisci con l'IA:

La possibilità di scambiare i pin dei componenti in un progetto può fare un'enorme differenza nella complessità del layout e contribuire a ridurre il numero di strati del PCB (e quindi il costo). Purtroppo, il progettista del layout potrebbe non disporre di tutte le informazioni necessarie per configurare correttamente le impostazioni di scambio dei pin, poiché non può sempre presumere di conoscere appieno l'intento del progettista. Idealmente, chi ha realizzato lo schema dovrebbe anche contribuire alla configurazione dei dati di scambio dei pin, per garantire che l'intento progettuale e i vincoli siano rappresentati accuratamente.

Il sistema di scambio di pin, coppie differenziali e parti opera in sinergia con le funzionalità di routing interattivo e di fan-out dei BGA di Altium Designer. Questa funzionalità offre tutti i vantaggi dei sistemi tradizionali di scambio dei pin, sfruttando però la conoscenza approfondita di Altium Designer delle assegnazioni delle net nel progetto. Durante un'operazione di scambio dei pin, Altium Designer analizza la net assegnata al pin scelto e riassegna dinamicamente la net al pin e a tutto il rame collegato.

Questo livello di funzionalità consente di scambiare net parzialmente instradate e percorsi di fan-out multistrato già instradati di dispositivi BGA complessi. È inoltre possibile scambiare le coppie differenziali, sfruttando le informazioni sulle coppie di pin differenziali degli FPGA.

A livello di PCB, il sistema include un potente ottimizzatore automatico che utilizza queste informazioni per riassegnare dinamicamente le net e migliorare la possibilità di instradamento. Ad esempio, il sistema può riconnettere più dispositivi il cui fan-out è stato instradato su più strati. Le assegnazioni vengono effettuate in base alla corrispondenza degli strati dei percorsi di fan-out, alla distanza di routing Manhattan più breve e al numero minimo di incroci su ciascuno strato.

L'aggiunta dello scambio di net parzialmente instradate, insieme all'ottimizzatore automatico, consente di adottare una strategia di routing gerarchica e iterativa: prima si instrada il fan-out dei dispositivi, poi si procede fino al bordo di una determinata area e infine si collegano tra loro queste sezioni. In qualsiasi momento, è possibile eseguire nuovamente lo scambio automatico per ripetere l'ottimizzazione in base alle informazioni aggiornate fornite dalle net parzialmente instradate.

Esistono tre categorie di scambio:

  • Scambio dei pin
  • Scambio delle coppie differenziali
  • Scambio delle sottoparti.

Configurazione dei gruppi di scambio

Per ciascuna categoria di scambio, swap groups stabiliscono cosa può e cosa non può essere scambiato all'interno di un componente. Nel caso dello scambio dei pin, i pin di un componente che condividono un pin group comune possono essere scambiati tra loro. Analogamente, per lo scambio delle coppie e delle parti, sono i valori pair group e part group a determinare se, rispettivamente, una coppia differenziale o una sottoparte può essere scambiata. I gruppi di scambio di un componente vengono configurati nella finestra di dialogo Configure Pin Swapping, mostrata nell'immagine seguente. È possibile accedervi nei seguenti modi:

  • In un documento PCB, fare clic con il pulsante destro del mouse sul componente, quindi selezionare Component Actions » Configure Pin/Part Swapping.
  • In un documento schematico, fare clic con il pulsante destro del mouse sul componente, quindi selezionare Part Actions » Configure Pin Swapping.
  • In un documento schematico, fare clic sul pulsante Configure Component nella parte inferiore della finestra di dialogo Configura le informazioni di scambio nei componenti (Tools » Configure Pin Swapping).
  • In un documento PCB, fare clic sul pulsante Configure Component nella parte inferiore della finestra di dialogo Configure Swapping Information In Components (Tools » Pin/Part Swapping » Configure).
  • Fare doppio clic su uno qualsiasi dei componenti nella finestra di dialogo Configure Swapping Information In Components.

Gruppi di pin

Un pin di un componente è intercambiabile con un altro pin dello stesso componente quando appartiene allo stesso pin group (ha lo stesso valore pin group). Il pin group è un attributo di ciascun pin del componente e il suo valore può essere una qualsiasi stringa alfanumerica. I pin groups dell'intero componente vengono configurati nella finestra di dialogo Configura scambio dei pin.

Schema contenente un componente con due porte NOR a logica positiva a 5 ingressi. Tutti i pin di ingresso di ciascuna sottoparte sono logicamente equivalenti, offrendo una situazione ideale per lo scambio dei pin.Schema contenente un componente con due porte NOR a logica positiva a 5 ingressi. Tutti i pin di ingresso di ciascuna sottoparte sono logicamente equivalenti, offrendo una situazione ideale per lo scambio dei pin.

Si consideri lo schema mostrato nell'immagine sopra, che contiene le due porte NOR a 5 ingressi del componente SNJ54S260. Le net da INA0 a INA4 possono essere scambiate tra loro grazie alla natura della porta NOR. Analogamente, le net da INB0 a INB4 possono essere scambiate tra loro; tuttavia, una net INAx non può essere scambiata con una net INBx.

I vincoli di scambio per la porta NOR sono definiti nella finestra di dialogo Configure Pin Swapping. Assegnando alle net INAx il gruppo di scambio 1 e alle net INBx il gruppo di scambio 2, si garantisce che il sistema esegua gli scambi solo in modo coerente con la logica del componente. Lasciare vuoto il valore Gruppo di pin per un pin indica che tale pin non è disponibile per lo scambio.

Gruppi di parti e ID di sequenza

Spesso un componente è costituito da più sottoparti funzionalmente equivalenti. Lo scambio delle parti consente di scambiare le net di queste sottoparti equivalenti. Si consideri nuovamente il componente mostrato nell'immagine sopra. Entrambe le porte NOR offrono funzionalità identiche e le net (INA0, INA1, INA2, INA3, INA4, OUTA) possono essere scambiate con le net (INB0, INB1, INB2, INB3, INB4, OUTB).

Lo scambio delle parti di un componente viene configurato tramite gli attributi part group e sequence ID. Entrambi sono attributi di testo e sono accessibili nella scheda Part Swapping della finestra di dialogo Configura scambio dei pin, come mostrato di seguito. L'immagine seguente mostra anche le impostazioni part group e sequence ID corrispondenti al componente illustrato nell'immagine sopra. Il part group indica quali sottoparti possono essere scambiate tra loro. Le due sottoparti sono intercambiabili e, di conseguenza, nell'immagine seguente ai rispettivi part groups viene assegnato lo stesso valore, pari a 1.

L'attributo sequence ID determina l'equivalenza dei pin tra sottoparti intercambiabili. Nell'esempio della porta NOR è importante che i pin di ingresso non vengano scambiati con quelli di uscita quando si esegue uno scambio delle parti. L'immagine seguente mostra i sequence ID impostati in modo che OUTA venga scambiato con OUTB, INA0 con INB0, INA1 con INB1 e così via.

Configurazione dei gruppi di scambio delle parti nella finestra di dialogo Configura scambio dei pin per un componente con due porte NOR a 5 ingressi.Configurazione dei gruppi di scambio delle parti nella finestra di dialogo Configura scambio dei pin per un componente con due porte NOR a 5 ingressi.

Si noti che lo scambio delle parti è disponibile solo per i componenti progettati come sottoparti, poiché si basa sullo scambio di tutte le net tra due sottoparti.

Gruppi di coppie

Lo scambio delle coppie differenziali è regolato dal valore del pair group di una coppia differenziale. L'attributo pair group è accessibile nella scheda Differential Pair Swapping della finestra di dialogo Configura scambio dei pin. Nella scheda Differential Pair Swapping sono disponibili tre modalità, selezionabili dal menu a discesa nell'angolo inferiore sinistro.

  • Show All Pins – il sistema visualizza tutti i pin del componente.

  • Show Pairs From Directives – il sistema utilizza le direttive per le coppie differenziali posizionate nello schema per inserire le coppie differenziali nella tabella.

    Quando nella finestra di dialogo è selezionata l'opzione Show All Pins, tutti i pin appartenenti alle coppie differenziali intercambiabili devono essere assegnati allo stesso gruppo di coppie.

Configurazione dei gruppi di scambio delle coppie nella finestra di dialogo Configura scambio dei pin.Configurazione dei gruppi di scambio delle coppie nella finestra di dialogo Configura scambio dei pin.

Controllo della modalità di esecuzione degli scambi nello schema

Nell'editor PCB, gli scambi di pin, coppie e parti vengono eseguiti scambiando le net sui pad dei componenti e sul rame corrispondente. Quando le modifiche vengono integrate negli schemi, lo scambio dei pin può essere gestito in due modi: scambiando i pin sul simbolo del componente oppure scambiando le etichette delle net sui fili collegati ai pin. Ogni approccio presenta vantaggi e svantaggi.

Lo scambio dei pin funziona sempre sullo schema, ma può comportare che questa istanza del simbolo del componente non corrisponda più alla definizione presente nella libreria. In questo caso, il simbolo non può essere aggiornato dalla libreria e le altre istanze dello stesso componente nel progetto avranno una disposizione dei pin diversa. Questo approccio è quindi ideale per componenti semplici, come gli array di resistori.

Lo scambio nello schema tramite lo scambio delle etichette delle net è possibile solo se la connettività è stabilita tramite tali etichette e se i pin non sono collegati direttamente tra loro tramite fili. Il vantaggio di questo approccio è che il simbolo del componente non cambia e può essere aggiornato dalla libreria in un secondo momento. Questo approccio è la scelta migliore per un componente complesso, come un FPGA, in cui lo spostamento fisico di due pin sul simbolo potrebbe rendere errata la rappresentazione di un simbolo suddiviso per banchi I/O.

È possibile stabilire come vengono eseguiti gli scambi scegliendo le opzioni Adding / Removing Net-Labels o Changing Schematic Pins nella sezione Allow Pin Swapping Using these Methods della finestra di dialogo Opzioni progetto - Opzioni, come mostrato di seguito.

Queste opzioni di progetto regolano il modo in cui gli scambi dei pin vengono riportati nei documenti schematici. Queste opzioni di progetto regolano il modo in cui gli scambi dei pin vengono riportati nei documenti schematici.

Abilitazione dello scambio di pin, coppie e parti sul PCB

La possibilità di scambiare i pin in un progetto PCB è controllata dall'opzione Pin Swapping. Questa opzione diventa disponibile ogni volta che si esegue lo sbroglio interattivo. Per verificare e attivare o disattivare l'opzione, selezionare il comando Route » Interactive Routing, quindi premere il tasto Tab per mettere in pausa lo sbroglio e accedere al pannello Properties, dove è possibile modificare lo stato dell'opzione Pin Swapping ().

A livello di componente, le opzioni di scambio per un determinato componente PCB vengono configurate nel pannello Properties, che mostra le proprietà del componente quando questo è selezionato nell'area di progettazione. Le opzioni si trovano nella sezione Swapping Options della scheda General .

Le opzioni di scambio per i componenti PCB possono essere definite anche tramite la finestra di dialogo Configure Swapping Information in Components , che elenca tutti i componenti utilizzati nel progetto (o nella libreria) con le relative impostazioni di scambio correnti. Quando si accede alla finestra di dialogo dall'editor PCB, è presente una colonna aggiuntiva, denominata Enable in PCB, per abilitare/disabilitare lo scambio per ciascun componente sulla scheda.

La finestra di dialogo Configure Swapping Information in Components è accessibile dall'editor degli schemi, dall'editor delle librerie schematiche e dall'editor PCB, come segue:

  • Schematic Editor/Schematic Library Editor - scegliendo il comando Tools » Configure Pin Swapping dai menu principali.
  • PCB Editor - scegliendo il comando Tools » Pin/Part Swapping » Configure dai menu principali.

Gli attributi swap group necessari per configurare lo scambio di pin, coppie e parti all'interno di un componente sono memorizzati nei componenti schematici. Tuttavia, queste informazioni vengono utilizzate nell'editor PCB e ciascun componente PCB dispone di un'opzione che consente lo scambio dei propri pin. Pertanto, può essere più semplice utilizzare la finestra di dialogo dall'editor PCB.

Utilizzare la finestra di dialogo Configure Swapping Information in Components per definire rapidamente lo scambio tra i componenti. La finestra di dialogo include un potente menu contestuale, accessibile con il pulsante destro del mouse, che consente di copiare rapidamente le impostazioni da un componente all'altro o di abilitare/disabilitare più componenti con un solo clic.

La finestra di dialogo Configure Swapping Information In Components .La finestra di dialogo Configure Swapping Information In Components .

Facendo doppio clic su un componente nella finestra di dialogo Configure Swapping Information in Components , si apre la finestra di dialogo Configure Pin Swapping per quel componente, dove è possibile definire con maggiore controllo le impostazioni dei gruppi di scambio per pin, coppie differenziali e sottoparti.

Esecuzione dello scambio di pin, coppie e parti

Scambio interattivo di pin, coppie e parti

Lo scambio interattivo consente di scambiare pin, coppie differenziali o sottoparti uno alla volta nell'editor PCB. I comandi di scambio interattivo si trovano nel sottomenu Tools » Pin/Part Swapping (i comandi Interactive Pin/Net Swapping, Interactive Differential-Pair Swapping e Interactive Part Swapping). Una volta selezionato il comando dal menu, tutti gli elementi nell'area di progettazione PCB vengono mascherati (attenuati), ad eccezione di quelli che possono essere scambiati. Tenere d'occhio Status Bar, che indicherà l'azione successiva da eseguire. I passaggi necessari per eseguire uno scambio vengono visualizzati nella riga di stato:

  1. Il primo passaggio consiste nel selezionare uno dei pin evidenziati, che diventerà l'origine dello scambio. Nel caso di scambio di coppie o parti, verrà successivamente scambiata la coppia differenziale o la sottoparte a cui appartiene il pin.

  2. Il secondo passaggio consiste nel selezionare il pin di destinazione per lo scambio. Per lo scambio di coppie o parti, questo pin rappresenterà una coppia differenziale o una sottoparte.

    Esistono due condizioni che impediscono a un pin scambiabile di essere evidenziato: è già presente una connessione sbrogliata a quel pin (verificare la presenza di connessioni a piani di alimentazione o poligoni) e/o l'opzione Pin Swapping non è abilitata (disponibile nella modalità Interactive Routing del pannello Preferences). 

Le fasi dello scambio interattivo delle parti del componente con due porte NOR a 5 ingressi sono mostrate nelle due immagini seguenti. Sono presenti due sottoparti che possono essere scambiate, quindi è possibile selezionare uno qualsiasi dei loro cinque pin, come mostrato nell'immagine sopra. Viene selezionato il pin 8, corrispondente alla sottoparte U2B. Il sistema evidenzia quindi i pin della sottoparte U2A che possono essere scambiati.

Prima immagine, passaggio 1: selezionare un pin da scambiare; i pin disponibili verranno evidenziati. Seconda immagine, passaggio 2: selezionare un pin di destinazione.  Prima immagine, passaggio 1: selezionare un pin da scambiare; i pin disponibili verranno evidenziati. Seconda immagine, passaggio 2: selezionare un pin di destinazione.

  • Non è necessario definire i valori di Part Sequence per i pin delle coppie differenziali: la definizione della coppia differenziale specifica quale sia il pin positivo della coppia e quale quello negativo.

  • Le informazioni sullo scambio appariranno anche nel pannello Messages.

Ottimizzatore automatico di pin/net

L'ottimizzatore automatico di pin/net è uno strumento che opera in due fasi. Selezionare Tools » Pin/Part Swapping » Automatic Pin/Net Optimizer dal menu dell'editor PCB per eseguire un'ottimizzazione automatica.

L'ottimizzatore automatico di pin/net esegue dapprima una rapida ottimizzazione a passaggio singolo che tenta di ridurre al minimo gli incroci e le lunghezze dei collegamenti, ma potrebbe in realtà aumentarli. Al termine, verrà chiesto se si desidera eseguire l'ottimizzatore iterativo. Quest'ultimo esegue più passaggi nel tentativo di ridurre il numero di incroci e le lunghezze dei collegamenti.

Riportare le modifiche nello schema elettrico

Quando si configura swap groups nella finestra di dialogo Configure Pin Swapping, le modifiche apportate vengono applicate immediatamente ai componenti dello schema elettrico, indipendentemente dall'editor attivo al momento dell'avvio del comando. Tuttavia, le modifiche al progetto derivanti dallo scambio di pin, coppie differenziali o sottoparti nell'editor PCB vengono riportate nello schema elettrico tramite la procedura standard di Design Update.

Trasferire le modifiche dal PCB allo schema elettrico

Gli scambi di pin, coppie e parti vengono riportati nello schema elettrico come le altre modifiche al progetto, selezionando Design » Update dai menu. A seconda di come sono configurate le opzioni Consenti scambio di pin in Project Options - Options dialog, gli scambi di pin verranno eseguiti come segue:

  • Modifica dei nomi dei pin: questa modifica sposta i pin sul simbolo. I pin non vengono effettivamente spostati sul simbolo, ma visivamente sembrerà che i due pin si siano spostati o abbiano scambiato posizione.
  • Spostamento dei pin su net diverse: questa modifica scambia le etichette delle net sui fili collegati.
  • Modifica dell'ID della sottoparte: questa modifica cambia l'indice della sottoparte quando viene eseguito uno scambio di parti.

 

La prima immagine mostra uno scambio di pin risolto nello schema elettrico scambiando i pin. La seconda immagine mostra lo scambio risolto spostando le etichette delle net.

Se lo schema elettrico non si aggiorna per mostrare i pin o le parti scambiati, premere il tasto End per aggiornare la visualizzazione.

Sfruttare il nuovo sistema di scambio di pin/parti nei progetti con FPGA

Oltre agli evidenti vantaggi offerti dallo scambio intelligente di pin, coppie e parti, la possibilità di scambiare sottoreti parzialmente sbrogliate introduce una nuova dimensione nello scambio, ideale per lavorare con FPGA di grande capacità. La riassegnazione dinamica delle net consente di adottare un processo di progettazione in più fasi, con assegnazioni di pin/net progressivamente perfezionate.

Assegnazione iniziale degli I/O

In questa fase, le net vengono assegnate ai pin degli FPGA e degli altri dispositivi nel modo più semplice a livello di schema elettrico. In genere, ciò significa semplicemente aggiungere ai pin dell'FPGA le etichette delle net secondo l'ordine numerico del bus. La funzione Incolla speciale dell'editor degli schemi elettrici è ideale a questo scopo.

Ottimizzazione iniziale dei collegamenti

Il progetto può essere trasferito al layout del PCB, dove saranno presenti numerosi incroci tra i collegamenti a causa dell'assegnazione casuale effettuata a livello di schema elettrico. Eseguendo il comando Tools » Pin/Part Swapping » Automatic Net/Pin Optimizer , che utilizza le informazioni su pin e net per riassegnare dinamicamente le net e migliorare la sbrogliabilità, si otterrà rapidamente una notevole riduzione del numero di incroci. Ad esempio, il sistema può ricollegare più dispositivi BGA per i quali è stato eseguito lo sbroglio di uscita su più layer di un documento PCB. Non è ancora necessario che il risultato sia ideale, poiché serve principalmente a rendere i collegamenti più gestibili dal punto di vista visivo a livello di PCB.

Dopo l'avvio del comando, viene eseguito l'ottimizzatore automatico di pin/net. Si tratta di uno strumento a due fasi che esegue dapprima una rapida ottimizzazione a passaggio singolo per tentare di ridurre al minimo gli incroci e le lunghezze dei collegamenti, ma potrebbe in realtà aumentarli. Al termine, verrà chiesto se si desidera eseguire l'ottimizzatore iterativo. Quest'ultimo esegue più passaggi nel tentativo di ridurre il numero di incroci e le lunghezze dei collegamenti. I risultati dell'ottimizzazione vengono visualizzati al termine dell'esecuzione.

Sbroglio di uscita

A questo punto è possibile eseguire il fanout e lo sbroglio di uscita sui dispositivi di grandi dimensioni presenti sul PCB (fare clic con il pulsante destro del mouse sul componente per eseguire selettivamente il fanout e lo sbroglio di uscita). Ciò potrebbe peggiorare le assegnazioni precedentemente ottimizzate, ma in questa fase non è un problema.

Ottimizzazione dei collegamenti in uscita

Eseguire nuovamente l'ottimizzatore automatico. Questa volta sfrutterà i tratti già sbrogliati di fanout e di uscita.

Sbroglio manuale

Ora è possibile considerare le estremità delle piste di uscita come «obiettivi» verso cui sbrogliare. Si possono ignorare le linee di collegamento effettive, poiché è possibile sbrogliare dalle altre estremità delle net verso la pista di uscita I/O più vicina sul PCB, sia in termini di posizione sia di layer, anziché verso quella appartenente alla stessa net. I collegamenti non risulteranno allineati. Si otterrà invece una serie di piccoli spazi tra le piste di uscita dai pin I/O dell'FPGA e le piste provenienti da altre parti del PCB. L'immagine seguente ne mostra un semplice esempio.

 

Ottimizzazione finale

Eseguire nuovamente l'ottimizzatore automatico: assegnerà le sottoreti sbrogliate al pin I/O con sbroglio di uscita più vicino possibile. Rimarrà così una serie di collegamenti molto brevi da completare. L'ottimizzatore automatico dispone di routine specifiche per ottenere un buon risultato in questo caso. Questi collegamenti possono ora essere sbrogliati in modo interattivo o automatico.

Scambi manuali di pin

Utilizzare lo strumento di scambio interattivo per eseguire gli scambi di pin specifici necessari.

Riportare le modifiche nello schema elettrico

Quando si è pronti a riportare queste assegnazioni dei pin nello schema elettrico, è consigliabile disabilitare le modifiche ai pin sui simboli dello schema. Questo perché gli FPGA sono spesso rappresentati come componenti multiparte, in cui ogni banco di pin costituisce una parte distinta nello schema elettrico. Spostare i pin da una parte all'altra renderebbe questi simboli logicamente errati, poiché il simbolo del banco includerebbe pin non appartenenti a quel banco. In questa situazione, l'approccio corretto consiste nell'eseguire gli scambi di pin modificando le etichette delle net.

Ripetere secondo necessità

Questa procedura può essere ripetuta tutte le volte necessarie e in qualsiasi momento del processo di progettazione.

AI-LocalizedLocalizzato tramite A
Se trovi un problema, seleziona il testo/l’immagine e premi Ctrl + Enter per inviarci il tuo feedback.
Contents
Disponibilità delle funzionalità

Le funzionalità a tua disposizione dipendono dalla soluzione Altium di cui disponi: Altium Develop, Altium Agile Teams, Altium Agile Enterprise oppure Altium Designer (con abbonamento attivo).

Se non vedi una funzionalità documentata nel software che stai effettivamente utilizzando, contatta il reparto vendite di Altium per saperne di più.

Documentazione legacy

La documentazione di Altium Designer non è più suddivisa per versione. Se è necessario accedere alla documentazione delle versioni precedenti di Altium Designer, visitare la sezione Documentazione legacy della pagina Altri programmi di installazione.

Contents