Defining High Speed Signal Paths with xSignals

 

La sfida

Con le velocità di commutazione dei dispositivi in continuo aumento, nasce la sfida di mantenere l’integrità del segnale e di soddisfare i requisiti di temporizzazione del segnale. L’integrità del segnale può essere gestita tramite controlled impedance routing, ottenuto mediante un’attenta progettazione sia dello stackup del PCB sia delle larghezze di routing da utilizzare su ciascun layer.

I requisiti di temporizzazione vengono soddisfatti abbinando le lunghezze instradate dei percorsi di segnale. Per un insieme di percorsi di segnale a 2 pin, ciascuno che va da un pin di uscita a un singolo pin di ingresso, calcolare e confrontare le lunghezze è un processo semplice. Tuttavia, questo non vale per molte soluzioni progettuali tipiche, dove può essere presente un componente di terminazione in serie nel percorso del segnale, oppure ci sono più di due pin nel segnale, che potrebbe quindi essere instradato usando una topologia Balanced T o Fly-By, come mostrato nell’immagine seguente.

Quattro chip RAM DDR2 instradati usando una topologia Balanced T. ##
Quattro chip RAM DDR2 instradati usando una topologia Balanced T. ##

La soluzione

Il compito del progettista è tradurre i requisiti di progetto, come la lunghezza massima di routing consentita per rispettare il budget di temporizzazione, in un insieme di regole di progettazione, ad esempio una regola Length per garantire il rispetto della temporizzazione e una regola Matched Length per rilevare potenziali disallineamenti temporali.

Ora il progettista vede i segnali in termini della loro funzione (ad esempio: “Questo segnale di indirizzo deve essere instradato da questo connettore a ciascun dispositivo di memoria. Per farlo userò una topologia fly-by con una resistenza di terminazione alla fine. Potrei anche richiedere un terminatore in serie alla sorgente”). Anche se l’indirizzo A0 passa attraverso una resistenza di terminazione, per il progettista quel segnale è ancora A0 dall’altro lato di quella resistenza.

Ma l’editor PCB vede ogni segnale semplicemente come un insieme di pin collegati (comunemente indicato come net) — la net A0 va da questo pin del connettore a questo pin del componente di memoria, poi a questo pin di un altro componente di memoria, e così via. Non appena viene aggiunta una resistenza di terminazione in serie, quella linea di indirizzo diventa due net distinte. Questo rende difficile per il progettista specificare requisiti chiave di progetto, come le regole di progettazione Length e Matched Length.

Questo può essere gestito da una funzionalità chiamata xSignals  (o extended Signal). Questa funzionalità consente di trattare correttamente un percorso di segnale ad alta velocità proprio come tale: un percorso lungo il quale un segnale viaggia tra una sorgente e una destinazione, attraverso componenti di terminazione e anche rami.

Un xSignal è essenzialmente un percorso di segnale definito dal progettista tra due nodi. Questi possono essere due nodi all’interno della stessa net, oppure due nodi in net associate separate da un componente. L’xSignal può quindi essere usato per definire l’ambito di regole di progettazione pertinenti come Length e Matched Length, che verranno poi rispettate durante le attività di progettazione, come il tuning interattivo della lunghezza.

Creazione di un nuovo xSignal

Un xSignal è un percorso di segnale definito dal progettista tra due nodi; possono essere due nodi all’interno della stessa net oppure due nodi in net diverse.

Gli xSignals vengono definiti usando i seguenti metodi:

  1. Usare il xSignals Multi-Chip Wizard. Questo sarà l’approccio più comune per creare xSignals ed è descritto di seguito.

In alternativa, i seguenti metodi vengono usati selezionando prima gli oggetti di interesse, quindi scegliendo il comando appropriato:

  1. Creare un singolo xSignal basato sui pad selezionati. Selezionare il pad iniziale e il pad finale richiesti (questi pad possono trovarsi in net diverse se è presente un componente di terminazione in serie). I pad possono essere selezionati direttamente nell’area di progettazione, oppure si può usare il pannello PCB in modalità Nets per individuare e selezionare i pad (come mostrato nell’immagine seguente). Una volta selezionati i pad, fare clic con il tasto destro su un pad selezionato nell’area di progettazione e quindi eseguire il comando xSignals » Create xSignal from Selected Pins, oppure fare clic con il tasto destro su uno dei pad selezionati nel pannello PCB ed eseguire il comando Create xSignal. Il nuovo xSignal verrà elencato nella modalità xSignals del pannello PCB.

    Quando si definisce un xSignal basato su pin selezionati (pad del footprint), selezionare solo il pad iniziale e il pad finale prima di eseguire il comando Create.

    Il nome del nuovo xSignal sarà una combinazione dei due nomi di net, separati da un trattino. Il nome dell’xSignal può essere modificato nella modalità xSignals del pannello PCB.

    Il nuovo xSignal può essere aggiunto a una classe xSignal; fare clic con il tasto destro nell’area xSignal Classes del pannello per creare una nuova classe e aggiungervi membri.

  2. Selezionare il componente sorgente, quindi fare clic con il tasto destro sul componente selezionato e scegliere il comando xSignal » Create xSignals between Components dal menu contestuale. Si aprirà la finestra di dialogo Create xSignals Between Components, con il componente sorgente scelto selezionato. La finestra di dialogo è descritta di seguito.
  3. Selezionare uno o più componenti in serie nell’area di progettazione quindi fare clic con il tasto destro su uno dei componenti selezionati e scegliere il comando xSignal » Create xSignals from Connected Nets dal menu contestuale. Si aprirà la finestra di dialogo Create xSignals From Connected Nets. Verranno selezionati il componente sorgente scelto e le net collegate a quel componente. La finestra di dialogo è descritta di seguito.
  4. Possono esserci anche situazioni in cui si desidera creare un xSignal all’interno di un xSignal esistente; in questo caso si può usare la modalità xSignal del pannello PCB. Assicurarsi che l’opzione Select sia abilitata nella parte superiore del pannello, individuare l’xSignal corrente, selezionare i pad richiesti nella sezione xSignal Primitives del pannello, quindi fare clic con il tasto destro su uno dei pad selezionati nell’area di progettazione e usare il metodo descritto al punto 2 di questo elenco per completare il processo.

