česky english Vítejte, dnes je pátek 19. duben 2024

Software pro porovnávání netlistů a výpisů materiálu

DPS 6/2020 | Články
Autor: Ing. Milan Klauz

Může se stát, že se ve schématu a v následně vytvořeném návrhu desky provedou změny, které nejsou zdokumentovány. Také mohou nastat situace, kdy se data konvertují z jiného návrhového programu a je potřeba ověřit, že během konverze nedošlo ke změnám. V takových a mnoha dalších případech nezbývá než porovnat oba netlisty, případně i výpisy materiálu. Protože manuální porovnávání může být docela komplikovaná záležitost, přijde vhod software, který to dokáže a pomůže zodpovědět různé otázky ve spojení s ověřením návrhu desky, například:

  • Byly všechny změny provedeny?
  • Co se ještě na desce změnilo?
  • Jaké jsou vůbec rozdíly mezi novějším a původním návrhem?

Existuje více samostatných programů pro porovnávání netlistů, přičemž některé umí porovnávat i výpisy materiálu. Některé z nich jsem si mohl prakticky vyzkoušet. Pro test jsem použil netlist a partlist soubor (.asc) z programu PADS Logic pro kreslení schémat, který jsem následně modifikoval a uložil pod pozměněným názvem – tak jsem mohl porovnat původní a pozměněná data. Změnil jsem typ jedné součástky, vývod rezistoru R1.1 jsem zapojil jinam, zrušil jsem dva nety a ze dvou takto uvolněných vývodů jsem vytvořil nový spoj (net $$$11111).

Doctar

Program Doctar (Design Object Compare Tool and Reporter) od společnosti Cadalist [1] existuje již více let a podle informací na webové stránce výrobce patří mezi jeho uživatele i zavedené společnosti. Doctar Logical porovnává změny logické (změny ve schématu), zatímco Doctar Physical porovnává změny na desce plošných spojů (zapojení a součástek na desce, včetně testovacích plošek a změny polohy či natočení součástek). S použitím obou dvou verzí je tak Doctar schopen provést komplexní porovnání revizí projektu.

K možnosti fyzického porovnání desky se ještě vrátíme, mě však v danou chvíli zajímalo porovnání zapojení a materiálu ve schématu, a tak jsem si vyžádal zkušební licenci pro Doctar Logical. Ten porovnává netlisty a výpisy materiálů řady programů (OrCAD, Allegro, PADS, Xpedition, Altium, P-CAD, Protel atd.). Rozpozná přidané, odstraněné či zaměněné vývody součástek a testovacích plošek, stejně jako změněné hodnoty, tolerance či typy součástek. Hlášení o rozdílech v netlistech a výpisech materiálu jsou ve formátech HTML a Excel. Jako příklad je na obr. 1 uveden výstup mého testovacího případu. Všechny změny popsané výše byly správně identifikovány. Ceny Doctar Logical a Doctar Physical jsou různé a liší se i podle počtu programů, jejichž výstupy mohou porovnávat. Licence je tedy zvlášť pro logické i fyzické porovnání (Logical/ Physical) a může být vázána na konkrétní počítač (MAC adresa) nebo být plovoucí (FlexLM).

Bez názvu

Net Changer

Net Changer [2] běží on-line na cloudu a je k použití zdarma na základě jednoduché registrace. Výrobcem programu je japonská firma Quadcept, která na cloudu provozuje i svůj stejnojmenný program pro návrh desek.

Net Changer porovnává pouze změny v zapojení, takže pracuje s netlisty různých formátů – zastoupena je většina dnešních návrhových programů (Eagle, PADS, Altium, OrCAD, Cadstar, Allegro, CR2000-8000, Xpedition), stejně jako nejznámější programy staršího data (P-CAD, Protel, Tango, Scicards, Visula, Caley, ComputerVision atd.). Možnost porovnávat i hodně staré netlisty s novějšími se mi zdá velmi užitečná, protože se jistě najdou příklady elektroniky navržené před mnoha lety, kterou je potřeba nějakým způsobem udržovat v chodu.

Proces porovnávání dvou netlistů je velmi jednoduchý a přímý. Program se spustí a do dialogového okna (obr. 2) se zapíšou názvy obou netlistů, přičemž pod Basic netlist je míněn původní netlist, zatímco Comparative netlist představuje netlist porovnávaný. Program sám rozpozná formát návrhového programu, ze kterého netlist pochází, ale pokud by se tak nestalo, je možné v políčku Format vybrat z nabídky odpovídající typ programu – při testu byl vybrán PADS PowerPCB (4-5), přestože netlist pocházel z PADS PowerPCB v9. Porovnávané netlisty nemusí být ve stejném formátu.

Bez názvu1

