Definizione, ambito e gestione delle regole di progettazione PCB
Altium Essentials: PCB Design Rules Creation
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
L'Editor PCB utilizza il concetto di Regole di Progettazione per definire i requisiti di un progetto. I requisiti di progettazione vengono applicati utilizzando un elegante approccio target these objects and apply those requirements - . Le regole di progettazione formano collettivamente un "set di istruzioni" che l'editor PCB deve seguire. Coprono ogni aspetto del progetto, dalle larghezze di instradamento, alle distanze di isolamento, agli stili di connessione ai piani, agli stili delle vie di routing, ecc.; molte delle regole possono essere monitorate in tempo reale dal Design Rule Checker (DRC) online, ed è anche possibile eseguire in qualsiasi momento un test batch per generare un report DRC. Le regole sono definite indipendentemente dagli oggetti.
Le regole di progettazione sono destinate a oggetti specifici e vengono applicate in modo gerarchico; ad esempio, esiste una regola di clearance per l'intera scheda, poi magari una regola di clearance per una classe di net e poi forse un'altra per uno dei pad in una classe. Utilizzando la priorità della regola e il suo ambito, l'editor PCB può determinare quale regola si applica a ciascun oggetto del progetto.
Una regola individua gli oggetti utilizzando un query language basato su parole chiave, che può spaziare da identificatori generici, come NetClass o All, fino a una query strettamente definita che individua con precisione un requisito di progettazione complesso e specifico della situazione.
Con un insieme ben definito di regole di progettazione, puoi completare con successo progetti di schede con requisiti di progettazione variabili e spesso rigorosi. Inoltre, poiché l'Editor PCB è guidato dalle regole, dedicare tempo alla configurazione delle regole all'inizio del progetto ti consentirà di procedere efficacemente con il lavoro di progettazione, con la tranquillità di sapere che il sistema di regole sta lavorando intensamente per garantire il successo.
Fondamenti del sistema di regole PCB
Il sistema di regole integrato nell'editor PCB del software presenta diverse caratteristiche fondamentali che lo distinguono dalla maggior parte degli altri sistemi di regole di progettazione utilizzati in altri ambienti di editing PCB:
-
Rules are separate from the objects – una regola non viene aggiunta come attributo di un oggetto, ma piuttosto all'elenco generale delle regole e quindi delimitata nel proprio ambito per applicarsi a quell'oggetto. Questo consente di applicare regole a più oggetti e di modificarle o applicarle a oggetti diversi, cosa che altrimenti sarebbe onerosa se si dovessero cambiare gli attributi della regola a livello del singolo oggetto.
-
Rules are targeted (scoped) by writing a query – invece di utilizzare un insieme di ambiti regola fissi e predefiniti, viene usato un sistema di query flessibile per definire gli oggetti a cui si applica una regola. Questo offre un controllo preciso sul target di ciascuna regola di progettazione.
-
Rules for any design situation – è possibile definire più regole dello stesso tipo e destinarle a insiemi diversi di oggetti, consentendo un controllo completo sulla definizione dei vincoli della scheda. Ad esempio, è possibile definire regole di larghezza differenti per instradare le net con larghezze diverse su layer differenti.
-
Each rule has a priority – qualsiasi oggetto di progettazione può essere interessato da più regole dello stesso tipo, per gestire situazioni generali e più specifiche. Per risolvere eventuali conflitti tra regole, viene utilizzata la priorità della regola. Il sistema scorre semplicemente le regole dalla priorità più alta alla più bassa e seleziona la prima le cui espressioni di ambito corrispondono all'oggetto o agli oggetti in verifica.
-
There are two types of rules – regole unarie (regole che definiscono il comportamento richiesto di un oggetto) e regole binarie (regole che definiscono l'interazione tra due oggetti).
Le regole di progettazione in Altium Designer sono definite e gestite dalla finestra di dialogo PCB Rules and Constraints Editor come descritto in questa pagina. Come approccio alternativo per gestire le regole dei vincoli di progettazione, è possibile utilizzare il Constraints Editor basato su documento (scheda documento [Constraints]).
Definizione e gestione delle regole di progettazione
La finestra di dialogo PCB Rules and Constraints Editor si apre scegliendo il comando Design » Rules dai menu principali.
La finestra di dialogo PCB Rules and Constraints Editor ha due sezioni:
-
L'albero a sinistra elenca le diverse categorie di regole. Espandi una categoria per visualizzare i singoli tipi di regole disponibili. Espandi un tipo di regola per visualizzare tutte le regole di quel tipo attualmente definite.
Per ulteriori informazioni sui tipi di regole disponibili e sui relativi vincoli, consulta la pagina PCB Design Rule Types e le sue sottopagine.
-
Il lato destro della finestra di dialogo presenta informazioni in relazione a ciò che è attualmente selezionato nell'albero: o un riepilogo delle regole definite del tipo di regola o della categoria selezionata, tutte le regole definite per l'intero sistema oppure, se è selezionata una regola effettiva, i vincoli di quella regola.
-
Fai clic sulla cartella radice per accedere, nell'area principale di modifica della finestra di dialogo, a un elenco riepilogativo di tutte le regole specifiche che sono state definite per tutti i tipi di regole di progettazione in tutte le categorie.
-
Fai clic su una cartella di categoria per accedere a un elenco riepilogativo di tutte le regole specifiche che sono state definite per tutti i tipi di regole di progettazione associati a quella categoria.
-
Fai clic su una cartella di tipo di regola per accedere a un elenco riepilogativo di tutte le regole specifiche definite per quel tipo.
In un elenco riepilogativo, ogni regola è riportata in termini di quanto segue:
-
Name - il nome della regola.
-
Priority - la priorità corrente della regola.
-
Enabled - se la regola è attualmente abilitata o disabilitata (fai clic per alternare questo stato). Una regola disabilitata apparirà in grigio in un elenco riepilogativo.
-
Type - il tipo di regola.
-
Category - la categoria di regole a cui appartiene.
-
Scope - l'ambito della regola (cioè a quale/i oggetto/i si applica).
-
Attributes - gli attributi di vincolo definiti per la regola.
Fai clic sulla voce di una regola specifica nel riquadro dell'albero delle cartelle (oppure fai doppio clic sulla sua voce in un elenco riepilogativo) per accedere ai controlli per gestirne la definizione:
-
Name - il nome corrente della regola. Può essere modificato secondo necessità.
-
Comment - questo campo visualizza qualsiasi commento aggiunto alla regola, ad esempio una descrizione significativa dell'uso previsto della regola.
-
Unique ID - l'identificatore univoco della regola. Ogni regola è essa stessa un oggetto di progettazione e quindi un elemento di dati concreto. L'uso di un ID ne garantisce l'unicità. Dove l'ID univoco entra davvero in gioco è nel caso di una regola creata all'interno del dominio schematico. Quando si aggiungono parametri di regola di progettazione agli oggetti in uno schema, viene assegnato un ID univoco a ciascun parametro di regola. Gli stessi ID vengono assegnati alle corrispondenti regole di progettazione create nel PCB. Con questo ID univoco, i vincoli di una regola possono essere modificati sia dal lato schematico sia dal lato PCB e le modifiche possono essere propagate al momento della sincronizzazione.
-
Test Queries - fai clic per aprire la finestra di dialogo Test Queries Result dialog che mostra il numero di oggetti interessati dalla regola, tenendo conto delle specializzazioni della regola che hai definito. Questo ti consente di vedere se ci sono oggetti che rispondono alla query e anche di verificare che l'insieme di oggetti interessati dai filtri e dalle regole sia quello desiderato.
-
Rule Scoping Controls - questa area fornisce i controlli per determinare l'ambito della regola in termini degli oggetti a cui si applica o tra cui si applica.
-
Constraints - questa area della finestra di dialogo presenta i vincoli applicabili al tipo di regola in modifica. Usa i vari controlli per configurare questi vincoli secondo necessità. Premi F1 sopra l'area dei vincoli per accedere a una pagina relativa a quel tipo di regola, nell'area PCB Design Rule Types della documentazione.
-

La finestra di dialogo PCB Rules and Constraints Editor – il centro di comando per la gestione delle regole di progettazione.
Esaminare le regole di progettazione
La nuova scheda predefinita creata dal software includerà regole che non sono necessarie in ogni progetto, e molte altre regole di progettazione dovranno essere adattate ai requisiti del tuo progetto. Per questo motivo, è molto importante esaminare le regole di progettazione. Questo può essere fatto nel PCB Rules and Constraints Editor. Seleziona Design Rules nella parte superiore dell'albero a sinistra, quindi scorri la colonna Attributes per tutte le regole e individua rapidamente quelle i cui valori devono essere regolati.
Quando crei una nuova scheda, questa includerà regole di progettazione predefinite che potrebbero non essere necessarie per il tuo progetto. Le regole ridondanti possono essere disabilitate facendo clic sulla voce Design Rules o su una voce di categoria specifica nel PCB Rules and Constraints Editor e disabilitando le regole (deseleziona le caselle di controllo nella colonna Enabled).
La scheda predefinita utilizza anche unità imperiali. Se la tua scheda usa il sistema metrico, molti valori delle regole, come l'espansione della solder mask, cambieranno da valori arrotondati come 4mil a 0,102 mm, oppure il valore predefinito Minimum Solder Mask Sliver cambierà da 10mil a 0,254 mm. Sebbene quella cifra meno significativa, ad esempio 0,002 mm, sia irrilevante quando si tratta della generazione dell'output, puoi modificare queste impostazioni nelle regole di progettazione se la cosa ti disturba.

Durante la revisione delle regole di progettazione, tieni presente che l'ordine delle colonne può essere modificato se necessario.
Regole di progettazione predefinite
Quando viene creato un nuovo documento PCB, esso include un certo numero di regole predefinite, che devono esistere per il corretto funzionamento del sistema Design Rule Check. Se una regola predefinita viene eliminata, viene automaticamente ricreata quando il PCB Rules and Constraints Editor viene chiuso. Se ci sono regole di progettazione che non desideri utilizzare, l'approccio corretto per gestirle è disabilitarle.
Per disabilitare una regola, attiva/disattiva la corrispondente opzione Enable per quella regola in uno degli elenchi riepilogativi sul lato destro della finestra di dialogo PCB Rules and Constraints Editor. Una regola disabilitata appare "in grigio". Scopri di più sulla disabilitazione delle regole di progettazione.
Usa l'opzione Enable per disabilitare una regola che non ti serve. Una regola disabilitata appare "in grigio".
Creazione di una nuova regola
Per aggiungere una nuova regola di progettazione dalla finestra di dialogo PCB Rules and Constraints Editor, vai al tipo di regola richiesto nell'albero a sinistra e selezionalo, quindi fai clic sul pulsante New Rule sotto l'elenco riepilogativo delle regole, oppure fai clic con il pulsante destro sul tipo di regola richiesto e poi seleziona New Rule dal menu contestuale.
La nuova regola verrà aggiunta all'albero delle cartelle e apparirà anche nell'elenco riepilogativo per quel tipo di regola. Il nome della regola apparirà in grassetto per distinguerla come nuova e non ancora "applicata".

Esempio di creazione di una nuova regola di progettazione PCB.
Per accedere agli attributi di ambito e di vincolo della regola, fai clic sulla voce della regola nel riquadro dell'albero delle cartelle oppure fai doppio clic sulla sua voce in un elenco riepilogativo. La finestra principale di modifica della finestra di dialogo cambierà per fornire accesso ai controlli per definire gli attributi di ambito e di vincolo per quella regola.

Accesso ai controlli dettagliati della regola, inclusi ambito e vincoli.
Per definire completamente la nuova regola:
- Assegna alla regola un nome significativo per renderla identificabile.
- Definisci l'ambito della regola selezionando le opzioni di ambito dai menu a discesa, oppure inserendo una query (o query, nel caso di una regola binaria).
- Imposta i vincoli della regola.
- Imposta la priorità della regola.
Uso del Rule Wizard per creare una nuova regola
Una nuova regola può essere creata anche utilizzando il Design Rule Wizard. È possibile accedervi direttamente tramite il comando Design » Rule Wizard oppure facendo clic sul pulsante Rule Wizard nella parte inferiore della finestra di dialogo PCB Rules and Constraints Editor.
Usa le pagine del Wizard per creare una nuova regola di progettazione. I passaggi sono:
- Scegli il tipo di regola richiesto e assegnagli un nome significativo (e un commento, se necessario).
- Definisci l'ambito della regola. Avrai l'opportunità di perfezionare ulteriormente l'ambito tramite una versione del Query Builder integrata nel Wizard.
- Imposta la priorità della regola.

Usa il Design Rule Wizard per semplificare la creazione delle regole.
Duplicazione di una regola esistente
Per creare rapidamente una copia identica di una regola esistente, usa la funzione di duplicazione. Questa funzione è accessibile in due modi:
-
Usa l'albero a sinistra per passare alla regola esistente richiesta, fai clic con il pulsante destro e poi scegli Duplicate Rule dal menu contestuale.
-
Vai al tipo di regola specifico nell'albero a sinistra, seleziona la regola da duplicare nell'elenco riepilogativo a destra, quindi fai clic sul pulsante Duplicate Rule sotto l'elenco.

Semplifica la creazione di regole simili usando la funzione di duplicazione delle regole.
La regola duplicata avrà lo stesso nome dell'originale, con l'aggiunta di un suffisso (ad esempio, _1) per distinguerla. La sua definizione (ambito, vincoli, ecc.) sarà identica a quella dell'originale. In termini di priorità, le verrà assegnata la priorità immediatamente inferiore rispetto a quella della regola originale. Quindi, ad esempio, se la regola originale ha priorità 1, alla duplicata verrà assegnata la priorità 2.
Creazione di una regola dal pannello PCB Filter
Poiché una regola di progettazione viene delimitata per applicarsi a un insieme target di oggetti di progettazione, può essere più semplice (e più veloce) identificare prima tali oggetti e poi creare una regola di progettazione che li interessi. Il PCB Filter panel offre la possibilità di creare una regola di progettazione il cui ambito utilizza l'espressione di query attualmente definita nel pannello. Quindi, invece di faticare a visualizzare cosa l'espressione di query might dovrebbe individuare, usa il pannello PCB Filter per testare e perfezionare un'espressione di query finché non vengono filtrati solo gli oggetti richiesti. Creando poi una regola che utilizza tale espressione di query, hai la garanzia di indirizzare il corretto insieme di oggetti.
Per aggiungere una nuova regola di progettazione:
- Fai clic sul pulsante Create Rule. Apparirà la finestra di dialogo Choose Design Rule Type. Questa finestra di dialogo elenca ciascuna delle categorie di regole e dei tipi di regole disponibili nel documento PCB.
- Scegli il tipo di regola da creare, quindi fai clic su OK (oppure fai doppio clic direttamente sulla voce).
- Apparirà la finestra di dialogo PCB Rules and Constraints Editor. Viene creata una regola del tipo scelto e viene visualizzata la finestra principale di modifica della regola, pronta per definire vincoli specifici per la regola. L'opzione di ambito della regola è impostata su Custom Query e l'espressione di query dal pannello PCB Filter viene inserita di conseguenza nell'area della query.
- Apporta le modifiche necessarie al nome e ai vincoli della regola. Modifica anche la sua priorità, se necessario (per impostazione predefinita le verrà assegnata la priorità più alta).

Crea una nuova regola di progettazione direttamente dal pannello PCB Filter – l'espressione di query del filtro viene usata come ambito della regola.
Riutilizzo delle espressioni di query precedenti
Nel tempo, verranno create numerose espressioni di query utili durante il layout di varie schede. In genere, si desidera applicare e riapplicare le stesse query, non solo nello stesso progetto ma anche in progetti diversi. Per consentire ciò, il PCB Filter panel supporta i concetti di Historical e Favorite query.
Quando una query viene immessa e applicata dal pannello, viene aggiunta a un elenco cronologico delle query. Inoltre, tale query può essere aggiunta a un elenco delle query preferite facendo clic sul pulsante Add To Favorites. Utilizzare i pulsanti History e Favorites nel pannello per accedere alle schede corrispondenti con lo stesso nome all'interno della finestra di dialogo Expression Manager dialog per visualizzare questi elenchi.

Accedi alla cronologia delle espressioni di query applicate e crea un elenco di espressioni preferite da riutilizzare più volte.
Per usare un'espressione in uno dei due elenchi, fare doppio clic sulla relativa voce oppure selezionarla e fare clic sul pulsante Apply Expression. La finestra di dialogo Expression Manager si chiuderà e l'espressione verrà caricata nell'area Filter del pannello PCB Filter.
Questa funzionalità semplifica (e accelera) la creazione di regole con lo scope richiesto: recupera un'espressione di query dalla cronologia o dai preferiti, verifica che continui a indirizzare l'insieme di oggetti richiesto (applica il filtro) e quindi crea una regola che utilizzi tale espressione nel proprio scope, come descritto nella sezione precedente.
Definizione dello scope di una regola di progettazione
L'editor PCB di Altium Designer è un ambiente guidato da regole. I requisiti di progettazione vengono applicati tramite un insieme ben definito di regole di progettazione che, nel loro complesso, definiscono i vincoli per la scheda. Le regole di progettazione si applicano a oggetti specifici all'interno di un progetto. Affinché il sistema di regole PCB sappia a quali oggetti si applica una determinata regola, deve conoscerne lo scope, cioè l'estensione della sua applicazione. Scoping, ovvero l'indirizzamento della regola, viene eseguito nella finestra di dialogo PCB Rules and Constraints Editor.
Le regole di progettazione predefinite, o una nuova regola aggiunta, avranno lo scope predefinito della regola impostato su All, il che significa che verrà applicata a all objects sulla scheda. Utilizzando il menu a discesa, è possibile configurare rapidamente un semplice scope della regola.

Imposta lo scope di una regola di progettazione per definirne l'applicazione agli oggetti di progetto.
Invece di essere limitata a un elenco predefinito di possibili opzioni di destinazione, ogni regola di progettazione può essere definita con maggiore precisione scrivendo quella che viene chiamata una Query.
Per immettere una query, imposta il primo menu a discesa Where The Object Matches su Custom Query. Verrà visualizzata la query attualmente utilizzata dal motore di regole per questa regola in base alle impostazioni correnti dei menu a discesa.
Una query è essenzialmente un'istruzione al software che definisce l'insieme di oggetti di progetto da indirizzare. Le query vengono scritte utilizzando parole chiave di query. Allo stesso modo in cui una query può essere scritta in un pannello Filter per trovare uno specifico insieme di oggetti, una query può anche essere scritta per definire gli oggetti a cui si applica ciascuna regola. Un esempio potrebbe essere:
InNet('VBAT') And OnLayer('Bottom Layer')
Se questa query venisse utilizzata come scope per una regola Width rule, ogni volta che si instrada la net VBAT e si passa al layer inferiore, la larghezza della traccia cambierebbe automaticamente in quella specificata come parte dei vincoli di tale regola. Inoltre, eseguendo un controllo delle regole di progettazione, qualsiasi instradamento della net VBAT sul layer inferiore dovrebbe avere la larghezza specificata oppure verrebbe segnalato come violazione.

La definizione dello scope delle regole si basa sul sistema di query. Utilizza l'opzione Custom Query per visualizzare la query corrente e modificarla utilizzando le parole chiave di query, se necessario.
Opzioni di scope
Sono disponibili semplici opzioni di scope che consentono di generare rapidamente query di scope. Selezionare una delle opzioni dal primo campo del menu a discesa e, se necessario, utilizzare i menu a discesa successivi per selezionare la destinazione appropriata, ad esempio una Net, un Layer, un Footprint, un Package e così via. Le opzioni di scope presentate sono mirate in base al tipo di regola.

Crea rapidamente una query utilizzando le semplici opzioni di scope.
Gli esempi di semplici opzioni di scope sono:
-
All - genera una query di scope che si applica a tutti gli oggetti di progetto.
-
Net - genera una query di scope che si applica a tutti gli oggetti in una net specifica. Compare un ulteriore menu a discesa dal quale è possibile selezionare la net desiderata da un elenco di scelte disponibili, inclusa No Net.
-
Net Class - genera una query di scope che si applica a tutti gli oggetti in una specifica classe di net. Compare un ulteriore menu a discesa dal quale è possibile selezionare la classe di net desiderata da un elenco di scelte disponibili, inclusa All Nets.
-
Layer - genera una query di scope che si applica a tutti gli oggetti su un layer specifico. Compare un ulteriore menu a discesa dal quale è possibile selezionare il layer desiderato da un elenco di scelte disponibili.
-
Net and Layer - genera una query di scope che si applica a tutti gli oggetti in una net specifica e su un layer specifico. Compaiono due ulteriori menu a discesa dai quali è possibile selezionare la net e il layer desiderati.
L'opzione Custom Query consente di scrivere una propria query, forse più complessa ma anche più specifica. È possibile digitare direttamente nell'area della query a destra una query specifica per lo scope della regola. In alternativa, sono disponibili due funzioni che aiutano nella creazione di espressioni di query logiche. Si tratta di Query Builder e Query Helper. Possono essere utili quando non si è sicuri della sintassi di una query o delle parole chiave disponibili.

Usa l'opzione Custom Query per creare un'espressione di query più complessa.
Definizione dello scope di una regola con Query Builder
Quando è selezionata l'opzione Custom Query, fare clic sul pulsante
per aprire la finestra di dialogo Building Query from Board dialog, che consente di creare una query per indirizzare oggetti specifici nel documento di progetto tramite la semplice costruzione di una stringa di istruzioni condizionali.
La sezione sinistra della finestra di dialogo viene utilizzata per specificare le condizioni necessarie a indirizzare l'insieme di oggetti richiesto. Ogni condizione è costituita da un Condition Type e un Condition Value. I campi a menu a discesa per questi elementi vengono popolati con voci pertinenti alla costruzione di uno scope per il tipo di regola corrente e con i valori per il tipo di condizione scelto, rispettivamente.
Man mano che una condizione viene definita, nella sezione destra della finestra di dialogo viene mostrata un'anteprima della query attualmente costruita. Le condizioni possono essere combinate con AND e/o OR, e può anche essere incorporata la precedenza (tramite l'uso di parentesi/rientri) per affinare l'insieme di oggetti di destinazione. Quando l'espressione della query è stata definita come richiesto, facendo clic su OK l'espressione verrà caricata nell'area della query della finestra di dialogo PCB Rules and Constraints Editor.