Selezionare i due pad nella modalità Nets del pannello, fare clic con il tasto destro su uno dei pad selezionati quindi scegliere Create xSignal. Si noti che i pad si trovano in net diverse.
Selezionare i due pad nella modalità Nets del pannello, fare clic con il tasto destro su uno dei pad selezionati quindi scegliere Create xSignal. Si noti che i pad si trovano in net diverse.

Se i pad iniziale e finale si trovano nella stessa net, un xSignal assumerà un nome nella forma <NetName>_PPn, dove n è il successivo numero intero disponibile usato per distinguere più xSignals definiti per quella net. Se i pad iniziale e finale si trovano in net diverse, un xSignal assumerà un nome nella forma <StartNet>_<EndNet>_PPn, dove n è il successivo numero intero disponibile usato per distinguere più xSignals definiti per quella combinazione di net.

Procedura guidata xSignals Multi-Chip

Il xSignals Multi-Chip Wizard viene usato per creare xSignals tra un singolo componente sorgente e più componenti di destinazione. Il Wizard usa un approccio orientato ai componenti per identificare i potenziali xSignals: si seleziona un singolo componente sorgente, le net di interesse e i componenti di destinazione e il Wizard analizza quindi tutti i potenziali percorsi dal componente sorgente ai componenti designati, passando attraverso componenti passivi in serie e lungo eventuali rami. Come progettista, è quindi possibile scegliere gli xSignals che si desidera generare e si possono anche creare regole di progettazione Matched Length, se necessario. Il Wizard può inoltre essere usato per creare automaticamente xSignals e classi xSignal per diversi comuni circuiti di interfaccia e di memoria.

 In questo Wizard, un pin di uscita è indicato come Source, mentre il pin di ingresso di destinazione è indicato come Destination.

La procedura guidata è anche uno strumento eseguibile più volte: dal gruppo principale complessivo di xSignals che si crea inizialmente nella pagina xSignal Routes, è possibile selezionarne un sottoinsieme, definire classi e regole, quindi tornare al gruppo principale, scegliere un altro sottoinsieme, definire classi e regole per esso, e così via.

Uno dei grandi punti di forza del Wizard è la facilità di lavoro tra il Wizard e l’editor PCB. Facendo clic su un xSignal in qualsiasi pagina della procedura guidata, i pad e l’eventuale routing vengono evidenziati visivamente sul PCB.

In questa fase, la procedura guidata non supporta l’aggiunta automatica di identificatori di giunzione a T, spesso indicati come tie-points o branch-points. Se il progetto include routing ramificato, si suggerisce di:

  1. Regolare la lunghezza dal componente sorgente al componente passivo (come una resistenza di terminazione in serie), se presente.
  2. Regolare la lunghezza in ciascun ramo, dalla giunzione a T al componente di destinazione.
  3. Se necessario, regolare la lunghezza rimanente tra il componente passivo (o dalla sorgente se non ci sono componenti passivi) e la giunzione a T.
Se è necessario regolare le lunghezze dei soli rami, creare un punto di diramazione definito dall’utente posizionando un componente a singolo layer e singolo pad all’interno del routing in corrispondenza della giunzione a T. Per ulteriori informazioni, fare riferimento alla sezione Definizione del punto di diramazione in un pattern Balanced T riportata di seguito.

Per accedere al xSignals Multi-Chip Wizard, selezionare il comando Design » xSignals » Run xSignals Wizard dai menu principali oppure fare clic con il tasto destro nel layout PCB e quindi selezionare xSignals » Run xSignals Wizard. Verrà mostrata la pagina iniziale della procedura guidata.

La pagina iniziale del xSignals Multi-Chip Wizard
La pagina iniziale del xSignals Multi-Chip Wizard

Modalità della procedura guidata xSignals Multi-Chip

Nella seconda pagina del Wizard, verrà richiesto di selezionare Custom Multi-Component Interconnect, On-Board DDR3 / DDR4 oppure USB 3.0. La modalità Custom Multi-Component Interconnect viene usata per definire più xSignals tra un componente sorgente scelto e più componenti di destinazione, mentre la modalità On-Board DDR3 / DDR4 viene usata per creare xSignals per la memoria DDR3 o DDR4. La modalità USB 3.0 crea gli xSignals, le classi xSignal e le regole Matched Length per ciascun canale USB 3.0. Selezionare la modalità appropriata per le proprie esigenze.

Finestra di dialogo Create xSignals Between Components

Se si dispone di un numero elevato di xSignals da definire, è più efficiente utilizzare la finestra di dialogo Create xSignals Between Components. Accessibile tramite il comando Design » xSignals » Create xSignals, la finestra di dialogo presenta i componenti Source e Destination, e consente di creare uno o più xSignals in un'unica operazione.

Utilizzare la finestra di dialogo per identificare e creare rapidamente più xSignals e aggiungerli alla xSignal class richiesta.
Utilizzare la finestra di dialogo per identificare e creare rapidamente più xSignals e aggiungerli alla xSignal class richiesta.

L'approccio è il seguente:

  1. Selezionare un singolo Source Component.
  2. Selezionare uno o più Destination Components richiesti.Selezionare il Source Net(s) di interesse. Verranno elencate tutte le net attualmente collegate al componente sorgente scelto. Per le net associate a una classe specifica, scegliere quella classe dal menu a discesa Net Class.
  3. Fare clic sul pulsante Analyze. Il software tenta di identificare i potenziali xSignals esistenti tra i componenti sorgente e destinazione scelti per le net selezionate. Tutti i possibili xSignals che includono le net scelte e si estendono tra i componenti sorgente e destinazione scelti verranno elencati nel campo xSignals. Si noti che l'algoritmo di analisi segue la topologia corrente delle net scelte e questo influenzerà gli xSignals proposti.
Il software può anche cercare attraverso componenti in serie, se necessario, selezionando l'opzione appropriata nel menu a discesa AnalyzeSearch for direct connections, Through 1 series component, Through 2 series components oppure Multipath coupled nets.
  1. Dopo aver eseguito l'analisi, i potenziali xSignals verranno elencati nella parte inferiore della finestra di dialogo e saranno tutti abilitati per la creazione. Controlla attentamente l'elenco degli xSignals proposti e abilita solo quelli necessari. Usa i comandi disponibili nel menu contestuale del tasto destro per attivare/disattivare più voci.
  2. Seleziona il class richiesto nella parte inferiore della finestra di dialogo oppure digita un nome per creare una nuova classe. Se non viene scelta alcuna classe, gli xSignals vengono comunque creati e puoi aggiungerli a qualsiasi classe xSignal nella finestra di dialogo Object Class Explorer (Design » Classes). L'uso delle classi può semplificare notevolmente la creazione e la configurazione delle regole di progettazione.
  3. Fai clic su OK per creare gli xSignals.

