Hoe de PCB rule checker DRC te ontwerpen?

Dit artikel beschrijft in het kort een methode van programmeren PCB Design Rule Checker (DRC) systeem. Zodra het PCB-ontwerp is verkregen met behulp van de tool voor het genereren van schakelschema’s, kan DRC worden uitgevoerd om eventuele fouten te vinden die in strijd zijn met de PCB-ontwerpregels. Dit moet worden gedaan voordat de daaropvolgende verwerking begint, en de ontwikkelaar van de circuitgenerator moet DRC-tools leveren die de meeste PCB-ontwerpers gemakkelijk kunnen beheersen.

ipcb

Er zijn veel voordelen aan het schrijven van uw eigen PCB-ontwerpregelcontrole. Hoewel de PCB-ontwerpcontrole niet zo eenvoudig is, is het niet onhandelbaar, omdat elke PCB-ontwerper die bekend is met bestaande programmeer- of scripttalen dit kan doen, en de voordelen zijn onschatbaar.

Op de markt verkrijgbare tools voor algemeen gebruik zijn echter vaak niet flexibel genoeg om aan de specifieke ontwerpbehoeften van PCB’s te voldoen. Als gevolg hiervan moeten nieuwe functievereisten door klanten worden gemeld aan ontwikkelaars van DRC-tools, wat vaak geld en tijd kost, vooral als de vereisten voortdurend worden bijgewerkt. Gelukkig kunnen de meeste toolontwikkelaars hun klanten een gemakkelijke manier bieden om hun eigen DRC te schrijven om aan hun specifieke behoeften te voldoen. Deze krachtige tool wordt echter niet algemeen erkend of gebruikt. Dit artikel biedt een praktische gids om het meeste uit DRC-tools te halen.

Aangezien DRC de PCB moet doorkruisen om het volledige schakelschema te ontwerpen, inclusief elk symbool, elke pin, elk netwerk, elk attribuut, en indien nodig een onbeperkt aantal “accessoire” -bestanden te maken. Zoals beschreven in Paragraaf 4.0, kan DRC elke kleine afwijking van PCB-ontwerpregels markeren. Een van de bijgevoegde bestanden kan bijvoorbeeld alle ontkoppelcondensatoren bevatten die in het PCB-ontwerp zijn gebruikt. Als het capaciteitsgetal lager of hoger is dan verwacht, worden rode markeringen geplaatst waar DV/DT-problemen met de voedingslijn kunnen optreden. Deze aanvullende bestanden kunnen nodig zijn, maar ze zijn niet noodzakelijkerwijs gemaakt door een commerciële DRC-tool.

Hoe DE PCB rule checker DRC te ontwerpen

Een ander voordeel van DRC is dat het gemakkelijk kan worden geüpdatet om nieuwe PCB-ontwerpkenmerken op te nemen, zoals die welke van invloed kunnen zijn op PCB-ontwerpregels. Bovendien, als je eenmaal voldoende ervaring hebt opgedaan in het gebied, zijn er nog vele andere functies die je kunt implementeren.

Als u bijvoorbeeld uw eigen DRC kunt schrijven, kunt u uw eigen hulpmiddel voor het maken van stuklijsten schrijven om beter in te spelen op specifieke gebruikersbehoeften, zoals het verkrijgen van “extra hardware” (zoals stopcontacten, radiatoren of schroevendraaiers) voor apparaten die niet zelf onderdeel van de schakelschemadatabase. Of de PCB-ontwerper kan zijn eigen Verilog-netlistanalysator schrijven met voldoende flexibiliteit in de PCB-ontwerpomgeving, zoals het verkrijgen van Verilog-modellen of tijdbestanden die geschikt zijn voor een bepaald apparaat. Omdat DRC het volledige schakelschema van het PCB-ontwerp doorloopt, is het zelfs mogelijk om alle geldige informatie te verzamelen om de simulatie en/of stuklijst uit te voeren die vereist zijn voor de Verilog-netlistanalyse van het PCB-ontwerp.