Usare il Query Builder per costruire un'espressione di query logica tramite una serie di istruzioni condizionali.
Definizione dello scope di una regola con Query Helper
Quando è selezionata l'opzione Custom Query, fare clic sul pulsante
per accedere alla finestra di dialogo Query Helper dialog. Il Query Engine sottostante analizza il progetto PCB ed elenca tutti gli oggetti disponibili, insieme alle parole chiave generiche da utilizzare nelle query.
L'utilizzo di Query Helper è piuttosto intuitivo, e lo diventa ancora di più se lo si suddivide in tre aree distinte come mostrato nell'immagine seguente:

Esempio di query complessa definita utilizzando il Query Helper.
Queste aree sono:
- Query Region – utilizzare quest'area della finestra di dialogo per comporre un'espressione di query. L'espressione attualmente in vigore per lo scope della regola sarà disponibile in quest'area, per impostazione predefinita, quando si accede alla finestra di dialogo. È possibile digitare direttamente nell'area; come supporto apparirà un elenco contestuale di possibili parole chiave o oggetti.
- Operators – quest'area della finestra di dialogo fornisce una serie di operatori matematici e logici da utilizzare durante la costruzione di un'espressione. Fare clic su un pulsante per aggiungere tale operatore nella posizione corrente del cursore all'interno dell'espressione di query nell'area Query sopra.
- Categories, Keywords and Objects – quest'area della finestra di dialogo consente l'accesso alle funzioni PCB disponibili, agli elenchi di oggetti PCB e alle funzioni di sistema, che possono essere utilizzati per creare l'espressione di query. Facendo clic su una sottocategoria all'interno di ciascuna di queste tre aree verrà visualizzato un elenco delle corrispondenti parole chiave o oggetti nell'area a destra. Individuare la parola chiave o l'oggetto da utilizzare nella stringa di query e quindi fare doppio clic sulla relativa voce; la voce verrà inserita nella posizione corrente del cursore all'interno dell'espressione di query nell'area Query sopra.
Usare il pulsante
(in basso a sinistra nella finestra di dialogo) per verificare che un'espressione sia sintatticamente corretta. Quando l'espressione per la query è stata definita come richiesto, facendo clic su OK l'espressione verrà caricata nell'area della query della finestra di dialogo PCB Rules and Constraints Editor.
Precedenza degli operatori nelle espressioni di query
Prima di lasciare quest'area, vale la pena dare uno sguardo all'ordine di precedenza in vigore per gli operatori utilizzati nelle espressioni di Query logiche. Dopotutto, senza tale conoscenza, un'espressione potrebbe non indirizzare gli oggetti richiesti.
Le parentesi hanno la precedenza più alta all'interno di un ordine di precedenza definito per i vari operatori, e che determina come le query vengono interpretate dal software (ogni volta che l'utente non ha fornito parentesi). La sequenza di questo ordine, dal più alto al più basso, è la seguente:
- Parentesi
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
Prioritizzazione delle regole
Per semplificare il processo di definizione e gestione delle regole, l'idea è definire regole generali che coprano requisiti ampi e poi sovrascriverle con regole specifiche in situazioni specifiche. Perché ciò sia possibile, è necessario poter assegnare una priorità alle regole in modo da indicare quale utilizzare quando un oggetto è interessato da più regole dello stesso tipo.
Ad esempio, per specificare la larghezza di instradamento più comunemente utilizzata sulla scheda, definire una singola regola che si applichi a ogni net della scheda. Questa regola può quindi essere sovrascritta per una net specifica (o per una classe di net, se è per questo) aggiungendo un'altra regola dello stesso tipo, ma con priorità più alta.
Un altro esempio potrebbe riguardare i requisiti della solder mask. In questo caso si definirebbe una regola di mask che si applica a ogni pad e via sulla scheda, che potrebbe poi essere sovrascritta per i pad in uno specifico tipo di footprint. Questa regola specifica per footprint potrebbe essere ulteriormente sovrascritta per un pad specifico in quel footprint, se necessario.
Un aspetto importante della gestione delle regole è assicurarsi che tutte le priorità siano impostate correttamente. Quando viene creata una nuova regola, per impostazione predefinita viene assegnata la priorità più alta. Utilizzare il pulsante Priorities nella parte inferiore della finestra di dialogo PCB Rules and Constraints Editor per configurare le priorità nella finestra di dialogo Edit Rule Priorities.