La finestra di dialogo si chiuderà e tornerai nell'area di progettazione. I nuovi xSignals saranno elencati nella modalità xSignals del pannello PCB.

Usa i filtri sopra ogni elenco per individuare rapidamente i componenti o le net di interesse; i caratteri jolly sono supportati.

Finestra di dialogo Create xSignals From Connected Nets

Se stai creando xSignals che includono componenti di terminazione in serie, un buon approccio consiste nell'usare il comando Create xSignals from connected nets. Il comando è disponibile ogni volta che è selezionato un componente, sia tramite il sottomenu Design » xSignals nei menu principali sia tramite il sottomenu xSignals del clic destro.

Questo comando è progettato per costruire xSignals verso l'esterno a partire da un componente di terminazione in serie selezionato, come un resistore o un condensatore. Supporta sia uno o più componenti discreti, sia uno o più componenti multiistanza in stile pack, come le reti di resistori. Dopo aver eseguito questo comando, si aprirà la finestra di dialogo Create xSignals From Connected Nets.

Usa la finestra di dialogo per creare xSignals che si estendono attraverso un componente in serie selezionato. In questo esempio sono stati proposti due possibili xSignals, ma ne verrà creato solo uno.
Usa la finestra di dialogo per creare xSignals che si estendono attraverso un componente in serie selezionato. In questo esempio sono stati proposti due possibili xSignals, ma ne verrà creato solo uno.

L'approccio è il seguente:

  1. Seleziona un singolo Source Component.
  2. Seleziona il Source Net(s) di interesse. Verranno elencate tutte le net attualmente collegate al componente sorgente scelto. Per le net associate a una classe specifica, scegli quella classe dal menu a discesa Net Class.
  3. Fai clic sul pulsante Analyze. Il software tenta di identificare i potenziali xSignals esistenti per i componenti sorgente scelti e per le relative net selezionate. Tutti i possibili xSignals verranno elencati nel campo xSignals.
  4. Dopo aver eseguito l'analisi, i potenziali xSignals verranno elencati nella parte inferiore della finestra di dialogo e saranno tutti abilitati per la creazione. Controlla attentamente l'elenco degli xSignals proposti e abilita solo quelli necessari. Usa i comandi disponibili nel menu contestuale del tasto destro per attivare/disattivare più voci.
  5. Seleziona il class richiesto nella parte inferiore della finestra di dialogo oppure digita un nome per creare una nuova classe. Se non viene scelta alcuna classe, gli xSignals vengono comunque creati e puoi aggiungerli a qualsiasi classe xSignal nella finestra di dialogo Object Class Explorer (Design » Classes). L'uso delle classi può semplificare notevolmente la creazione e la configurazione delle regole di progettazione.
  6. Fai clic su OK per creare gli xSignals.

La finestra di dialogo si chiuderà e tornerai nell'area di progettazione. I nuovi xSignals saranno elencati nella modalità xSignals del pannello PCB.

Usa i filtri sopra ogni elenco per individuare rapidamente i componenti o le net di interesse; i caratteri jolly sono supportati.

Il ruolo della topologia della net

Quando definisci un xSignal, esso è compreso tra due nodi o pad. Tuttavia, quando selezioni quell'xSignal nella modalità xSignals del pannello PCB, esso seguirà effettivamente il percorso delle linee di connessione che corre tra quei due pad, indicando che questo è il percorso che il software presume verrà usato per instradare l'xSignal. Il motivo è che sta rispettando la topologia definita per quella net. La topologia della net è definita dalla regola di progettazione Routing Topology applicabile; la topologia predefinita è Shortest.

La semplice animazione mostra una CPU collegata a quattro chip di memoria DDR3, che verrà instradata usando una strategia di instradamento fly-by. La classe xSignal DRAM_A2 contiene quattro xSignals. Prima viene selezionata la classe, poi ogni xSignal viene selezionato a turno. Puoi vedere come il percorso dell'xSignal segue la topologia della net, che attualmente è impostata sul valore predefinito - Shortest.

Poiché la topologia della net è attualmente impostata su Shortest, gli xSignals non stanno seguendo il percorso richiesto dal processore ai chip di memoria.
Poiché la topologia della net è attualmente impostata su Shortest, gli xSignals non stanno seguendo il percorso richiesto dal processore ai chip di memoria.

Se prevedi di usare la finestra di dialogo Create xSignals Between Components, dovrai configurare la topologia della/e net per assicurarti che l'algoritmo di analisi xSignal comprenda il percorso previsto dell'xSignal instradato.

Comandi di creazione xSignal

Oltre al comando Design » xSignals » Create xSignals, nel sottomenu xSignals sono presenti altri comandi di creazione xSignal quando vengono soddisfatte determinate condizioni.

Di seguito è riportato un riepilogo dei comandi e di quando sono disponibili:

Comando Descrizione
Create xSignal from selected pins

Crea immediatamente un singolo xSignal. Questo comando è disponibile quando sono selezionati due o più pad nell'area di progettazione ed è lo stesso comando presentato quando fai clic con il tasto destro su uno dei pad selezionati.

Create xSignals between components

Questo comando è disponibile quando sono selezionati componenti nell'area di progettazione. Quando viene eseguito, si apre la finestra di dialogo Create xSignals Between Components con il/i componente/i già selezionato/i. Assicurati che siano selezionati i componenti Source e Designation corretti, quindi completa il processo di analisi/creazione.

