česky english Vítejte, dnes je čtvrtek 21. listopad 2024

CS-ROUTER se vrací

DPS 2/2012 | Články
Autor: RNDr. Jiří Pokorný

Tenhle název jsem si tak trochu vypůjčil od tvůrců filmu „Kuky se vrací“ a taky proto, že je to pravda. Před více než 20 lety se autor tohoto článku pustil do jiných činností než je programování a vývoj algoritmů, kterým se do té doby věnoval, a opustil tak v té době slibně se vyvíjející platformu návrhových systémů, kdy česká elektronika měla co dohánět. Před půl rokem mu došlo, kde je jeho místo, a vrátil se tak ke svému koníčku a fascinujícímu světu algoritmů.

Od té doby se změnily počítače, operační systémy, grafika, technologie a tak bylo co dohánět. Půl roku trvalo, než původní verze autorouteru úspěšného v 90. letech byla přetavena do díla, které dnes může konkurovat stávajícím populárním autorouterům. Zde je vhodné připomenout, že ten původní autorouter byl používán jako externí autorouter např. u návrhového programu EAGLE začátkem 90. let, tedy v době, kdy EAGLE svůj vlastní autorouter ještě ani neměl.

Uvádím vlastnosti autorouteru, který jsem nazval CS-ROUTER, protože je ryze českým dílem:

  • neomezený počet součástek, pinů, spojů, velikosti desky plošného spoje nebo čipu až do vyčerpání paměti počítače
  • 32 vrstev pracovního prostoru
  • volitelná návrhová pravidla podle spoje nebo vrstvy (šířka spoje a izolační mezera)
  • priority pro široké vodiče, bus spoje a plane spoje (většinou napájecí spoje)
  • široký sortiment pájecích plošek podle definice uživatele
  • volitelná návrhová strategie pro vedení spojů na jednotlivých vrstvách
  • optimalizace spojů (minimalizace průchodů)
  • diagonální router – vedení vodičů na desce v násobcích úhlu 45 stupňů
  • použití rip-up techniky ke kompletizaci spojového obrazce
  • algoritmus respektující návrhová pravidla, která je možno následně v detailním prohlížeči kontrolovat užitím grafických znázornění.

Algoritmus pracuje v nepravidelné mřížce, která je odvozena od základních návrhových pravidel, šířky vodiče a izolační mezery a také od rozteče pinů jednotlivých součástek, které mohou být libovolné. Výsledkem je velmi slušná propojitelnost algoritmu. Ukázka spojového obrazce je vidět na obr. 1.

CS-ROUTER se vrací 1

Obr. 1 CS-ROUTER – uživatelské prostředí

Návrh obrazce sestává z počátečního návrhu a několika optimalizačních kroků (re-routing), v němž se program snaží odstranit dosud nepropojené spoje, a tedy o kompletizaci obrazce a o snížení délky vodičů a počtu průchodů mezi vrstvami. Dosahuje tak vhodnou penalizací a stanovením parametrů v jednotlivých krocích návrhu. Na obr. 2 jsou vidět možnosti nastavení parametrů autorouteru.

CS-ROUTER se vrací 2

Obr. 2 Možnosti nastavení autorouteru

A jak celé propojení mezi existujícím návrhovým systémem a autorouterem funguje? Jednoduše – kopíruje současný stav, kdy uživatel návrhového systému dojde v případě nového návrhu DPS až do stadia rozmístění součástek na desce a stojí před úkolem vytvoření spojového obrazce. Uživatel převede data desky do autorouteru, kde navrhne spojový obrazec a jeho optimální podobu převede zpět do programu pro návrh desky.

CS-ROUTER využívá pro načtení dat desky formát DSN, což je původní vstupní formát autorouteru Specctra, dnes používaný i dalšími externími autoroutery, jako jsou např. Electra. Většina programů pro návrh DPS umí DSN soubor vytvořit, takže připojení CS-ROUTERu není problém. Pro přenos spojového obrazce z autorouteru zpět do programu pro návrh desky používá CS-ROUTER rovněž již zavedený formát SES (opět formát používaný za tímto účelem autoroutery Specctra i Electra), nebo SCRIPT, který je individuálně vytvořen pro daný návrhový systém desky (např. pro EAGLE).

I když dnešní návrhové programy DPS již autorouter obsahují, použití CS-ROUTERu jako externího autorouteru může poskytnout lepší výsledky. Vytvoření spojového obrazce může být např. rychlejší díky jeho modernímu algoritmu. Použitím nepravidelné mřížky pro pokládání spojů a tažením spojů diagonálně může docílit nebo se více přiblížit 100% propojení desky s lepším provedením (učesáním) spojů.

Příkladem možného použití tohoto autorouteru je např. program EAGLE, jehož vlastní autorouter je dnes již zastaralý a nepříliš účinný. Protože EAGLE je v Čechách i na Slovensku velmi rozšířený, byly první testy nového autorouteru prováděny právě ve spojení s tímto programem. EAGLE již má k dispozici výstup do DSN souboru, stejně jako skript pro zpětné načtení spojů do návrhu desky a tak nic nebrání k použití CS-ROUTERu jako externího autorouteru pro EAGLE.

Autor doufá, že se CS-ROUTER stane důstojným konkurentem stávajících software na trhu a vidí budoucnost v dalších technikách a tricích, které algoritmus v rámci umělé inteligence donutí řešit neustále složitější obvody na bázi „escape routingu“ a simultánního propojování. Dnes je velmi obtížné stanovit pořadí spojů tak, aby dosud navržené spoje byly minimální překážkou pro ještě nenavržené. Simultánním propojováním tento nedostatek odpadne a zvýší se propojitelnost prostoru. Dosud publikované akademické routery pomáhají autorovi v orientaci a trendech ve vývoji součástek a technikách uplatňovaných při řešení tak komplikovaných úloh, jakým kompletní a všem požadavkům vyhovující navržený spojový obrazec je.

Chystá se rovněž aktivní spolupráce uživatele, kdy budou autorouterem prioritně propojovány spoje, součástky nebo oblasti zvolené uživatelem. CS-ROUTER se tak svými možnostmi velmi přiblíží autorouterům, jejichž cena je podstatně vyšší.