Modificare le priorità delle regole nella finestra di dialogo Edit Rule Priorities.
Inizialmente, la finestra di dialogo elencherà tutte le istanze di regola per il tipo di regola attualmente selezionato nella finestra di dialogo PCB Rules and Constraints Editor. Utilizzare il campo Rule Type per cambiare il tipo di regola ed elencare le regole specifiche definite per quel tipo. Le regole definite sono elencate in ordine di priorità corrente, da 1 (priorità più alta) in giù. Selezionare una voce di regola e utilizzare i pulsanti Increase Priority e Decrease Priority per spostarla rispettivamente verso l'alto o verso il basso nell'ordine di priorità.
Modifica delle regole esistenti
Naturalmente, le regole possono essere modificate in qualsiasi momento. In effetti, per arrivare all'insieme finale di regole funzionanti spesso sono necessari alcuni perfezionamenti chiave qua e là. In genere ciò comporta la definizione dello scope per garantire che gli oggetti di progetto di destinazione vengano "intercettati" dalle rispettive regole come richiesto. Selezionare una regola esistente nella finestra di dialogo PCB Rules and Constraints Editor e apportare le modifiche necessarie ai relativi attributi di scope e vincolo.
Le modifiche apportate alle definizioni di regole esistenti vengono evidenziate sia nel riquadro dell'albero delle cartelle sia negli elenchi di riepilogo applicabili. Tali voci si distinguono perché il nome della regola diventa in grassetto e viene visualizzato un asterisco a destra del nome. L'asterisco viene utilizzato per indicare che la regola è una regola esistente che è stata modificata, anziché una regola appena creata (che viene visualizzata in grassetto senza asterisco).