Dopo aver avviato il comando, si aprirà la finestra di dialogo Create xSignals Between Components dialog. Usa la finestra di dialogo per creare gli xSignals come segue:

  1. Il componente sorgente scelto apparirà selezionato nell'area Source Component.
  2. Qualsiasi altro componente selezionato nell'area di lavoro apparirà selezionato nell'area Destination Components. In caso contrario, effettua ora la/le selezione/i.
  3. Per impostazione predefinita, saranno selezionate tutte le net associate ai pad del componente sorgente (nell'area Source Component Nets). Modifica questa selezione secondo necessità.
  4. Fai clic sul pulsante Analyze - il software tenta di identificare i potenziali xSignals esistenti tra i componenti sorgente e destinazione scelti, per le net selezionate.

    Tieni presente che l'algoritmo di analisi segue la topologia corrente delle net scelte.
    Il software può anche cercare attraverso componenti in serie, se necessario, selezionando la modalità appropriata dal menu a discesa associato al pulsante. Le modalità disponibili sono: Search for direct connections, Through 1 series component, Through 2 series components e Multipath coupled nets.
  5. Tutti gli xSignals identificati sono elencati nell'area xSignals della finestra di dialogo. Per impostazione predefinita, sono tutti selezionati per la creazione - modifica questa impostazione secondo necessità.
  6. Facoltativamente, puoi associare gli xSignals creati a una classe xSignal. Scegli una classe xSignal esistente oppure inserisci un nome per una nuova classe. Se lo desideri, puoi lasciare il campo vuoto; gli xSignals possono sempre essere aggiunti come membri alla classe richiesta in una fase successiva.
  7. Fai clic su OK per creare gli xSignals. La finestra di dialogo si chiuderà e tornerai nell'area di progettazione, che presenterà una vista filtrata che mostra gli xSignals appena creati. Se è stata specificata una classe xSignal, questa verrà creata (se non esiste già) e gli xSignals vi saranno associati.
Create xSignals from connected nets

Usa questo comando quando sono presenti uno o più componenti di terminazione in serie per i quali creare xSignals. Seleziona il/i componente/i di terminazione, quindi esegui il comando per aprire la finestra di dialogo Create xSignals from Connected Nets, pronta per completare il processo di creazione di un insieme di xSignals. Usa la finestra di dialogo per creare gli xSignals come segue:

  1. Il/i componente/i sorgente scelto/i apparirà/appariranno selezionato/i nell'area Source Component.
  2. Per impostazione predefinita, saranno selezionate tutte le net associate ai pad del/dei componente/i sorgente (nell'area Source Component Nets). Modifica questa selezione secondo necessità.
  3. Fai clic sul pulsante Analyze - il software tenta di identificare i potenziali xSignals esistenti per le net selezionate che si diramano dal/dai componente/i scelto/i.

    Tieni presente che l'algoritmo di analisi segue la topologia corrente delle net scelte.
  4. Tutti gli xSignals identificati sono elencati nell'area xSignals della finestra di dialogo. Per impostazione predefinita, sono tutti selezionati per la creazione - modifica questa impostazione secondo necessità.
  5. Facoltativamente, puoi associare gli xSignals creati a una classe xSignal. Scegli una classe xSignal esistente oppure inserisci un nome per una nuova classe. Se lo desideri, puoi lasciare il campo vuoto; gli xSignals possono sempre essere aggiunti come membri alla classe richiesta in una fase successiva.
  6. Fai clic su OK per creare gli xSignals. La finestra di dialogo si chiuderà e tornerai nell'area di progettazione, che presenterà una vista filtrata che mostra gli xSignals appena creati. Se è stata specificata una classe xSignal, questa verrà creata (se non esiste già) e gli xSignals vi saranno associati.
Create xSignals

Apre la finestra di dialogo Create xSignals Between Components. Questo comando è sempre disponibile. Usa la finestra di dialogo per creare gli xSignals come segue:

  1. Scegli un componente sorgente nell'area Source Component.
  2. Scegli uno o più componenti di destinazione nell'area Destination Components.
  3. Tutte le net associate ai pad del componente sorgente saranno elencate nell'area Source Component Nets. Seleziona le net di interesse.
  4. Fai clic sul pulsante Analyze - il software tenta di identificare i potenziali xSignals esistenti tra i componenti sorgente e destinazione scelti per le net selezionate.

    Tieni presente che l'algoritmo di analisi segue la topologia corrente delle net scelte.
    Il software può anche cercare tra i componenti in serie, se necessario, selezionando la modalità appropriata dal menu a discesa associato al pulsante. Le modalità disponibili sono: Search for direct connections, Through 1 series component, Through 2 series components e Multipath coupled nets.
  5. Tutti gli xSignals identificati sono elencati nell’area xSignals della finestra di dialogo. Per impostazione predefinita, sono tutti selezionati per la creazione: modificare questa impostazione secondo necessità.
  6. Facoltativamente, è possibile associare gli xSignals creati a una classe xSignal. È possibile scegliere una classe xSignal esistente oppure immettere un nome per una nuova classe. Se lo si desidera, il campo può essere lasciato vuoto; gli xSignals potranno sempre essere aggiunti come membri alla classe richiesta in un secondo momento.
  7. Fare clic su OK per creare gli xSignals. La finestra di dialogo si chiuderà e si tornerà allo spazio di progettazione, che presenterà una vista filtrata che mostra gli xSignals appena creati. Se è stata specificata una classe xSignal, questa verrà creata (se non esiste già) e gli xSignals verranno associati ad essa.

Definizione del punto di diramazione in uno schema a T bilanciato

Una delle sfide di una strategia di instradamento a T bilanciato è come equalizzare la lunghezza dei tronchi e dei rami oltre i punti a T. I nodi disponibili nella net sono presenti solo sui pad, quindi non è possibile definire xSignals separati per il tronco e dal punto di diramazione fino alla fine di ciascun ramo. I punti di diramazione sono indicati dai punti rossi nell’immagine seguente.

Un modo per risolvere questo problema consiste nell’aggiungere alla net un componente a pin singolo. Creare un componente con un solo pad delle stesse dimensioni delle via utilizzate nel progetto. Se il pad del componente del punto di diramazione è su singolo layer, può anche essere usato in combinazione con una blind via o una buried via, posizionandolo sul layer iniziale o finale della via, offrendo completa flessibilità su come viene creato l’instradamento. Se si desidera includere il componente del punto di diramazione solo sul PCB, impostare Type del componente del punto di diramazione su Mechanical per escluderlo dalla BOM ed evitare eventuali problemi di sincronizzazione con lo schema. Se si prevede di includere il componente del punto di diramazione nello schema, il Type del componente può essere impostato su Standard (no BOM).

L’instradamento a T bilanciato può richiedere lunghezze abbinate tra punti di diramazione intermedi.
L’instradamento a T bilanciato può richiedere lunghezze abbinate tra punti di diramazione intermedi.

Poiché il punto di diramazione è un nodo nella net, ora è possibile definire xSignals solo per il tronco, per ciascun ramo principale e, se necessario, per ciascun ramo secondario. Questi possono quindi essere usati per definire l’ambito delle regole di progettazione di lunghezza abbinata, offrendo al progettista il pieno controllo sul livello di precisione con cui eseguire l’abbinamento delle lunghezze. 

Gestione degli xSignals

Nella modalità xSignals del pannello , le sue tre aree principali cambiano per riflettere la gerarchia xSignal del progetto PCB corrente (in ordine dall’alto):

  • xSignal Classes
  • Singoli xSignals all’interno di una classe
  • Singoli xSignal Primitives che costituiscono uno xSignal (pad, tracce e via)

Area delle classi xSignal

L’area xSignal Classes elenca tutte le raccolte di classi xSignal che sono state definite oppure tutte le classi disponibili (<All xSignals>).

Selezionare una classe per visualizzare il relativo elenco di xSignals nell’area centrale (xSignals) e per mostrarli nello spazio di progettazione PCB.

Per creare una nuova classe xSignal dalla raccolta xSignal esistente, fare clic con il pulsante destro del mouse nell’area, quindi selezionare Add Class dal menu contestuale per aprire la finestra di dialogo Edit xSignal Class dialog. La finestra di dialogo elenca gli xSignals disponibili che possono essere aggiunti o rimossi come membri della nuova classe utilizzando i pulsanti di gestione. Utilizzare il campo Name per definire un nome appropriato per la nuova classe xSignal.

Creare o aggiungere a una classe xSignal aggiungendo/rimuovendo membri xSignal tramite la finestra di dialogo Edit xSignal Class.
Creare o aggiungere a una classe xSignal aggiungendo/rimuovendo membri xSignal tramite la finestra di dialogo Edit xSignal Class.

Il menu contestuale accessibile con il pulsante destro del mouse nell’area del pannello offre anche la possibilità di rimuovere (Delete) o modificarne la rappresentazione visiva nello spazio di progettazione PCB (ad esempio, Change xSignal Color).

Per ulteriori informazioni sull’uso delle classi, fare riferimento alla pagina Working with Classes on a Schematic & PCB.

Area xSignals

L’area centrale del pannello visualizza gli xSignals delle classi xSignal selezionate nell’area superiore.

Per impostazione predefinita, con ciascuno xSignal vengono elencate le seguenti informazioni:

  • – questa funzione ha due scopi:
    • sfondo colorato – il colore assegnato allo xSignal (la linea sottile che rappresenta lo xSignal nello spazio di progettazione). Fare clic con il pulsante destro del mouse per Change xSignal Color per tutti gli xSignals attualmente selezionati.
    • casella di controllo della visibilità – usarla per visualizzare sempre lo xSignal, indipendentemente dal fatto che sia attualmente selezionato o meno.
  • Name – nome dello xSignal.
  • Node Count – il numero totale di pad in questo xSignal.
  • Routed Length – la somma delle lunghezze dei segmenti di traccia e arco posizionati che formano l’instradamento, più la distanza verticale attraversata tramite le via (vedere la nota sotto). Il calcolatore della lunghezza instradata non tenta di risolvere segmenti di traccia sovrapposti o serpentine di instradamento all’interno dei pad.
  • Signal Length – calcolo accurato della distanza totale da nodo a nodo. Si applicano le seguenti note ai calcoli della lunghezza del segnale:
    • Risolve sovrapposizioni e serpentine all’interno dei pad.
    • Gestisce percorsi di instradamento creati con oggetti diversi da tracce e archi (ad esempio, una regione o un riempimento).
    • Include le distanze verticali attraverso le via (vedere la nota sotto).
    • Include il Total Pin/Package Length per questo xSignal.
    • Include il Un-Routed (Manhattan) Length per questo xSignal.
    • Il mancato rispetto delle regole di progettazione applicabili Length/Matched Length viene segnalato mostrando la lunghezza del segnale su uno sfondo colorato: le lunghezze del segnale troppo corte in giallo, quelle troppo lunghe in rosso.

      Vedere Length Tuning per ulteriori informazioni su come vengono applicate le regole di progettazione Length e Matched Length.
  • Total Pin/Package Length – la somma di tutti i valori Pin Package Length in tutti i pad di quello xSignal. Questo valore è definito come proprietà del pad PCB e può anche essere specificato nel pin dello schema.
  • Unrouted (Manhattan) Length – la distanza verticale più orizzontale (X+Y) di tutte le sezioni non instradate.
  • Margin – la differenza tra la lunghezza effettiva del segnale e la lunghezza target del segnale definita dalle regole di progettazione Length/Matched Length applicabili.

Fare clic con il pulsante destro del mouse nell’area, quindi usare il sottomenu Columns per aggiungere la seguente colonna:

  • Delay – il tempo necessario affinché un segnale si propaghi lungo quel percorso.
Usare il sottomenu Columns per mostrare/nascondere le colonne.
Vertical distance through a via – la distanza verticale che un segnale percorre attraverso una via è la somma di tutti gli spessori degli strati (rame e dielettrico) tra gli strati di rame di inizio e fine, più metà dello spessore dello strato iniziale e metà dello spessore dello strato finale. Gli spessori degli strati sono definiti nel Layer Stack.

Area primitive xSignal

La terza area del pannello PCB, xSignal Primitives, elenca tutti gli elementi costitutivi (primitive) dello xSignal attualmente selezionato.

Selezionare la casella di controllo Show nodes only dell’area per limitare l’elenco delle primitive ai pad che sono i nodi di inizio/fine dello xSignal. In questa modalità, lo xSignal selezionato verrà mostrato nello spazio di progettazione PCB come pad nodo uniti da una traccia sottile (anziché da tracce di rame) che rappresenta il percorso dello xSignal.

L’area inferiore xSignal Primitives elenca tutti gli elementi dello xSignal selezionato, come pad, via e tracce, e il relativo ritardo.
L’area inferiore xSignal Primitives elenca tutti gli elementi dello xSignal selezionato, come pad, via e tracce, e il relativo ritardo.

Visualizzazione degli xSignals nello spazio di progettazione

Gli xSignals vengono visualizzati nello spazio di progettazione come una linea sottile. La linea indica il percorso seguito dallo xSignal. La lunghezza complessiva della linea rappresenta il contributo X/Y alla lunghezza del segnale di quello xSignal. Il contributo Z, ovvero verticale, alla lunghezza complessiva del segnale è descritto sopra.

Nell’immagine seguente sono mostrati gli xSignals di una coppia differenziale. Lo xSignal del membro non selezionato della coppia rimane visibile perché la casella di controllo di quello xSignal è abilitata nel pannello.

Gli xSignals sono rappresentati nello spazio di progettazione da una linea sottile. Entrambi gli xSignals di questa coppia differenziale rimangono visibili anche se nel pannello ne è selezionato solo uno, perché la casella di controllo della visibilità è abilitata.
Gli xSignals sono rappresentati nello spazio di progettazione da una linea sottile. Entrambi gli xSignals di questa coppia differenziale rimangono visibili anche se nel pannello ne è selezionato solo uno, perché la casella di controllo della visibilità è abilitata.

Eliminazione di uno xSignal

Selezionare lo xSignal nel pannello, quindi fare clic sul pulsante Delete sotto l’elenco degli xSignals. In alternativa, fare clic con il pulsante destro del mouse e selezionare Delete dal menu contestuale, oppure premere Delete sulla tastiera.

Parole chiave di query xSignal

L’editor PCB include un potente e sofisticato filtering engine. Questo motore viene utilizzato per identificare gli oggetti durante la ricerca di oggetti nello spazio di progettazione, l’applicazione delle regole durante attività di progettazione interattive e automatiche e la verifica della conformità alle regole. Il progettista indica al motore di filtraggio quali oggetti gli interessano scrivendo una query, utilizzando parole chiave di query riconosciute dal motore di filtraggio.

Le seguenti parole chiave di query di tipo xSignal sono state aggiunte per l’uso nelle regole di progettazione e nei filtri dello spazio di progettazione:

Parole chiave di tipo controllo appartenenza

  • InxSignal - L’oggetto è nello xSignal specificato, ad esempio, InxSignal('DRAM_A0_PP1')
  • InxSignalClass - L’oggetto è nella classe xSignal specificata, ad esempio, InxSignalClass('PCIE')
  • IsxSignal - L’oggetto è uno xSignal con il nome specificato, ad esempio, IsxSignal('DRAM_A0_PP1')

Parole chiave di tipo controllo attributo

  • InAnyxSignal - L’oggetto è in uno qualsiasi xSignal, ad esempio, InAnyxSignal

Supporto delle regole di progettazione per xSignals

Le regole di progettazione sono il modo in cui si traducono i requisiti in un insieme di istruzioni che l’editor PCB può comprendere e rispettare. Le regole possono essere controllate durante il posizionamento degli oggetti, definito Online DRC, oppure come post-processo, definito Batch DRC. Gli xSignals possono essere utilizzati per definire gli oggetti ai quali deve essere applicata una regola di progettazione.

Ulteriori informazioni su Design Rules

Ulteriori informazioni su Length Tuning

Regola Matched Length

La regola di progettazione Matched Length viene utilizzata per garantire che la lunghezza delle net specificate rientri nell’intervallo definito. Questa regola è essenziale in una progettazione ad alta velocità, dove la sfida non riguarda solo il tempo necessario affinché i segnali arrivino a destinazione (determinato dalla loro lunghezza complessiva), ma anche quanto sia importante che i segnali specificati arrivino contemporaneamente. A seconda della velocità di commutazione dei segnali, della funzione del segnale e dei materiali utilizzati nella scheda, la differenza consentita può essere anche di 500 mil oppure di appena 1 mil.

L’immagine seguente mostra un esempio della regola di progettazione Matched Length configurata per agire sugli xSignals nella classe xSignal PCIE e verificare una differenza di lunghezza all’interno di ciascuna coppia differenziale in quella classe xSignals. Ogni coppia nella classe deve avere lunghezze instradate tali da produrre un Delay Tolerance non superiore a 2ps di ritardo tra le due net di quella coppia.

Si noti che i vincoli della regola di progettazione Matched Length richiedono di scegliere tra l’abbinamento della lunghezza di tutte le net interessate (Group Matched Lengths) oppure l’abbinamento delle due net all’interno di ciascuna coppia differenziale nelle net interessate.
Si noti che i vincoli della regola di progettazione Matched Length richiedono di scegliere tra l’abbinamento della lunghezza di tutte le net interessate (Group Matched Lengths) oppure l’abbinamento delle due net all’interno di ciascuna coppia differenziale nelle net interessate.

L’immagine seguente mostra la classe xSignal PCIE_TX selezionata nel pannello e i relativi xSignals selezionati nell’area di progettazione.

Oltre alla classe PCIE, sono definite anche classi per le coppie TX e RX. Si noti che uno degli xSignals TX non soddisfa la regola di matched length applicabile. ##
Oltre alla classe PCIE, sono definite anche classi per le coppie TX e RX. Si noti che uno degli xSignals TX non soddisfa la regola di matched length applicabile. ##

Se si prevede di eseguire il tuning di lunghezza di xSignals che includono net singole e coppie differenziali, creare le seguenti regole:

  • Una regola di matched length che definisce i requisiti di abbinamento della lunghezza between nets and differential pairs in xSignals. Per configurare la regola in modo che verifichi la lunghezza di una net/coppia rispetto alla lunghezza di un’altra net/coppia, abilitare l’opzione Group Matched Lengths .
  • Una seconda regola di matched length, con priorità più alta, che definisce i requisiti di abbinamento della lunghezza within-pair. Per configurare la regola in modo che verifichi la lunghezza di un membro della coppia rispetto all’altro membro della coppia, abilitare l’opzione Within Differential Pair Length .

Un buon approccio per regolare le lunghezze di tali xSignals è il seguente:

  1. Instradare le net e le coppie differenziali dello xSignal.
  2. Eseguire il tuning di lunghezza delle net singole usando il comando Interactive Length Tuning .
  3. Eseguire il tuning di lunghezza between delle coppie usando il comando Interactive Differential Pair Length Tuning . Il tuning di lunghezza utilizza la lunghezza del segnale più lungo nella coppia più lunga come Target Length e regola la net più lunga della coppia su questa lunghezza.
  4. Eseguire il tuning di lunghezza della net più corta within di ciascuna coppia rispetto all’altra net della coppia usando il comando Interactive Length Tuning .
  5. Ora è possibile usare il pannello PCB Rules and Violations per verificare le regole within-pair Matched Net Length. Per farlo, selezionare Matched Net Lengths nella sezione Rule Classes del pannello, quindi fare clic con il pulsante destro sulla regola Matched Length richiesta e selezionare il comando Run DRC Rule <RuleName> dal menu contestuale. Regolare le serpentine di tuning delle net singole, se necessario.
  6. Quindi usare il pannello PCB Rules and Violations per verificare le regole between-pair Matched Net Length, utilizzando il processo appena descritto. Regolare le serpentine di tuning delle coppie differenziali, se necessario.

Regola Length

La regola di progettazione Length viene utilizzata per garantire che la lunghezza complessiva instradata rientri nell’intervallo specificato. Questa regola viene tipicamente usata per garantire che le net di destinazione non siano più lunghe della lunghezza specificata, ad esempio per assicurare che i requisiti di temporizzazione del circuito siano soddisfatti. La regola Length rispetta le query di tipo xSignal elencate sopra.

Regola Return Path

La regola di progettazione Return Path verifica la presenza di un percorso di ritorno continuo del segnale sul layer di riferimento designato sopra o sotto i segnali interessati dalla regola. Il percorso di ritorno può essere creato da riempimenti, regioni e colate poligonali posizionati su un layer di segnale, oppure può essere un piano.

I layer del percorso di ritorno sono i layer di riferimento definiti nel profilo di impedenza selezionato. Aggiungere una nuova regola di progettazione Return Path nella categoria di regole High Speed.

L’immagine seguente mostra una violazione della regola Return Path, in cui il poligono del percorso di ritorno dello xSignal presenta un foro per consentire il passaggio di una via.

Uso del pannello PCB Rules and Violations per individuare una violazione della regola Return Path. ##Uso del pannello PCB Rules and Violations per individuare una violazione della regola Return Path. ##

Calcoli accurati della lunghezza

Un requisito fondamentale nella definizione delle regole di progettazione ad alta velocità è il calcolo accurato delle lunghezze di instradamento. L’approccio tradizionale al calcolo della lunghezza del segnale consiste nel sommare la lunghezza della linea centrale di tutti i segmenti utilizzati in un instradamento, nonché la distanza verticale dovuta all’altezza delle via, originariamente determinata dallo spessore della scheda.

Questo approccio non è adeguato per una progettazione ad alta velocità per diversi motivi, tra cui:

  • Oggetti impilati e sovrapposti: un algoritmo che somma semplicemente la lunghezza della linea centrale di tutti gli oggetti in una net non tiene conto di oggetti impilati o sovrapposti.
  • Percorso di instradamento irregolare all’interno di un oggetto: spesso sono presenti oggetti di instradamento completamente all’interno di un pad o di una via, che possono aggiungere falsamente lunghezza, come mostrato nella prima immagine sotto. La seconda immagine mostra il modo corretto di calcolare la lunghezza quando un oggetto fill fa parte dell’instradamento.
  • Lunghezza della via: le via cieche e interrate non attraversano tutti i layer della scheda, quindi lo spessore della scheda non è sufficientemente accurato per determinare la lunghezza verticale. Deve essere utilizzata l’altezza reale della via, tenendo conto degli spessori di rame e di isolamento attraversati dalla via.

Il calcolatore di lunghezza dell’editor PCB restituisce la lunghezza di instradamento più accurata possibile.

Il calcolo della lunghezza viene eseguito con precisione lungo la linea centrale del percorso più corto, come mostrato in queste due immagini.
Il calcolo della lunghezza viene eseguito con precisione lungo la linea centrale del percorso più corto, come mostrato in queste due immagini.

Per le via vengono calcolate lunghezze accurate, basate sui layer attraversati e sulle dimensioni dello stackup. Immagine dal pannello PCB in modalità Nets.
Per le via vengono calcolate lunghezze accurate, basate sui layer attraversati e sulle dimensioni dello stackup. Immagine dal pannello PCB in modalità Nets.

Ritardo del package del pin

In ogni progettazione ad alta velocità oltre i 500 MHz, il mezzo di connessione, o bond wire verso il die, introduce un ritardo nel segnale. Questo ritardo interno al dispositivo è definito ritardo del package del pin. Anche se due dispositivi sono pienamente compatibili a livello di progettazione e PCB, i tempi di propagazione del package saranno diversi tra dispositivi differenti, quindi dovranno essere presi in considerazione. Le informazioni sul flight time possono essere trovate nel documento IBIS 6 del dispositivo. Le informazioni sui Package Pins devono essere considerate durante la fase di pianificazione I/O oppure dopo la sintesi per un FPGA. Tutti i produttori di dispositivi dovrebbero essere in grado di fornire i ritardi del package, che saranno specificati come ritardo in picosecondi oppure come lunghezza.

Il ritardo può essere incluso nel progetto come Pin Package Length oppure come Propagation Delay, utilizzando i rispettivi campi per il pin nell’editor schematico o per il pad/via nell’editor PCB. I valori inseriti vengono gestiti come segue:

Pin Package Length - tutte le lunghezze del package del pin all’interno di ciascuna net vengono sommate nell’editor PCB per ottenere la Total Pin/Package Length, che è inclusa nella Signal Length complessiva di quella net. Fare riferimento alla modalità Nets del pannello PCB per scoprire di più sulla Signal Length.

Propagation Delay - tutti i valori di ritardo definiti dall’utente per pin/pad e via in ciascuna net vengono sommati al ritardo di instradamento di quella net nell’editor PCB. Il ritardo di instradamento viene calcolato automaticamente dal field solver Simbeor® integrato nel Layer Stack Manager. I ritardi di pad e via non vengono calcolati automaticamente, ma possono essere definiti dall’utente.

  • Le regole di progettazione Length e Matched Length possono essere configurate in base alla lunghezza o al ritardo.
  • Signal Length, Total Pin/Package Length e Delay possono essere visualizzati in varie modalità del pannello PCB, incluse la modalità Nets, la modalità Differential Pairs Editor e la modalità xSignals. Fare clic con il pulsante destro su un’intestazione di colonna nel pannello PCB per abilitare/disabilitare le colonne.
  • Il Simbeor SFS (quasi-static field solver) di Simberian® viene utilizzato per calcolare il ritardo di instradamento, in base alle proprietà fisiche definite nel Layer Stack Manager.
  • La Pin Package Length definita dall’utente e i valori di Propagation Delay sono indipendenti tra loro; vengono aggiunti ai valori di Signal Length e Delay come appena descritto. Poiché non interagiscono tra loro, entrambi i valori possono essere specificati, se necessario.

Inclusione del ritardo nello schema

Le lunghezze del package del pin possono essere definite come attributo del pin del componente nello schema nel pannello Properties in modalità Pin. Il software utilizzerà per impostazione predefinita le unità del documento sottostante; inserire le unità insieme al valore, se necessario.

Immettere la lunghezza del pin-package con le unità richieste.
Immettere la lunghezza del pin-package con le unità richieste.

  • Le proprietà dei pin del componente possono anche essere modificate nell’editor di libreria o nel foglio schematico nella scheda Pins del pannello Properties in modalità Component. Fare clic su  in quella scheda del pannello per aprire il Component Pin Editor, dove è possibile modificare tutte le proprietà di tutti i pin di quel componente. I valori possono essere modificati direttamente nella griglia (selezionare una cella e digitare un nuovo valore) e i tasti cursore possono essere usati per spostarsi nelle celle adiacenti. Le unità predefinite verranno aggiunte automaticamente se non vengono digitate.
  • In alternativa, usa il pannello SCH List panel per copiare/incollare più valori Pin/Pkg Lengths o Propagation Delay da un datasheet in un insieme di pin di componente selezionati nell’editor della libreria schematica (show image). Oltre a incollare direttamente il contenuto degli appunti nelle celle selezionate, puoi anche fare clic con il pulsante destro nel pannello per accedere alla finestra di dialogo Smart Grid Paste dialog, che offre un maggiore controllo sul processo di importazione di dati aggiuntivi nei pin.

Definizione del ritardo nell’editor PCB

I valori Pin Package Length e Propagation Delay vengono trasferiti al layout PCB come mostrato nella modalità Pad del pannello Properties.

I valori Pin Package Length e Propagation Delay vengono trasferiti dallo schema al PCB, oppure possono anche essere definiti direttamente nel PCB.
I valori Pin Package Length e Propagation Delay vengono trasferiti dallo schema al PCB, oppure possono anche essere definiti direttamente nel PCB.

Esame della lunghezza Pin/Package e del Propagation Delay nel pannello PCB

Il Pin/Pkg Length viene incluso automaticamente nei calcoli Signal Length, che vengono visualizzati in varie modalità del pannello PCB. Imposta il pannello sulla modalità Nets per esaminare (o modificare) il valore di Pin/Pkg Length per i pin della net scelta. Nota come la colonna Routed Length rifletta la lunghezza del routing e la colonna Signal Length rifletta la lunghezza del routing più eventuali Pin/Pkg Length presenti in quella net.

Il Pin/Pkg Length e il suo impatto sul Signal Length sono mostrati nella modalità Nets del pannello PCB.
Il Pin/Pkg Length e il suo impatto sul Signal Length sono mostrati nella modalità Nets del pannello PCB.

Nell’immagine seguente, la colonna propagation Delay mostra che ci sono due coppie di xSignals che non soddisfano una regola di progettazione Matched Length. Poiché l’evidenziazione è nella colonna Delay, ciò indica che la regola è configurata per usare unità di ritardo anziché unità di lunghezza.

La colonna Delay mostra che ci sono due coppie di xSignals che non soddisfano una regola di progettazione Matched Length. La colonna Delay mostra che ci sono due coppie di xSignals che non soddisfano una regola di progettazione Matched Length. 

Signal Length, Total Pin/Package Length e Delay possono essere visualizzati in varie modalità del pannello PCB, incluse la modalità Nets mode, la modalità Differential Pairs Editor mode e la modalità xSignals mode. Fai clic con il pulsante destro su un’intestazione di colonna nel pannello PCB per abilitare/disabilitare le colonne.

Come la lunghezza viene inclusa negli xSignals

Il Pin/Pkg Length viene incluso automaticamente nella lunghezza complessiva dell’xSignal quando:

  • Quel segnale fa parte di una definizione di xSignal
  • Quel pad non è connesso in uno schema di routing fly-by (c’è una sola traccia collegata a quel pad)

I pad che sono connessi in uno schema di routing fly-by (con un punto di ingresso e un punto di uscita) sono esclusi dal calcolo della lunghezza.

Terminologia relativa alle net

Nell’editor PCB viene utilizzata la seguente terminologia:

  • Net – una raccolta di pin di componenti (nodi) collegati tra loro. La disposizione di come questi nodi si collegano tra loro è detta topologia; la topologia predefinita è shortest.
  • From-To – concettualmente, un From-To corre tra due nodi in una net. I From-Tos possono essere creati per seguire la topologia o disposizione dei nodi in quella net. Per esempio, la topologia della net potrebbe essere da R1-1 a U1-5 a U3-2 a R5-2. Questa net potrebbe avere tre From-Tos: da R1-1 a U1-5; da U1-5 a U3-2; e da U3-2 a R5-2. Se la topologia viene modificata, cambieranno anche i possibili From-Tos. I From-Tos vengono creati nella modalità From-To del pannello PCB facendo clic sul pulsante Generate per crearli in base a una topologia, oppure selezionando due pad in una net e poi facendo clic sul pulsante Add From To.
  • xSignal – un insieme di nodi definito dall’utente, tipicamente un sottoinsieme di una net (da questo nodo a quel nodo), oppure una combinazione di due net che includono un componente in serie, come una resistenza di terminazione.

## Grazie a Robert Feranec della FEDEVEL Academy (www.fedevel.com) per l’uso della scheda di sviluppo iMX6 Rex nelle immagini di questa pagina (http://www.imx6rex.com/).

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

Le funzionalità disponibili dipendono dalla soluzione Altium in uso – Altium Develop, un’edizione di Altium Agile (Agile Teams o Agile Enterprise), oppure Altium Designer (con licenza attiva).

Se non vedi nel tuo software una funzionalità descritta,  contatta il team 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.

Contenuto