Het zou te ver voeren om deze onderwerpen te bespreken zonder enige programmacode te geven, dus we zullen een hulpprogramma voor het ophalen van schakelschema’s als voorbeeld gebruiken. Dit artikel gebruikt het bedrijf Mentor Graphics om de ViewDraw-tool te ontwikkelen die is gekoppeld aan DE productlijn van PADS-Designer. Daarnaast hebben we de ViewBase-tool gebruikt, een vereenvoudigde C-routinebibliotheek die kan worden aangeroepen om toegang te krijgen tot de ViewDraw-database. Met de ViewBase-tool kunnen PCB-ontwerpers eenvoudig complete en efficiënte DRC-tools voor ViewDraw in C/C schrijven. Het is belangrijk op te merken dat de hier besproken basisprincipes van toepassing zijn op elk ander PCB-schema.

Het invoerbestand

Naast de database met schakelschema’s heeft DRC ook invoerbestanden nodig die specifieke situaties kunnen beschrijven, zoals de naam van een legitiem stroomnetwerk dat automatisch is aangesloten op het stroomvlak. Als het POWER-netwerk bijvoorbeeld POWER wordt genoemd, wordt het POWER-vlak automatisch verbonden met het POWER-vlak met behulp van een back-end-pakketapparaat (zoals van toepassing op ViewDrawpcbfwd). Het volgende is een lijst met invoerbestanden die op een vaste globale locatie moeten worden geplaatst, zodat DRC deze informatie automatisch kan vinden en lezen, en deze informatie vervolgens tijdens runtime intern in DRC kan opslaan.

Sommige symbolen moeten externe netsnoerpinnen hebben omdat ze niet zijn aangesloten op de gewone netsnoerlaag. De VCC-pinnen van het ECL-apparaat zijn bijvoorbeeld verbonden met de VCC of GROUND; De VEE-pin kan worden aangesloten op GROUND of het -5.0V-vlak. Bovendien kan de netsnoerpin ook op het filter worden aangesloten voordat deze de netsnoerlaag bereikt.

Een stroomkabelpin is normaal gesproken niet bevestigd aan een apparaatsymbool. In plaats daarvan beschrijft een eigenschap van het symbool (hier SIGNAL genoemd) welke pin een voedings- of aardingspin is en beschrijft de netwerknaam waarmee de pin moet worden verbonden.

SIGNAAL = VCC:10

SIGNAAL = GROND:20

DRC kan deze eigenschap lezen en ervoor zorgen dat de netwerknaam wordt opgeslagen in het bestand legal_pwr_net_name. Als de netwerknaam niet is opgenomen in legal_pwr_net_name, wordt de power-pin niet aangesloten op het powerplane, wat een serieus probleem is.

Bestand legal_pwr_net_name Optioneel. Dit bestand bevat alle legale netwerknamen van POWER-signalen, zoals VCC, V3_3P en VDD. In PCB layout/routing tools moeten namen hoofdlettergevoelig zijn. Over het algemeen is VCC niet hetzelfde als VCC of VCC. VCC kan een voeding van 5.0 V zijn en V3_3P kan een voeding van 3.3 V zijn.

Het bestand legal_pwr_net_name is optioneel, omdat het configuratiebestand van het backend-inkapselingsapparaat gewoonlijk een set geldige netwerknamen voor stroomkabels moet bevatten. Als CadencePCB wordt gebruikt om de Allegro-bedradingstool van Systems te ontwerpen, is de PCBFWD-bestandsnaam Allegro.cfg en heeft de volgende invoerparameters:

GROND: VSS CGND GND GROND

Voeding: VCC VDD VEE V3_3P V2_5P 5V 12V

Als DRC het allegro.cfg-bestand rechtstreeks zou kunnen lezen in plaats van legal_pwr_net_name, zou het betere resultaten opleveren (dwz minder kans op het introduceren van fouten).