Esempio di una regola esistente che è stata modificata. Un asterisco viene utilizzato per segnalare la modifica, insieme al nome della regola in grassetto.
Segnalazione delle regole non valide
Se il sistema rileva che una regola non è valida, ad esempio perché presenta un problema con l'espressione di query dello scope o un valore di vincolo non consentito, essa verrà contrassegnata come non valida. Tale regola verrà evidenziata in rosso all'interno della finestra di dialogo PCB Rules and Constraints Editor, sia nell'albero delle regole a sinistra, sia in qualsiasi vista di riepilogo (categoria di regola o tipo di regola) in cui la regola appare. Inoltre, anche il testo relativo al tipo di regola e alla categoria di regola viene mostrato in rosso all'interno dell'albero delle regole a sinistra. Quindi, se è stata compressa un'area dell'albero delle regole che contiene una regola non valida, si verrà comunque avvisati a un livello più alto della gerarchia. Apparirà anche un messaggio di avviso se si tenta di chiudere la finestra di dialogo.
Uno scope di regola che presenta un errore di sintassi può rallentare notevolmente l'analisi DRC Online e Batch, quindi assicurarsi di risolvere tutti gli scope delle regole che non sono sintatticamente corretti.

Un esempio del sistema che segnala una regola di progettazione non valida, in questo caso un'espressione di query dello scope errata.
Disattivazione delle regole
Nel contesto guidato da regole dell'editor PCB del software, non è raro costruire un insieme di regole piuttosto ampio e completo per vincolare correttamente le schede. Per qualsiasi motivo, durante il lavoro potresti voler disabilitare alcune regole; forse non sono applicabili alla scheda in questione oppure devono essere disattivate temporaneamente per alleggerire il carico del Design Rule Checker (e di conseguenza migliorarne le prestazioni!). La disabilitazione è un buon modo per conservare tali regole nel caso in cui servano di nuovo in futuro.
Per disabilitare una regola, attiva/disattiva l'opzione Enable corrispondente per quella regola in uno dei relativi elenchi riepilogativi sul lato destro della finestra di dialogo PCB Rules and Constraints Editor. Una regola disabilitata apparirà anche in grigio.

