L'approccio sistematico del Design Rule Checker (RDC) viene utilizzato nella progettazione di PCB. Dopo aver catturato il progetto PCB nello strumento schematico PCB, la RDC deve essere eseguita per individuare violazioni delle regole di progettazione. Questo deve essere fatto prima che l'elaborazione back-end inizi. Di solito, i fornitori di strumenti schematici forniscono RDC e la maggior parte dei progettisti lo usano.
Tuttavia, gli strumenti dei fornitori sono universali e potrebbero non essere sempre abbastanza flessibili per gestire determinati requisiti unici. È possibile inviare una richiesta per l'aggiunta di una nuova funzione alla RDC al fornitore, ma ciò costerà denaro e tempo, soprattutto se questa operazione deve essere eseguita più volte. Fortunatamente, la maggior parte dei fornitori di strumenti fornisce meccanismi facili da usare e puoi scrivere la tua RDC per soddisfare meglio le tue esigenze uniche. Purtroppo, questo potente strumento non è stato ampiamente riconosciuto o utilizzato.
Poiché la RDC deve attraversare l'intero diagramma schematico del progetto PCB, compreso ogni simbolo, ogni pin e ogni rete, se necessario, può generare un numero illimitato di utili "sottoprodotti" per ogni attributo. Come spiegato nella Sezione 4.0, possono ben contrassegnare sottili violazioni delle regole di progettazione. Ad esempio, un file di sottoprodotto può contenere tutti i condensatori di disaccoppiamento presenti nel progetto. Se il numero è molto più piccolo o più grande del previsto, questo potrebbe innescare un segnale rosso di possibili problemi dv/dt della linea elettrica [1]. Questi file di sottoprodotti possono essere molto necessari, ma sicuramente non sono generati da alcuna RDC commerciale.
Un altro vantaggio di questa RDC è che può essere facilmente e rapidamente aggiornato per adattarsi a nuove caratteristiche di design, come i nuovi attributi che influenzano le regole di progettazione. Inoltre, una volta acquisita abbastanza esperienza in questo campo, emergeranno molte altre possibilità.
Ad esempio, se è possibile scrivere la propria RDC, è naturalmente possibile scrivere il proprio strumento di generazione della fattura dei materiali (BOM), che può meglio gestire determinati requisiti unici, come ad esempio dove ottenere componenti che non fanno parte del database schematico "hardware extra" (Socket, dissipatore di calore o vite). Oppure è possibile scrivere il proprio netlister Verilog, che è abbastanza flessibile per adattarsi al proprio ambiente di progettazione, ad esempio dove ottenere modelli Verilog o file di temporizzazione per alcuni componenti unici. Infatti, quando DRC attraversa lo schema di progettazione, può raccogliere tutte le informazioni necessarie per produrre la netlist Verilog per la simulazione e/o il BOM per la produzione di PCB.
Sarà difficile discutere questi argomenti senza fornire qualche codice di programmazione. Per questo, dobbiamo usare lo strumento di cattura schematica come esempio. In questo articolo, utilizziamo ViewDraw di Mentor Graphics, che fa parte della famiglia di prodotti PADS-Designer. Inoltre, utilizziamo ViewBase, che è solo una libreria di routine C che può essere chiamata per accedere al database ViewDraw. Utilizzando ViewBase, è possibile scrivere facilmente un DRC completo e utile per ViewDraw in C/C++[2][3]. Si prega di notare che i principi di cui discutiamo qui si applicano a qualsiasi altro strumento schematico PCB.
Oltre al database schematico, la RDC ha anche bisogno di alcuni file di input per indicare come gestire determinate situazioni, come il nome legale della rete elettrica che viene automaticamente collegato al piano di alimentazione. Ad esempio, se la rete di alimentazione è chiamata POWER, verrà automaticamente collegata al piano di alimentazione tramite un'utilità di imballaggio back-end, ad esempio PCBfwd di ViewDraw. Di seguito è riportato un elenco di questi file di input. Questi file dovrebbero essere collocati in una posizione globale fissa in modo che DRC possa trovarli / leggerli automaticamente durante il runtime e memorizzare le informazioni internamente.
È possibile scegliere di creare un file denominato legal_pwr_net_name che contiene tutti i nomi legali della rete del segnale POWER, ad esempio VCC, V3_3P, VDD. Si prega di notare che il caso lettera può essere importante per alcuni strumenti di layout / cablaggio PCB, e di solito VCC è diverso da Vcc o VCC. VCC può essere un alimentatore da 5.0V e V3_3P può essere un alimentatore da 3.3V.
legal_pwr_net_name è opzionale, perché il file di configurazione dell'utility di imballaggio back-end deve solitamente contenere un elenco di nomi legali di potenza/rete terrestre. Se Allegro di Cadence Design Systems è lo strumento di posizionamento/layout, il file si chiama allegro.cfg per PCBfwd e deve contenere le seguenti voci:
Terra VSS CGND GND TERRA
Alimentatore VCC VDD VEE V3_3P V2_5P + 5V + 12V
Se la RDC può leggere direttamente allego.cfg invece di legal_pwr_net_name, sarebbe meglio (la possibilità di introdurre errori è minore).
Normalmente, i perni di alimentazione/massa non compaiono sui simboli dei componenti. Invece, il simbolo ha un attributo (può essere chiamato SIGNAL) che specifica quale pin è alimentazione o messa a terra, e specifica il nome della rete a cui il pin deve essere collegato:
SIGNAL = VCC: 10
SEGNALE = TERRA: 20
DRC può leggere questo attributo e assicurarsi che il nome della rete sia il nome nel file legal_pwr_net_name. In caso contrario, il pin di alimentazione non sarà collegato al piano di alimentazione, che è un errore molto grave.
Alcuni simboli devono avere perni di alimentazione/terra perché non sono collegati al normale piano di alimentazione/terra. Ad esempio, il pin VCC di un dispositivo ECL può essere collegato a VCC o GROUND; Il suo perno VEE può essere collegato al piano TERRA o -5.0V. Inoltre, il perno di alimentazione/massa può essere collegato al filtro prima di entrare nel piano di alimentazione/massa.
La rete tra questo pin e il filtro può avere qualsiasi nome e DRC non sarà in grado di controllare queste informazioni. DRC può segnalare questo errore e l'utente deve filtrarlo o aggiungere il nome net al file legal_pwr_net_name solo per questo disegno. Questo è uno dei motivi per cui file come legal_pwr_net_name possono essere necessari. Infine, legal_pwr_net_name verrà letto da DRC 1) trovare la resistenza pull-up, 2) controllare la lettera case del nome della rete POWER nel progetto PCB, e 3) rilevare eventuali pin inutilizzati direttamente collegati a POWER.