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 usando un approccio elegante target these objects and apply those requirements - . Le regole di progettazione formano collettivamente un “insieme di istruzioni” che l'editor PCB deve seguire. Coprono ogni aspetto del progetto – larghezze di routing, spaziature, stili di connessione ai poligoni, stili delle vie di routing, ecc. – e molte delle regole possono essere monitorate in tempo reale dal Design Rule Checker (DRC) online; inoltre, è possibile eseguire in qualsiasi momento un test batch per generare un report DRC. Le regole sono definite indipendentemente dagli oggetti.
Le regole di progettazione si applicano a oggetti specifici e vengono gestite in modo gerarchico; per esempio, può esserci una regola di spaziatura per l'intera scheda, poi magari una regola di spaziatura per una classe di net, quindi forse un'altra per uno dei pad di una classe. Utilizzando la priorità della regola e il relativo ambito, l'editor PCB può determinare quale regola si applica a ciascun oggetto del progetto.
Una regola si applica agli oggetti utilizzando un query language basato su parole chiave, che può andare da identificatori generici, come NetClass o All, fino a una query strettamente definita che individua con precisione un requisito di progettazione complesso e specifico per una determinata 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 all'impostazione delle regole all'inizio del progetto ti consentirà di concentrarti efficacemente sul lavoro di progettazione, con la tranquillità di sapere che il sistema di regole sta lavorando intensamente per garantirne 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 per applicarsi a quell'oggetto. Questo consente di applicare regole a più oggetti e di modificarle oppure applicarle a oggetti diversi, cosa che altrimenti sarebbe difficoltosa se fosse necessario modificare gli attributi della regola a livello del singolo oggetto.
-
Rules are targeted (scoped) by writing a query – invece di utilizzare un insieme fisso di ambiti di regola 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 ogni singola regola di progettazione.
-
Rules for any design situation – è possibile definire più regole dello stesso tipo e applicarle a insiemi diversi di oggetti, consentendo il pieno controllo sulla definizione dei vincoli della scheda. Ad esempio, si possono definire regole di larghezza diverse per instradare net con larghezze differenti su layer diversi.
-
Each rule has a priority – qualsiasi oggetto di progettazione può essere interessato da più regole dello stesso tipo, così da gestire situazioni generali e più specifiche. Per risolvere eventuali conflitti tra regole, viene utilizzata la priorità delle regole. Il sistema scorre semplicemente le regole dalla priorità più alta a quella 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 vengono definite e gestite dalla finestra di dialogo PCB Rules and Constraints Editor come descritto in questa pagina. Come approccio alternativo per la gestione delle 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 regola disponibili. Espandi un tipo di regola per visualizzare tutte le regole di quel tipo attualmente definite.
Per ulteriori informazioni sui tipi di regola 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 relative a ciò che è attualmente selezionato nell'albero: un riepilogo delle regole definite del tipo di regola o della categoria selezionata, tutte le regole definite dell'intero sistema oppure, se è selezionata una regola effettiva, i vincoli di quella regola.
-
Fai clic sulla cartella radice per accedere, nell'area di modifica principale della finestra di dialogo, a un elenco riepilogativo di tutte le regole specifiche 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 definite per tutti i tipi di regola 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 è elencata in base ai seguenti elementi:
-
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 relativa a una regola specifica nel riquadro dell'albero delle cartelle (oppure fai doppio clic sulla relativa 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 mostra eventuali commenti aggiunti alla regola, ad esempio una descrizione significativa dell'uso della regola.
-
Unique ID - l'identificatore univoco della regola. Ogni regola è essa stessa un oggetto di progettazione e quindi un elemento concreto di dati. L'uso di un ID ne garantisce l'univocità. Il punto in cui l'ID univoco diventa davvero importante è nel caso di una regola creata nell'ambito schematico. Quando si aggiungono parametri di regola di progettazione agli oggetti nello schema, a ciascun parametro di regola viene assegnato un ID univoco. Gli stessi ID vengono assegnati alle corrispondenti regole di progettazione create nel PCB. Grazie a questo ID univoco, i vincoli di una regola possono essere modificati sia lato schema sia lato PCB, e le modifiche possono essere propagate durante la 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 di regola definite. 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 della documentazione PCB Design Rule Types.
-

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 non 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 nella 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 che richiedono una modifica dei valori.
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, passeranno da valori arrotondati come 4mil a 0.102mm, oppure il valore predefinito Minimum Solder Mask Sliver passerà da 10mil a 0.254mm. Anche se quella cifra meno significativa, ad esempio 0.002mm, è irrilevante quando si tratta della generazione degli output, puoi modificare queste impostazioni nelle regole di progettazione se la cosa ti infastidisce.