Esempio di regole disabilitate, visualizzate in grigio all'interno di un elenco riepilogativo.
Eliminazione delle regole
Per eliminare una singola regola di progettazione dalla finestra di dialogo PCB Rules and Constraints Editor:
- Usa l'albero a sinistra per passare alla regola esistente desiderata, fai clic con il pulsante destro del mouse e quindi scegli Delete Rule dal menu contestuale.
- Vai al tipo di regola specifico nell'albero a sinistra, quindi seleziona la regola da eliminare nell'elenco riepilogativo a destra. Quindi fai clic sul pulsante Delete Rule(s) sotto l'elenco.
Il nome della regola apparirà in grassetto con barratura per distinguerla come eliminazione non ancora 'applicata'.

Eliminazione di una singola regola.
Molti tipi di regole hanno regole predefinite create quando viene creato un nuovo documento PCB. In modo simile, se vengono eliminate tutte le regole specifiche per uno di quei tipi di regola, la regola predefinita verrà aggiunta nuovamente automaticamente la volta successiva che si accede alla finestra di dialogo PCB Rules and Constraints Editor. In alternativa, le regole predefinite possono essere create di nuovo facendo clic sul pulsante Create Default Rules nella parte inferiore della finestra di dialogo.
Esportazione e importazione delle regole
Le regole di progettazione possono essere esportate da e importate nella finestra di dialogo PCB Rules and Constraints Editor. Questo consente di salvare e caricare definizioni di regole preferite tra diversi progetti.
-
To export – fai clic con il pulsante destro in qualsiasi punto dell'albero a sinistra della finestra di dialogo e seleziona Export Rules. Si apre la finestra di dialogo Choose Design Rule Type dialog in cui puoi scegliere le regole di progettazione da esportare. Nella finestra di dialogo Export Rules to File che si apre, puoi assegnare un nome al file .rul e scegliere la posizione. Le regole esportate vengono memorizzate in un file PCB Rule (
*.rul). -
To import – fai clic con il pulsante destro in qualsiasi punto dell'albero a sinistra della finestra di dialogo e seleziona Import Rules. Si apre la finestra di dialogo Choose Design Rule Type dialog in cui puoi scegliere le regole di progettazione da importare. Nella finestra di dialogo Import File che si apre, individua il file .rul da importare.
Report delle regole di progettazione
È possibile generare un report delle regole di progettazione attualmente definite dalla finestra di dialogo PCB Rules and Constraints Editor. Il report può includere tutte le categorie di regole, una categoria di regole specifica o un tipo di regola specifico, a seconda della voce selezionata nell'albero delle cartelle. Un report può essere generato:
- Accedendo all'elenco riepilogativo desiderato, facendo clic con il pulsante destro e scegliendo il comando Report dal menu contestuale, oppure facendo clic sul pulsante Report sotto l'elenco.
- Facendo clic con il pulsante destro sulla relativa voce nell'albero delle cartelle e scegliendo il comando Report dal menu contestuale.
Si aprirà la finestra di dialogo Report Preview con il report appropriato già caricato. Usa questa finestra di dialogo per esaminare il report usando vari controlli di pagina/zoom prima di esportarlo infine in un file o stamparlo.

