Ensuring PCB Readiness for Specctra-compatible Routers
Lo Specctra Exporter di Altium Designer offre la traduzione di regole di progettazione per larghezza e clearance formattate in modo specifico, consentendo una transizione più fluida e maggior successo nell'uso di prodotti di routing compatibili con Specctra insieme ad Altium Designer.
Contesto
Le regole di progettazione di Specctra e quelle di Altium Designer sono piuttosto diverse, sia per natura sia per implementazione. Le seguenti differenze concettuali introducono la sfida di trasferire con successo un progetto da Altium Designer a Specctra:
-
Specctra ha una gerarchia di ambito fissa (hard-coded), che determina anche l'ordine in cui le regole vengono applicate (ad esempio, le regole a livello Net vengono sempre applicate prima delle regole Net Class). Altium Designer dispone di un sistema di regole più potente e flessibile. Né la precedenza (priorità) né l'ambito sono fissi. Puoi definire liberamente l'ambito di una regola usando espressioni, quindi impostarne la priorità secondo necessità. Potresti quindi avere una regola con ambito Net Class eseguita prima di regole con ambito Net.
-
In Specctra, si può considerare che un ambito abbia regole associate: una raccolta di regole è applicabile a un'istanza di quell'ambito. In Altium Designer, non è così. A parte l'ambito predefinito "All", tutti gli altri ambiti in tutte le regole definite per un progetto potrebbero essere diversi.
-
Le regole di Specctra possono essere valutate come attributo a livello di primitive; per esempio, una track nella net A richiede una clearance di 8mil rispetto a tutti gli altri oggetti. Alcune regole di Altium Designer (in particolare le regole binarie) non possono mai essere valutate come attributo a livello di primitive. Per esempio, la clearance tra track nelle net A e B può essere diversa dalla clearance applicabile tra track nelle net A e C, con il risultato che non esiste un unico valore unificato per le track nella net A.
In sintesi, si può ragionevolmente affermare che il sistema di ambiti di Altium Designer è più espressivo del sistema di regole di Specctra e, in generale, è un superset del sistema di ambiti di Specctra.
Definizione delle regole in Altium Designer
Se prevedi di eseguire il routing del tuo progetto PCB di Altium Designer usando Specctra, è fortemente consigliato seguire la gerarchia degli ambiti di Specctra, per massimizzare la correttezza della traduzione e i risultati del routing. La tabella seguente fornisce una linea guida per la definizione delle regole. Riassume i vari ambiti fissi sul lato Specctra e, dove supportato dall'exporter, l'ambito richiesto sul lato Altium Designer, insieme alla priorità. Queste "mappature", se vuoi chiamarle così, mirano a rendere più lineare il processo di esportazione delle regole ed evitare la necessità di creare manualmente le regole richieste, dopo l'esportazione, sul lato Specctra.
|
Ambito Specctra
|
Ambito Altium Designer
|
Priorità in Altium Designer
|
|
|---|---|---|---|
|
Query del 1° oggetto
|
Query del 2° oggetto
|
||
| Progetto PCB | All | All |
12
|
| Layer | OnLayer('LayerName') | All |
11
|
| Net Class | InNetClass('NetClassName') | All |
10
|
| Net Class su Layer | InNetClass('NetClassName') And OnLayer('LayerName') | All |
9
|
| Group Set |
Non supportato in Altium Designer
|
||
| Group Set su Layer |
Non supportato in Altium Designer
|
||
| Net | InNet('NetName') | All |
8
|
| Net su Layer | InNet('NetName') And OnLayer('LayerName') | All |
7
|
| Group | Emulato usando From To Class: InFromToClass('FromToClassName') |
All |
6
|
| Group su Layer | Emulato usando From To Class: InFromToClass('FromToClassName') And OnLayer('LayerName') |
All |
5
|
| FromTo | InFromTo('NetName (FromPad : ToPad)') | All |
4
|
| FromTo su Layer | InFromTo(NetName (FromPad : ToPad)') And OnLayer('LayerName') | All |
3
|
| Class vs. Class | InNetClass - InNetClassattualmente non supportato dall'Exporter |
2
|
|
| Class vs. Class su Layer |
Attualmente non supportato dall'Exporter
|
||
| Padstack |
Non supportato in Altium Designer
|
||
| Region | WithinRoom('RoomName') | WithinRoom('RoomName') |
1
|
| Net Class in Region |
Attualmente non supportato dall'Exporter
|
||
| Net in Region |
Attualmente non supportato dall'Exporter
|
||
| Class vs. Class in Region |
Attualmente non supportato dall'Exporter
|
||
Note
-
È possibile combinare più espressioni all'interno di una singola regola di Altium Designer usando l'operatore
OR, riducendo così il numero complessivo di regole nel progetto. Per esempio:
-
InNet('N1') OR InNet('N2') OR InNet('N3')– rendendo la regola applicabile a una qualsiasi delle netN1,N2oN3. -
OnLayer('L1') OR OnLayer('L2')– rendendo la regola applicabile a un oggetto sul layerL1oppure sul layerL2.
-
-
Per la priorità delle regole in Altium Designer,
1è la priorità più alta e verrà applicata per prima.
Modificatori di ambito basati sulle primitive
Le seguenti espressioni sono supportate come modificatori di ambito:
-
IsPad -
IsThruPin -
IsSMDPad -
IsVia -
IsTrack -
IsFill -
IsPolyRegion -
IsTestPoint -
TestPoint
Questi modificatori sono utili per una regola di clearance, quando potresti voler definire valori di clearance diversi tra, per esempio, via e pad, rispetto a via e track. I seguenti ambiti di esempio mostrano come questi modificatori possono essere usati nelle definizioni delle regole di clearance:
-
Clearance pad-via per la net N1:
InNet('N1') AND IsVia vs IsPad
-
Clearance track-track sul top layer per la net N1:
InNet('N1') AND IsTrack vs IsTrack AND OnTopLayer
Alias di ambito
Come nelle lingue parlate, quando si definiscono gli ambiti delle regole, spesso è possibile ottenere lo stesso significato in modi diversi. I seguenti alias sono supportati per gli ambiti basati sui layer:
-
OnTopoOnTopLayer– alias diOnLayer('TopLayerName')
-
OnBottomoOnBottomLayer– alias diOnLayer('BottomLayerName')
-
OnMid– alias usato per i layer Mid Layer 1 fino a Mid Layer 30 (cioè i layer di segnale esclusi top e bottom)
-
OnSignal– alias usato per tutti i layer di segnale
-
TestPointeIsTestPointsono alias reciproci.
Importare un progetto Specctra
Per importare un progetto Specctra nel documento PCB attivo di Altium Designer, seleziona il comando File » Import » Specctra Design dai menu principali dell'editor PCB. Si aprirà la finestra di dialogo Import File, dalla quale potrai cercare e selezionare il file di progetto Specctra richiesto.
Esportare un PCB nel formato file di progetto Specctra
Un documento PCB di Altium Designer può essere esportato nel formato file di progetto Specctra. In un file Outputjob file, fai clic su [Add New Export Output] e seleziona una voce nel menu Specctra Design PCB . Gli output di esportazione possono quindi essere generati direttamente dal file oppure come parte del processo di Project Release.
In alternativa, seleziona il comando File » Export » Specctra Design dai menu principali dell'editor PCB di Altium Designer.
Sia che l'esportazione venga eseguita come parte di un file OutJob, sia direttamente dal menu File, potrai configurare le opzioni di esportazione nella relativa finestra di dialogo Setup Specctra Router .