Durante l'esame 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 affinché il sistema Design Rule Check funzioni correttamente. Se una regola predefinita viene eliminata, viene ricreata automaticamente alla chiusura di PCB Rules and Constraints Editor. Se ci sono regole di progettazione che non desideri utilizzare, l'approccio corretto per gestirle è disabilitarle.
Per disabilitare una regola, attiva/disattiva l'opzione Enable corrispondente a 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 disattivazione 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 e selezionalo nell'albero a sinistra, 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 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 consentire l'accesso ai controlli per definire gli attributi di ambito e di vincolo di 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 più query nel caso di una regola binaria).
- Imposta i vincoli della regola.
- Imposta la priorità della regola.
Utilizzo della Rule Wizard per creare una nuova regola
Una nuova regola può essere creata anche utilizzando la Design Rule Wizard. È possibile accedervi direttamente con il comando Design » Rule Wizard oppure facendo clic sul pulsante Rule Wizard nella parte inferiore della finestra di dialogo PCB Rules and Constraints Editor.
Utilizza le pagine della 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 la possibilità di perfezionare ulteriormente l'ambito tramite una versione di Query Builder integrata nella procedura guidata.
- Imposta la priorità della regola.

Usa la 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. È possibile accedere a questa funzione in due modi:
-
Usa l'albero a sinistra per passare alla regola esistente richiesta, fai clic con il pulsante destro e 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 utilizzando 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à, riceverà la priorità immediatamente successiva 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 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 cercare di visualizzare mentalmente cosa potrebbe interessare la tua espressione di query might, 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 usa tale espressione di query, avrai la garanzia di indirizzare il corretto insieme di oggetti.
Per aggiungere una nuova regola di progettazione:
- Fai clic sul pulsante Create Rule. Verrà visualizzata la finestra di dialogo Choose Design Rule Type. Questa finestra di dialogo elenca ciascuna delle categorie 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).
- Verrà visualizzata la finestra di dialogo PCB Rules and Constraints Editor. Viene creata una regola del tipo scelto e viene mostrata la finestra principale di modifica della regola, pronta per definire i vincoli specifici della 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. Modificane anche la priorità, se necessario (per impostazione predefinita riceverà la priorità più alta).

Crea una nuova regola di progettazione direttamente dal pannello PCB Filter – l'espressione di query del filtro viene utilizzata come ambito della regola.
Riutilizzo delle espressioni di query precedenti
Con il tempo, nel corso del layout di varie schede, verranno create numerose espressioni di query utili. In genere, si vorrà applicare e riapplicare le stesse query, non solo nello stesso progetto ma anche in progetti diversi. Per consentire ciò, il pannello PCB Filter supporta il concetto di Historical e Favorite query.
Quando una query viene inserita e applicata dal pannello, viene aggiunta a un “elenco cronologia” delle query. Inoltre, la query può essere aggiunta a un “elenco preferiti” delle query facendo clic sul pulsante Add To Favorites. Utilizzare i pulsanti History e Favorites nel pannello per accedere alle schede corrispondenti con lo stesso nome nella finestra di dialogo Expression Manager per visualizzare questi elenchi.

Accedi alla cronologia delle espressioni di query applicate e crea un elenco di espressioni preferite da riutilizzare più e 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 il necessario ambito di applicazione: recupera un’espressione di query dalla cronologia o dai preferiti, verifica che punti ancora all’insieme di oggetti richiesto (applica il filtro) quindi crea una regola che utilizzi tale espressione nel proprio ambito di applicazione, come descritto nella sezione precedente.
Definire l’ambito di una Design Rule
L’editor PCB di Altium Designer è un ambiente basato su regole. I requisiti di progetto vengono applicati tramite un insieme ben definito di regole di progettazione che, nel loro complesso, definiscono i vincoli della 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 l’ambito, 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 l’ambito predefinito All, il che significa che verranno applicate a all objects sulla scheda. Utilizzando il menu a discesa, è possibile configurare rapidamente un semplice ambito della regola.