V části dialogu Option je možné nastavit některé další volby pro porovnávání, z nichž nejdůležitější je Comparison – tam lze vybrat Connect čili porovnání zapojení podle připojených vývodů součástek do jednotlivých netů bez ohledu na jejich název nebo Net Name, pokud názvy netů nebyly změněny (jinak budou hlášeny změny v názvech). Zajímavá volba je také Except Reference, kde je možné zapsat referenční značení součástek, které porovnávání nemá brát v úvahu, například v případě testovacích plošek − lze zapsat konkrétní značení (TP5 TP7) nebo obecně pro všechny plošky (TP*). Další užitečnou volbou je None polar parts, kde je možné zapsat referenční značení součástek, u kterých lze zaměnit vývody (rezistory, indukčnosti, kondenzátory, atd.) – porovnání nebude brát prohozené vývody jako změnu v zapojení. Podrobnější vysvětlení jednotlivých voleb je uvedeno na stránkách výrobce programu [3].

Po nastavení voleb a spuštění porovnání netlistů tlačítkem Execute se zobrazí výsledek (obr. 3). Výpis výsledků ve formátu CSV nebo HTML lze načíst přes tlačítka CSV download nebo HTML download. Interpretace záznamu výsledků není na první pohled zcela jasná, kromě červeného hlášení (4 nety se liší) ale políčka tabulky lze popsat takto:

  • Base Netname = Název netu v původním netlistu
  • Comp Netname = Název odpovídajícího netu v porovnávaném netlistu
  • Only Base = Vývody připojené k netu uvedeném v Base Netname (původní netlist)
  • Only Compare = Vývody připojené k netu uvedeném v Comp Netname (porovnávaném netlistu)
  • Equel = Vývody, které jsou společné netům uvedeným v Base a Comp Netname

Z tabulky na obr. 3 vyplývá (jako příklad), že:

  • Net $$$22730 byl původně připojen na U1-12 a U3-11, ale již neexistuje (v porovnávaném netlistu není žádný název netu, ani žádné připojené vývody)
  • Net $$$22731 byl přejmenován na $$$11111, ale se změnami – vývod U3-10 z nového netlistu vypadl, v novém netlistu na tomto netu přibyl vývod U1-12, zatímco vývod U1-13, který byl v původním netlistu, zůstává i v novém
  • Z netu $$$22737 vypadl vývod rezistoru R1-1, zbývající vývody (U3-2 a U3-3) zůstávají
  • Net $$$22774 zahrnoval původně vývody U5-6 a U3-1, ty zůstávají, ale přibyl vývod R1-1

Výsledek skutečně odpovídá změnám v porovnávaném netlistu. Jakmile se provede porovnání, další lze provést až po opětovném spuštění programu.

NetBom

Program NetBom [4] porovnává rozdíly mezi dvěma verzemi (revizemi) návrhu z programů Allegro, Altium, OrCAD a Mentor. Výsledkem je velmi podrobný výpis všech změn v netlistu a ve výpisu materiálu (BOM) – příklad výstupu při porovnání netlistu a výpisu materiálu je k dispozici na webu výrobce [5].

Výstupní hlášení uvádí například:

  • přidané, zrušené a přejmenované nety
  • nety s přidanými a odebranými vývody
  • vývody na nových netech
  • nety a vývody s rozdílnými vlastnostmi
  • změny v počtu součástek
  • změny ve značení součástek (RefDes)
  • zrušené a přidané značení součástek
  • značení součástek s rozdílnými typy
  • další změny

CompNetlists

Porovnání změn v netlistu je v případě programu Comp- Netlists [6] prováděno na dálku u výrobce programu, firmy ComSysDes (Communication Systems Design). Porovnává pouze netlisty z programu PADS Logic, přičemž se v dialogu na webové stránce výrobce zadají oba porovnávané soubory a e-mailová adresa odesílatele. I když je na webu uvedeno, že výsledek přijde během několika minut, díky časovému posunu jsem ho dostal až druhý den, nicméně byl správný (obr. 4). Za zmínku stojí, že tento nástroj neporovnává dva netlisty podle názvu sítě (netu), ale podle jejich skutečného napojení na jednotlivé vývody součástek. Eliminuje se tím problém vzniklý přejmenováním netu v průběhu změn ve schématu. Na druhou stranu to přináší jisté omezení ve velikosti porovnávaných netlistů, protože velikost výstupního souboru rapidně roste s mocninou počtu vývodů u netů, které byly změněny. Zdá se ale, že se toto omezení týká jen opravdu velkých netlistů, můj prošel bez problému.

Bez názvu2

Závěr

Programů pro porovnávání netlistů, případně i výpisů materiálu bude jistě více, ale ze zmíněných programů bych si vybral buď Net Changer (porovnání netlistů) nebo Doctar pro komplexní porovnání (netlist a BOM, případně i porovnání desek). V obou případech nebyl s použitím programu žádný problém.