česky english Vítejte, dnes je sobota 20. duben 2024

Od ripup-reroute až ke sketch autorouteru

DPS 3/2019 | Články
Autor: Ing. Milan Klauz

Když se v osmdesátých letech minulého století objevil autorouter, který uměl automaticky položit na desku všechny (nebo alespoň většinu) plošných spojů, otevřely se v návrhu desek zcela nové možnosti. Konečně tu byla šance, že program může návrháři výrazně usnadnit práci. Autoroutery, které do té doby existovaly, byly z dnešního pohledu velmi jednoduché, protože uměly pokládat spoje jenom do volného prostoru na desce (channel autorouter), což jen málokdy mohlo stačit. Zde je ale nutné připomenout, že to bylo v době, kdy součástky byly pořád ještě vývodové, plošné spoje se táhly v palcovém rastru 50 milsů (1,252 mm) kvůli vývodům integrovaných obvodů a problém s routováním se řešil přidáváním dalších signálních vrstev desky.

Od ripup-reroute až ke sketch autorouteruRipup-reroute autorouter

Nový ripup-reroute autorouter uměl, na rozdíl od těch předcházejících, zacházet i se spoji, které již byly na desce položené. Byl schopen odstranit překážející plošný spoj (ripup), aby si tak udělal volné místo pro položení jiného spoje, přičemž se pak následně pokoušel odstraněný spoj položit někde jinde (reroute). Pochopitelně, že se tímto způsobem práce dostal autorouter občas do nekonečného cyklu odstraňování a nahrazování jednotlivých spojů. Nicméně automatické routování desky se posunulo o krok dopředu a umožnilo navrhovat desky rychleji. Nejznámější autorouter (Bartels Autorouter) byl známý pod označením Superrouter. Koncem osmdesátých let ho používala většina tehdejších návrhových programů, například PADS už od roku 1988. Známým českým ripup-reroute autorouterem byl CS-Router z počátku devadesátých let, který měl interface i na tehdy oblíbený program Eagle.

Aby šance na položení všech spojů na desku byla co největší, autorouter se nesnažil náhodně položit libovolné spoje, nýbrž pokládal určité spoje v nastaveném pořadí. Pracoval tedy v tzv. vlnách (passes), přičemž začínal obvykle na spojích pro napájení, pokračoval přes sběrnice až ke všem zbývajícím. Tím, že pokládal důležité spoje na začátku, měl na desce k dispozici dostatek místa, které postupně ubývalo. Po položení všech spojů nebo po vyčerpání všech možností zbývající spoje položit probíhala optimalizace rozložení spojů na desce. Ta byla většinou nutná, protože odstraněním spojů a jejich položením v jiných místech desky vznikly mnohdy zbytečně dlouhé plošné spoje, zatímco se na desce odkryly nové volné cesty. Optimalizace se pokoušela lépe využít místo na desce, zkrátit spoje a snížit počet via otvorů.

Uživatel si mohl některé možnosti autorouteru a optimalizaci nastavit pomocí tzv. vah, které formou více/méně naznačovaly, jakou důležitost (váhu) má autorouter určitým záležitostem věnovat.

Push-shove autorouter

Výsledky ripup-reroute autorouteru povzbudily vývoj dalších algoritmů automatického routování spojů. Koncem 80. let byl uveden push-shove router, který překážející plošné spoje neodstraňoval, ale odsouval je stranou, případně i čelně, pokud bylo na přesunutí místo. Autorouter mohl vtlačit (push) nový spoj mezi již položené spoje, které se odsunuly stranou (shove). Odsouvaný plošný spoj mohl rovněž odsunout další překážející spoje podle potřeby, dokonce až za otvor, pokud byl v cestě. Nejznámějším push-shove autorouterem byl MaxRoute od americké firmy Massteck, který byl v průběhu času implementován do různých návrhových programů.

Výhodou push-shove routování byla elegance routování a krátké plošné spoje, protože přesouvané spoje nebyly násilně přemisťovány do zcela jiné polohy, ale pouze přesunuty do stran. Protože ani push-shove metoda nemohla zaručit stoprocentní routování desky, byla pro dosažení lepších výsledků kombinována s algoritmem ripup-reroute.

Tento způsob automatického routování také umožnil realizovat autointeraktivní routování – to spočívalo v tom, že vybraný spoj byl manuálně pokládán do volných míst na desce až do chvíle, kdy nebylo možné spoj táhnout dále kvůli ostatním překážejícím spojům, a push- -shove autorouter práci dokončil. Kombinace autorouteru pro všechny nebo vybrané spoje a autointeraktivního routeru pomohla významnou měrou k rychlému návrhu stále složitějších desek.

NeuroRouter

Zcela nový přístup k routování desek přinesl NeuroRouter. Používal sice ripupreroute i push-shove algoritmy, ale ty pracovaly na základě již nabytých zkušeností. Autorouter se učil z vlastních chyb, a tak se mohl vyhnout situacím, které nevedly k cíli. NeuroRouter byl po několika letech prodán několika výrobcům návrhových programů, např. firmám Orcad a Protel.

Autorouter Specctra

Tento router z poloviny devadesátých let od firmy Cooper & Chyan pracoval zcela odlišně než ostatní. V prvním kole položil na desku všechny spoje, a to i za cenu přestupků, jako byly například mezery nebo zkraty křižujících se spojů. Navíc pokládal spoje na desku jenom pravoúhle, protože to bylo rychlejší. V dalším kole používal všech možných technik k tomu, aby nalezl problémy a odstranil je, a nakonec podle možností srazil pravoúhlé rohy spojů na diagonální. Tato zdánlivě zvláštní strategie se ukázala jako poměrně účinná, když umožnila rychle routovat i složité desky.

Sketch Router

Časem se situace v návrhu desek změnila – komplexní desky s velmi rychlými obvody nejsou automatickému routování celé desky příliš nakloněné, protože při pokládání jednotlivých spojů vyžadují osobitý přístup návrháře. To byl důvod pro vývoj autorouteru, který se snaží vytvořit spoj na desce pouhým naznačením požadovaného směru, a to jak pro vybraný spoj, tak i pro skupinu spojů, například sběrnici. Naznačení směru jednoduchou skicou (sketch) stačí autorouteru k tomu, aby promyslel možné alternativy tažení spoje a tu nejlepší realizoval. Netřeba dodávat, že tento autorouter využívá pro splnění úkolu všech známých algoritmů routování. Protože není potřeba spoje táhnout ručně, pouze stačí naznačit směr, jde routování velmi rychle. Návrhové systémy, jako např. PADS Professional, dnes už ani jiný autorouter nemají.