Imposta l’ambito di una regola di progettazione per definirne l’applicazione agli oggetti del progetto.
Invece di essere limitata a un elenco predefinito di possibili opzioni di destinazione, ogni regola di progettazione può essere definita in modo più preciso scrivendo quella che viene chiamata una Query.
Per inserire una query, impostare 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 prendere come destinazione. 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 un insieme specifico 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 fosse utilizzata come ambito 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 alla larghezza specificata nei vincoli di quella regola. Inoltre, eseguendo un controllo delle regole di progettazione, qualsiasi instradamento della net VBAT sul layer inferiore dovrebbe avere la larghezza specificata altrimenti verrebbe segnalato come violazione.

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

Crea rapidamente una query utilizzando le semplici opzioni di ambito.
Gli esempi di semplici opzioni di ambito sono:
-
All - genera una query di ambito che si applica a tutti gli oggetti del progetto.
-
Net - genera una query di ambito che si applica a tutti gli oggetti in una net specifica. Viene visualizzato un ulteriore menu a discesa da cui è possibile selezionare la net desiderata da un elenco di scelte disponibili, inclusa No Net.
-
Net Class - genera una query di ambito che si applica a tutti gli oggetti in una specifica net class. Viene visualizzato un ulteriore menu a discesa da cui è possibile selezionare la net class desiderata da un elenco di scelte disponibili, inclusa All Nets.
-
Layer - genera una query di ambito che si applica a tutti gli oggetti su uno specifico layer. Viene visualizzato un ulteriore menu a discesa da cui è possibile selezionare il layer desiderato da un elenco di scelte disponibili.
-
Net and Layer - genera una query di ambito che si applica a tutti gli oggetti in una specifica net e su uno specifico layer. Vengono visualizzati due ulteriori menu a discesa da cui è possibile selezionare la net e il layer desiderati.
L’opzione Custom Query consente di scrivere una query personalizzata, forse più complessa ma anche più specifica. È possibile digitare la propria query specifica per l’ambito della regola direttamente nella regione della query a destra. In alternativa, sono disponibili due funzionalità per aiutare nella creazione di espressioni di query logiche. Si tratta di Query Builder e Query Helper. Queste possono risultare utili quando non si è sicuri della sintassi di una query o delle parole chiave disponibili.

Utilizzare l’opzione Custom Query per creare un’espressione di query più complessa.
Definire l’ambito di una regola con il 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 mediante la semplice costruzione di una stringa di istruzioni condizionali.
La sezione sinistra della finestra di dialogo viene utilizzata per specificare la/e condizione/i necessaria/e a identificare l’insieme di oggetti richiesto. Ogni condizione è composta da un Condition Type e un Condition Value. I campi a discesa relativi si popolano con voci pertinenti alla costruzione di un ambito per il tipo di regola corrente e con valori per il tipo di condizione scelto, rispettivamente.
Man mano che viene definita una condizione, 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 si può anche incorporare 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 nella regione della query della finestra di dialogo PCB Rules and Constraints Editor.