Generare un report delle regole PCB.
Options and Controls of the Report Preview Dialog
- Preview Window - l'area principale di questa finestra di dialogo presenta l'anteprima del report generato. Il report può essere manipolato usando i vari controlli sotto la finestra e nel menu del clic destro.
- Page x of x - il primo x è la pagina corrente visualizzata; il secondo x è il numero totale di pagine nel report.
- All - fai clic su questo pulsante per dimensionare la pagina in modo che rientri nella finestra di anteprima disponibile. Quando ridimensioni la finestra di dialogo (e quindi la finestra di anteprima), la pagina verrà ridimensionata per rimanere completamente visibile.
- Width - fai clic su questo pulsante per dimensionare la pagina in modo che rientri nelle estensioni orizzontali della finestra di anteprima disponibile. Quando ridimensioni la finestra di dialogo (e quindi la finestra di anteprima), la pagina verrà ridimensionata per rimanere completamente visibile per tutta la sua larghezza.
- 100% - fai clic su questo pulsante per impostare la pagina alla dimensione reale (100%).
- % - usa questo campo per aumentare o ridurre lo zoom. La dimensione reale è 100%. Inserisci un valore più piccolo per vedere il report in scala ridotta. Inserisci un valore più grande per vedere il report ingrandito.
- Page Navigation Controls - questo gruppo di controlli fornisce collettivamente un altro modo per navigare tra le pagine del report. I controlli consentono di passare rispettivamente alla prima, precedente, successiva e ultima pagina del documento. In alternativa, puoi inserire direttamente il numero di pagina nella casella di testo e premere Enter.
-
Export - fai clic su questo pulsante per accedere alla finestra di dialogo Export Report From Project dove puoi salvare il report specificando posizione, nome e formato di esportazione. Sono supportati i seguenti formati:
- Foglio di lavoro Microsoft Excel (*.xls)
- Adobe PDF (*.pdf)
- Rich Text Format (RTF) (*.rtf)
- Pagina Web (*.htm, *.html)
- Livello Web (CSS) (*.htm, *.html)
- File immagine JPEG (*.jpg)
- File bitmap di Windows (*.bmp)
- File immagine TIFF (*.tif)
- Print - fai clic su questo pulsante per stampare il report. Verrà visualizzata la finestra di dialogo standard Print da cui puoi specificare l'intervallo di pagine e il numero di copie.
- Open Report - fai clic su questo pulsante per aprire un report generato nell'applicazione specificata in Export. Questo pulsante è disponibile solo dopo aver fatto clic sul pulsante Export .
Comandi del clic destro
Alcuni dei comandi sopra sono disponibili anche nel menu del clic destro, accessibile facendo clic con il pulsante destro in qualsiasi punto della finestra di dialogo:
-
Print - usa questo pulsante per stampare il report. Verrà visualizzata la finestra di dialogo standard Print da cui puoi specificare l'intervallo di pagine e il numero di copie.
-
Export - fai clic su questo pulsante per accedere alla finestra di dialogo Export Report From Project dove puoi salvare il report specificando posizione, nome e formato di esportazione. Sono supportati i seguenti formati:
-
Foglio di lavoro Microsoft Excel (*.xls)
-
Adobe PDF (*.pdf)
-
Rich Text Format (RTF) (*.rtf)
-
Pagina Web (*.htm, *.html)
-
Livello Web (CSS) (*.htm, *.html)
-
File immagine JPEG (*.jpg)
-
File bitmap di Windows (*.bmp)
-
File immagine TIFF (*.tif)
-
-
Copy - usa questo pulsante per copiare la pagina attiva negli Appunti di Windows, da cui può essere incollata in un'applicazione esterna secondo necessità.
-
Page Width - fai clic su questo pulsante per dimensionare la pagina in modo che rientri nelle estensioni orizzontali della finestra di anteprima disponibile. Quando ridimensioni la finestra di dialogo (e quindi la finestra di anteprima), la pagina verrà ridimensionata per rimanere completamente visibile per tutta la sua larghezza.
-
Whole Page - usa questo comando per dimensionare la pagina in modo che rientri nella finestra di anteprima disponibile.
-
Zoom In - usa questo comando per aumentare gradualmente lo zoom del report.
-
Zoom Out - usa questo comando per ridurre gradualmente lo zoom del report.
Definizione delle regole nello schematico
I vincoli di progettazione (regole) possono essere definiti prima del layout PCB aggiungendo direttive Parameter Set ai documenti sorgente dello schema con una o più regole configurate. L'ambito della corrispondente regola di progettazione PCB, creata quando il progetto viene trasferito al documento PCB, è determinato dalla natura dell'oggetto a cui il parametro è assegnato. La tabella seguente riepiloga le opzioni supportate per l'ambito delle regole PCB in relazione ai parametri dello schematico.
| Aggiungi una regola a un... | Da... | Per un ambito di regola PCB di... |
|---|---|---|
| Wire | il pannello Properties (durante la consultazione delle proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sul wire usando il comando Place » Directives » Parameter Set. | Net |
| Bus | il pannello Properties (durante la consultazione delle proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sul bus usando il comando Place » Directives » Parameter Set. | Net Class |
| Harness | il pannello Properties (durante la consultazione delle proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sull'harness usando il comando Place » Directives » Parameter Set. | Net Class |
| Blanket | il pannello Properties (durante la consultazione delle proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sul bordo del blanket usando il comando Place » Directives » Parameter Set. Includi una classe con il nome richiesto, per creare una net class per tutte le net coperte dal blanket, che verrà poi utilizzata per l'ambito della regola. | Net Class |
In ogni caso, il metodo per aggiungere un parametro basato su regola è lo stesso:
-
Aggiungi un parametro come regola.
-
Seleziona quale tipo di regola utilizzare.
-
Configura i vincoli per il tipo di regola scelto.
Verifica dell'applicazione delle regole
A seconda del progetto della scheda, può essere necessario definire un numero considerevole di regole di progettazione con ambiti che vanno dai più semplici ai più complessi. È buona norma verificare che le regole definite si applichino effettivamente agli oggetti previsti. Prestare attenzione nella fase di definizione delle regole può far risparmiare tempo e sforzi che altrimenti verrebbero sprecati per risalire a violazioni causate da un ambito di regola non corretto.
Esistono essenzialmente due metodi per verificare gli ambiti delle regole: selezionare oggetti di progettazione e interrogare le regole che attualmente si applicano a essi, oppure prendere una regola (in diverse posizioni del software) e osservare quali oggetti rientrano nel suo ambito.
Dal punto di vista di un oggetto
Per qualsiasi oggetto posizionato nel progetto corrente, puoi accedere rapidamente alle informazioni su quali regole di progettazione unarie si applicano a quell'oggetto. Posiziona il cursore sull'oggetto, fai clic con il tasto destro e seleziona Applicable Unary Rules. Tutte le regole di progettazione definite che potrebbero essere applicate all'oggetto selezionato vengono analizzate ed elencate nella finestra di dialogo Applicable Unary Rules.

Regole di progettazione applicabili a un singolo oggetto di esempio del progetto – regole unarie.
Ogni regola elencata nella finestra di dialogo avrà accanto un segno di spunta oppure una croce Un segno di spunta indica la regola con priorità più alta tra tutte le regole applicabili dello stesso tipo; questa è la regola attualmente applicata. Le regole dello stesso tipo con priorità inferiore vengono elencate con una croce accanto, a indicare che sono applicabili ma, non essendo la regola con la priorità più alta, non sono attualmente applicate.
In modo analogo, puoi anche accedere alle informazioni sulle regole di progettazione binarie che si applicano tra due oggetti posizionati in un progetto. Posiziona il cursore su un qualsiasi oggetto, fai clic con il tasto destro e seleziona Applicable Binary Rules. Segui le istruzioni per selezionare due oggetti nel progetto. Si aprirà quindi la finestra di dialogo Applicable Binary Rules, che mostrerà tutte le regole di progettazione binarie che si applicano tra tali oggetti.

Regole di progettazione applicabili tra due oggetti di esempio del progetto – regole binarie.
Dal punto di vista di una regola
Verifica tramite il pannello PCB Rules And Violations
Puoi anche vedere rapidamente a quali oggetti si applica una particolare regola dal pannello PCB Rules And Violations. Il pannello elenca tutte le regole attualmente definite per il progetto. È possibile visualizzare tutte le regole oppure consultarle in modo specifico per tipo di regola, a condizione che per il progetto attivo sia stata definita almeno una regola di un determinato tipo. Quando fai clic su una regola specifica nell'area Rules del pannello, verrà applicato un filtro usando la regola come ambito del filtro. Verranno filtrati solo gli oggetti di progettazione che rientrano nell'ambito della regola. Utilizzando la funzionalità di evidenziazione Mask (o Dim), puoi vedere rapidamente gli oggetti risultanti a cui la regola si applica.

Un esempio di utilizzo del pannello PCB Rules And Violations per verificare a quali oggetti si applica una regola selezionata.
L'uso del pannello PCB Rules And Violations per verificare a quali oggetti si applica una regola è particolarmente utile durante la creazione di una query per l'ambito o gli ambiti della regola, poiché una regola può essere modificata direttamente dal pannello e, di conseguenza, la query può essere "ritoccata" finché gli oggetti desiderati non vengono inclusi nell'ambito o negli ambiti.
Per modificare l'ambito o gli ambiti di una regola, nonché i relativi vincoli, fai doppio clic sulla voce della regola nel pannello oppure fai clic con il tasto destro e scegli Properties dal menu contestuale. Verrà visualizzata la finestra di dialogo pertinente Edit PCB Rule, da cui sarà possibile apportare le modifiche.

Le regole possono essere modificate direttamente dal pannello PCB Rules And Violations, consentendoti di affinare ulteriormente al volo l'ambito delle regole e/o i vincoli.
Verifica tramite la finestra di dialogo PCB Rules and Constraints Editor
La finestra di dialogo PCB Rules and Constraints Editor include una funzione di test delle query, che consente di vedere rapidamente a quali oggetti si applica una determinata regola. Fai clic sul pulsante
in alto a destra della finestra di dialogo della regola che vuoi testare. Verrà visualizzata la finestra di dialogo Test Queries Result. La finestra di dialogo mostra quanto segue:
-
Expression result – il numero di oggetti che rientrano nell'ambito dell'espressione.
-
Objects applicable to rule – il numero di oggetti applicabili in base all'espressione e al tipo della regola corrente.
-
Expression and rule priority (solo per una regola unaria) – il numero di oggetti applicabili in base all'espressione, al tipo e alla priorità della regola corrente (ovvero, quando esiste una regola con priorità più alta, gli oggetti inclusi nell'ambito di quella regola non verranno presi in considerazione per questo valore).
-
Rules with highest priorities (solo per una regola unaria) – se esistono regole con priorità più alta, il relativo elenco verrà presentato nella finestra di dialogo, insieme al numero di oggetti ad esse applicabili (ovvero i rispettivi valori Expression and rule priority).
Facendo clic su un collegamento a destra, puoi filtrare rapidamente per vedere gli oggetti applicabili in ciascun caso direttamente nello spazio di progettazione. Usa il menu a discesa Mask per selezionare Normal, Mask, o Dim a seconda di come desideri evidenziare gli oggetti interessati nel documento PCB. Se è selezionato Zoom , il documento PCB eseguirà anche lo zoom sui componenti interessati.

Visualizza rapidamente gli oggetti catturati dall'espressione di ambito di una regola usando la funzionalità Test Queries.

).
).