Utilizzare il Query Builder per costruire un’espressione di query logica tramite una serie di istruzioni condizionali.
Definire l’ambito di una regola con il 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 del Query Helper è abbastanza intuitivo, ancor 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 questa regione della finestra di dialogo per comporre un’espressione di query. L’espressione attualmente in uso per l’ambito della regola sarà disponibile in questa regione, per impostazione predefinita, quando si accede alla finestra di dialogo. È possibile digitare direttamente nella regione; come aiuto comparirà un “elenco suggerimenti” sensibile al contesto con possibili parole chiave o oggetti.
- Operators – questa regione della finestra di dialogo fornisce una gamma di operatori matematici e logici da utilizzare durante la costruzione di un’espressione. Fare clic su un pulsante per aggiungere quell’operatore nella posizione corrente del cursore all’interno dell’espressione di query nella regione Query sopra.
- Categories, Keywords and Objects – questa regione della finestra di dialogo fornisce accesso alle PCB Functions, alle PCB Object Lists e alle System Functions disponibili, che possono essere utilizzate per creare l’espressione di query. Facendo clic su una sottocategoria all’interno di ciascuna di queste tre aree verrà visualizzato un elenco delle parole chiave o degli oggetti corrispondenti nella regione a destra. Individuare la parola chiave o l’oggetto da utilizzare nella stringa di query quindi fare doppio clic sulla relativa voce; la voce verrà inserita nella posizione corrente del cursore all’interno dell’espressione di query nella regione Query sopra.
Utilizzare il pulsante
(in basso a sinistra nella finestra di dialogo) per verificare che un’espressione sia sintatticamente corretta. Quando l’espressione della query è stata definita come richiesto, facendo clic su OK l’espressione verrà caricata nella regione della query della finestra di dialogo PCB Rules and Constraints Editor.
Precedenza degli operatori nelle espressioni di query
Prima di lasciare questa area, vale la pena dare un’occhiata all’ordine di precedenza previsto per gli operatori utilizzati nelle espressioni di Query logiche. Dopotutto, senza questa 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 (quando l’utente non ha fornito parentesi). La sequenza di questo ordine, dalla più alta alla più bassa, è 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 quindi sovrascriverle con regole specifiche in situazioni specifiche. Perché ciò sia possibile, è necessario poter dare una priorità alle regole per 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 applichi a ogni pad e via della scheda, che potrebbe poi essere sovrascritta per i pad in uno specifico tipo di footprint. Questa regola specifica del 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 riceve 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.

Modifica 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
Le regole, naturalmente, possono essere modificate in qualsiasi momento. In effetti, per arrivare all’insieme finale di regole funzionanti spesso sono necessari alcuni affinamenti chiave qua e là. In genere ciò comporta la definizione dell’ambito 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 ambito e di vincolo.
Le modifiche apportate alle definizioni delle regole esistenti vengono evidenziate sia nel riquadro ad albero delle cartelle sia nei relativi elenchi di riepilogo. 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, piuttosto che una regola appena creata (che viene mostrata 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 mostrato in grassetto.
Segnalazione di regole non valide
Se il sistema rileva una regola non valida – ad esempio, perché c’è un problema con la sua espressione di query dell’ambito o con un valore di vincolo non consentito – la regola verrà contrassegnata come non valida. Tale regola verrà evidenziata in rosso nella 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 compare. Inoltre, anche il testo del tipo di regola e della categoria di regola viene mostrato in rosso nell’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 superiore della gerarchia. Verrà visualizzato anche un messaggio di avviso se si tenta di chiudere la finestra di dialogo.
Un ambito di regola che contiene un errore di sintassi può rallentare notevolmente l’analisi DRC Online e Batch, quindi assicurarsi di risolvere tutti gli ambiti di regola che non sono sintatticamente corretti.

Esempio del sistema che segnala una regola di progettazione non valida, in questo caso un’espressione di query dell’ambito errata.
Disattivazione delle regole
Nell’ambiente del PCB editor del software, basato su regole, non è raro creare un insieme piuttosto ampio e completo di regole con cui vincolare correttamente le schede. Per qualsiasi motivo, durante il lavoro potresti voler disabilitare alcune regole; forse non sono applicabili alla scheda in questione o devono essere temporaneamente disattivate per alleggerire il carico del Design Rule Checker (e di conseguenza migliorarne le prestazioni!). Disabilitarle è un buon modo per conservarle nel caso in cui servano di nuovo in futuro.
Per disabilitare una regola, attiva/disattiva l’opzione Enable corrispondente a 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 raggiungere la regola esistente desiderata, fai clic con il pulsante destro e poi scegli Delete Rule dal menu contestuale.
- Vai al tipo di regola specifico nell’albero a sinistra, quindi seleziona nell’elenco riepilogativo a destra la regola da eliminare. Poi fai clic sul pulsante Delete Rule(s) sotto l’elenco.
Il nome della regola apparirà in grassetto con barratura per indicare che si tratta di un’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 analogo, se tutte le regole specifiche di uno di questi tipi di regole vengono eliminate, 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 ricreate 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 dalla e importate nella finestra di dialogo PCB Rules and Constraints Editor. Questo consente di salvare e caricare definizioni di regole preferite tra progetti diversi.
-
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, nella quale puoi scegliere la o 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, nella quale puoi scegliere la o le regole di progettazione da importare. Nella finestra di dialogo Import File che si apre, cerca 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ò riguardare tutte le categorie di regole, una categoria specifica oppure un tipo di regola specifico, a seconda della voce selezionata nell’albero delle cartelle. Un report può essere generato:
- Accedendo all’elenco riepilogativo richiesto, 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 rispettiva 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 utilizzando i vari controlli di pagina/zoom prima di esportarlo in un file o stamparlo.
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 utilizzando 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 del report.
- All - fai clic su questo pulsante per adattare la pagina alla finestra di anteprima disponibile. Ridimensionando la finestra di dialogo (e quindi la finestra di anteprima), la pagina verrà ridimensionata per restare completamente visibile.
- Width - fai clic su questo pulsante per adattare la pagina all’estensione orizzontale della finestra di anteprima disponibile. Ridimensionando la finestra di dialogo (e quindi la finestra di anteprima), la pagina verrà ridimensionata per restare 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 inferiore per vedere il report in scala ridotta. Inserisci un valore superiore 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 saltare 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 con una posizione, un nome e un formato di esportazione specifici. Sono supportati i seguenti formati:
- Foglio di lavoro Microsoft Excel (*.xls)
- Adobe PDF (*.pdf)
- Rich Text Format (RTF) (*.rtf)
- Pagina Web (*.htm, *.html)
- Layer 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 con una posizione, un nome e un formato di esportazione specifici. Sono supportati i seguenti formati:
-
Foglio di lavoro Microsoft Excel (*.xls)
-
Adobe PDF (*.pdf)
-
Rich Text Format (RTF) (*.rtf)
-
Pagina Web (*.htm, *.html)
-
Layer 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 adattare la pagina all’estensione orizzontale della finestra di anteprima disponibile. Ridimensionando la finestra di dialogo (e quindi la finestra di anteprima), la pagina verrà ridimensionata per restare completamente visibile per tutta la sua larghezza.
-
Whole Page - usa questo comando per adattare la pagina alla 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 sullo schema
I vincoli di progettazione (regole) possono essere definiti prima del layout PCB aggiungendo direttive Parameter Set ai documenti sorgente dello schema con le regole configurate. L'ambito della corrispondente regola di progettazione PCB, creata quando il progetto viene trasferito nel documento PCB, è determinato dalla natura dell'oggetto a cui il parametro è assegnato. La tabella seguente riassume le opzioni supportate per l'associazione tra parametro dello schema e ambito della regola PCB.
| Aggiungere una regola a un... | Da... | Per un ambito della regola PCB di... |
|---|---|---|
| Filo | il pannello Properties (quando si visualizzano le proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sul filo usando il comando Place » Directives » Parameter Set. | Net |
| Bus | il pannello Properties (quando si visualizzano le proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sul bus usando il comando Place » Directives » Parameter Set. | Classe di net |
| Harness | il pannello Properties (quando si visualizzano le proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sull'harness usando il comando Place » Directives » Parameter Set. | Classe di net |
| Blanket | il pannello Properties (quando si visualizzano le proprietà dell'oggetto parameter set selezionato), dopo aver posizionato un oggetto Parameter Set sul bordo del blanket usando il comando Place » Directives » Parameter Set. Includere una classe con il nome richiesto per creare una classe di net per tutte le net coperte dal blanket, che verrà poi usata per l'ambito della regola. | Classe di net |
In ogni caso, il metodo per aggiungere un parametro basato su regola è lo stesso:
-
Aggiungere un parametro come regola.
-
Selezionare quale tipo di regola usare.
-
Configurare i vincoli per il tipo di regola scelto.
Verifica dell'applicazione delle regole
A seconda del progetto della scheda, potrebbe essere necessario definire un numero considerevole di regole di progettazione con ambiti che vanno dal molto semplice al molto complesso. È buona norma verificare che le regole definite si applichino effettivamente agli oggetti previsti. Prestare attenzione nella fase di definizione delle regole può evitare perdite di tempo e sforzi nel rintracciare violazioni causate da un ambito errato delle regole.
Esistono essenzialmente due metodi per verificare gli ambiti delle regole: selezionare oggetti di progettazione e interrogare le regole che si applicano attualmente a essi, oppure prendere una regola (in diverse aree del software) e osservare quali oggetti ricadono nel suo ambito.
Dal punto di vista di un oggetto
Per qualsiasi oggetto posizionato nel progetto corrente, è possibile accedere rapidamente alle informazioni su quali regole di progettazione unarie si applicano a quell'oggetto. Posizionare il cursore sull'oggetto, fare clic con il pulsante destro del mouse e quindi selezionare 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 progettazione di esempio – regole unarie.
Ogni regola elencata nella finestra di dialogo avrà accanto un segno di spunta oppure una croce Il 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 sono elencate con una croce accanto, a indicare che sono applicabili ma, non essendo la regola con priorità più alta, non sono attualmente applicate.
In modo simile, è possibile anche accedere alle informazioni sulle regole di progettazione binarie che si applicano tra due oggetti posizionati in un progetto. Posizionare il cursore su un oggetto qualsiasi, fare clic con il pulsante destro del mouse e poi selezionare Applicable Binary Rules. Seguire le istruzioni per selezionare due oggetti nel progetto. Si aprirà quindi la finestra di dialogo Applicable Binary Rules e verranno visualizzate tutte le regole di progettazione binarie che si applicano tra tali oggetti.

Regole di progettazione applicabili tra due oggetti di progettazione di esempio – regole binarie.
Dal punto di vista di una regola
Verifica tramite il pannello PCB Rules And Violations
È anche possibile 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 sfogliare nello specifico per tipo di regola, a condizione che per il progetto attivo sia stata definita almeno una regola di un determinato tipo. Facendo clic su una regola specifica nell'area Rules del pannello, verrà applicato un filtro usando la regola come ambito del filtro. Verranno filtrati solo quegli oggetti di progettazione che rientrano nell'ambito della regola. Usando la funzione di evidenziazione Mask (o Dim), è possibile vedere rapidamente gli oggetti risultanti interessati dalla regola.

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 interrogare 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 quindi la query può essere 'ritoccata' finché gli oggetti desiderati non vengono catturati dall'ambito o dagli ambiti.
Per modificare l'ambito o gli ambiti di una regola, nonché i relativi vincoli, fare doppio clic sulla voce della regola nel pannello oppure fare clic con il pulsante destro del mouse e scegliere Properties dal menu contestuale. Apparirà la finestra di dialogo Edit PCB Rule pertinente, dalla quale sarà possibile apportare le modifiche.

Le regole possono essere modificate direttamente dal pannello PCB Rules And Violations, consentendo 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 particolare regola. Fare clic sul pulsante
nell'angolo in alto a destra della finestra di dialogo della regola che si desidera testare. Apparirà 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 (cioè, quando esiste una regola di priorità superiore, gli oggetti compresi nell'ambito di tale regola non saranno considerati per questo valore).
-
Rules with highest priorities (solo per una regola unaria) – se ci sono regole con priorità superiori, il relativo elenco verrà presentato nella finestra di dialogo, insieme al numero di oggetti applicabili a esse (cioè i rispettivi valori Expression and rule priority).
Facendo clic su un collegamento a destra, è possibile filtrare rapidamente per vedere gli oggetti applicabili in ciascun caso direttamente nell'area di progettazione. Usare il menu a discesa Mask per selezionare Normal, Mask, oppure Dim a seconda di come si desidera evidenziare gli oggetti interessati nel documento PCB. Se Zoom è selezionato, il documento PCB eseguirà anche lo zoom sui componenti interessati.

Visualizzare rapidamente gli oggetti catturati dall'espressione di ambito di una regola usando la funzione Test Queries.

).
).