Vývoj elektroniky | 14. 3. 2017

ActiveRoute™ – nový nástroj pro automatické routování spojů na DPS v Altium Designeru

Jeden z časově nejnáročnějších kroků při návrhu desky plošného spoje je její zaroutování. Jakmile je provedeno rozmístění součástek a jsou správně nastavena návrhová pravidla (šířky vodičů, velikosti prokovených otvorů, nastavení izolačních vzdáleností pro dané signály a další pravidla), přichází na řadu vložení tisíců segmentů vodičů, které vytvoří výsledný motiv mědi na desce plošného spoje tak, aby byly správně zapojeny všechny piny součástek.

Obr. 1

Již od doby, kdy se návrhy desek plošných spojů přesunuly z rýsovacího prkna na monitory počítačů, jsou snahy si tuto část práce usnadnit. Využití výpočetního výkonu pro autorouter však často naráží na následující bariéry:

  • Routování není pouze spojení dvou či více bodů tak, aby jejich spojnice byla co nejkratší. Návrhář na rozdíl od stroje ví o nesčetném množství funkčních a konstrukčních omezeních a dle toho přizpůsobuje trasy vodičů.
  • Aby výstupem autorouteru byl použitelný návrh, je potřeba jej nakonfigurovat. Při komplexní konfiguraci se autorouter dozví o omezeních zmiňovaných v předchozím bodu. Komplexní nastavení autorouteru je časově náročné. Samotná konfigurace není pro návrháře uživatelsky přívětivá a vyžaduje kompletní představu o návrhu před jeho zahájením. Mnohem jednodušší pro návrháře je určovat postup routování interaktivně v průběhu návrhu.
  • Ani komplexně nakonfigurovaný autorouter neposkytne takový výsledek, aby nebyl po jeho skončení nutný zásah lidské ruky. Posun a překreslení některých spojů je nezbytná součást dokončení návrhu. Při plně zaroutované desce je oprav mnoho a během nich se opět naráží na souslednost návrhu. Zde je také výhodou routovat desku interaktivně v průběhu návrhu, kdy se případné opravy týkají pouze části routování, která již poté může zůstat beze změny.

Obr. 2: Opravdu chcete použít autorouter?

Již byl zmíněn interaktivní postup routování. O co se vlastně jedná? U interaktivního postupu routování návrhář určuje posloupnost kroků přímo v desce plošného spoje. Říká, co se bude routovat dříve, která signálová spojení mají prioritu a může určit přibližnou trasu výsledných vodičů. V Altium Designeru je od verze 17 k dispozici nástroj pod názvem ActiveRoute™. Tento nástroj umožňuje automatické zaroutování skupiny vodičů určenou návrhářem. Kromě výběru vodičů, které se mají automaticky zaroutovat, může návrhář i určit kudy skupina vodičů na DPS povede (pomocí nakreslení kanálu – Route Guide). Klíčové vlastnosti nástroje ActiveRoute™ jsou:

  • Automatická optimalizace vývodů vodičů z pinů součástek, či prokovených otvorů.
  • Vysoký výkon interaktivního routování (jeden vodič < 1 s).
  • Během automatického routování jsou dodržována návrhová pravidla – šířka vodiče (Width), izolační vzdálenost (Clearance), vrstvy povolené pro routování (Routing Layers), topologie routování (Routing Topology). Pokud je v dané kategorii pravidel více, dodržují se nastavené priority jednotlivých pravidel.
  • Nástroj je schopen routovat na více signálových vrstvách současně.
  • Návrhář může určit kudy bude skupina vodičů vedena pomocí navržení Route Guide.
  • Podpora routování diferenciálních párů.
  • Po dokončení automatického routování probíhá optimalizace zaroutovaných vodičů. Dochází k redukci počtu zlomů a hran v naroutovaných vodičích. Díky tomu se zlepšuje celkový vzhled routování a není potřeba velkých zásahů do automaticky vytvořených vodičů.

Nastavení DPS před použitím nástroje ActiveRoute™

Nyní se podrobněji podíváme na nástroj ActiveRoute™. K tomu, abychom jej mohli použít, je potřeba připravit design dle následujících bodů:

□ Doporučujeme připravit si skupiny vodičů, které budou routovány současně, do tříd vodičů (Net Classes). Poté můžeme s výhodou využít panel PCB v kategorii Nets a vybrat rychle skupinu signálů, která se má routovat. Samozřejmě je možný i výběr vodičů k routování přímo v DPS (viz dále), ale díky přípravě vodičů do tříd bude výběr rychlejší a na žádný vodič nezapomeneme.

□ Pokud jsou již na DPS definovány plochy s rozlitou mědí (polygony), provedeme skrytí (Shelve) těchto polygonů, aby v místě polygonů mohlo proběhnout routování. Po dokončení routování polygony opět vrátíme do DPS pomocí funkce Restore.

□ Nastavení návrhových pravidel. Jak již bylo zmíněno při automatickém routování se dodržují návrhová pravidla. Před použitím nástroje je tedy nutno jejich správné nastavení:

  • Izolační vzdálenost (Clearance). Samozřejmé je dodržování priorit, pokud je v této kategorii pravidel více.
  • Šířka vodiče (Width). Používá se preferovaná šířka vodiče (Preffered). Pokud chceme v určité oblasti DPS použít vodiče s menší šířkou, vytvoříme v dané oblasti Room. Pro tento Room určíme pravidlo s menší preferovanou šířkou vodiče.

Room je nadefinovaná oblast na DPS. V nastavení projektu je možnost automaticky vytvořit Roomy na základě jednotlivých schématických listů, které jsou součástí projektu. Room je ale možno nadefinovat i přímo v DPS pomocí menu Design » Room » Create… K oblasti plošného spoje, kde je Room umístěn lze nadefinovat návrhová pravidla. K vytvoření návrhových pravidel, se používají filtrační výrazy WithinRoom (‘název Roomu’) a TouchesRoom (‘název Roomu’). Rozdílem mezi filtračními výrazy je odlišné chování k objektům, které leží na rozhraní daného Roomu. Pravidlo vytvořené pomocí filtračního výrazu WithinRoom platí pro objekty, které jsou kompletně uvnitř Roomu. Při použití filtračního výrazu TouchesRoom se pravidlo vztahuje i na objekty, které se Roomu jen dotýkají.


  • Pokud jsou součástí skupiny vodičů diferenciální páry, jsou routovány podle pravidla pro routování diferenciálních párů (Differential Pairs Routing). V tomto pravidle se zadává šířka vodičů v páru a jejich vzájemná vzdálenost, což určí výslednou impedanci diferenciálního páru. Stejně jako v případě šířky jsou použity preferované hodnoty šířky vodičů a jejich vzájemné vzdálenosti z návrhového pravidla Differential Pairs Routing.
  • Topologie vodičů (Routing Topology). Na základě tohoto pravidla se vytvoří vzdušné spoje (Connection). Automatické routování poté dodržuje tuto topologii. Pokud je požadována speciální topologie (např. DDR3/4 fly-by topologie), může být definována pomocí xSignálů. Pomocí nadefinovaných xSignálů se určí jednotlivá spojení od pinu k pinu a tím je určena výsledná topologie.

□ Provedeme vyvedení spojů z pouzder obvodů (Fanout) do signálových vrstev, ve kterých mají být vodiče vedeny. Nástroj ActiveRoute™ nevkládá prokovy a není tedy schopen změnit signálovou vrstvu pro daný vodič v průběhu automatického routování.

□ Do automatického routování nezahrnujeme napájecí a zemní vodiče. Nástroj je určen pro signálové vodiče, ignoruje vodiče přiřazené k Plane vrstvám (vnitřní vrstvy s rozlitou mědí, používané pro rozvod napájecích signálů a připojení zemního potenciálu) a vodiče, ke kterým je připojeno více než 20 pinů (jsou automaticky považovány za napájecí).

Obr. 3: Fanout pouzdra BGA vytvořený v pomocí nástroje Route » Fanout v Altium Designeru.

ActiveRoute™ je pokrokový nástroj, umožňující routování zcela novým způsobem. Jako takový je stále v aktivním vývoji. Při současném stavu je nutno mít na zřeteli určitá omezení:

  • ActiveRoute™ nevytváří zalomení spoje pomocí oblouku. Vodiče jsou zalamovány pomocí rovných úseků vodičů pod úhlem 45°.
  • ActiveRoute™ nevkládá prokovené otvory (Via, Microvia). Před spuštěním nástroje je tedy nutno provést vyvedení signálů do vnitřních vrstev (nezbytné např. u pouzder BGA).
  • Srovnání délky skupiny vodičů není podporováno. V současném stavu nástroj nezohledňuje délky vodičů při automatickém routování. Tedy pravidla pro srovnání délek (Matched Lengths) nejsou brána do úvahy. Délky vodičů musí být srovnány dodatečně pomocí nástrojů Interactive Length Tunning, případně Interactive Diff Pair Length Tunning při srovnávání délek jednotlivých diferenciálních párů mezi sebou.

Použití nástroje ActiveRoute™

Nyní se dostaneme k samotnému použití nástroje ActiveRoute™. Postup je jednoduchý, jde shrnout do následujících čtyř bodů, které dále rozebereme podrobněji: ƒ výběr vodičů, které mají být zaroutovány, ƒ výběr signálových vrstev, kde bude routování probíhat, ƒ vytvoření kanálu (Route Guide), kterými vodiče povedou (není nutná součást postupu), ƒ spuštění nástroje ActiveRoute™.

Výběr vodičů

Při volbě vodičů vhodných k routování máme možnost vybrat objekty, které budou vodiči spojeny (piny součástek, již vyvedené části vodičů, prokovy, případně celá pouzdra). Nejčastěji ale budeme vybírat vzdušné spoje (naznačení dosud nezaroutovaných vodičů, v Altium Designeru pod názvem Connections). Connection je možno vybrat při držení klávesy [Alt]. Výběr jednoho Connection je tedy [Alt] + kliknutí na Connection. Při výběru více Connections kombinujeme držení klávesy [Alt] se standardními způsoby výběru více objektů:

  • [Alt] + [Shift] + postupné klikání na Connections.
  • [Alt] + výběr oblasti pomocí levého tlačítka myši (zleva doprava) – výběr Connection, které jsou kompletně uvnitř vybrané oblasti.
  • [Alt] + výběr oblasti pomocí levého tlačítka myši (zprava doleva) – výběr Connection, které se i pouze dotýkají vybrané oblasti.
  • Při držení klávesy [Shift] spolu s výše zmíněnými kombinacemi přidáme nový výběr k již stávajícímu.

Pokud vodič spojuje více než dva piny, má tedy i více Connections. Je možno vybrat pouze jeden Connection (jednu část vodiče, spojení pin – pin), případně výběrem všech Connections celý vodič. Výběr všech Connections, které náleží jednomu vodiči, lze provést výběrem jednoho Connection a následného zmáčknutí klávesy [Tab]. Tím dojde k výběru všech Connections patřících k danému vodiči. Ušetříme si tedy manuální výběr jednotlivých Connections. Nástroj ActiveRoute™ automaticky zaroutuje pouze ty části vodiče, které jsou vybrány.

Výběr signálových vrstev

K nástroji ActiveRoute™ je přiřazen panel PCB ActiveRoute (z kategorie panelů PCB). V tomto panelu je možno zvolit v jakých signálových vrstvách bude probíhat automatické routování. Pokud nebude zvolena žádná z vrstev, použije se pro automatické routování momentálně aktivní vrstva v dokumentu DPS (vybraná záložka ve spodní části dokumentu DPS). Pro připomenutí – vodič musí být do vrstvy, ve které má být routován, vyveden (proveden fanout). Přechod mezi vrstvami není nástrojem ActiveRoute™ podporován.

Obr. 4: Panel PCB ActiveRoute.

Vytvoření Route Guide

Nepovinný krok v podobě naznačení kanálu, kterým mají vodiče procházet (Route Guide), jde využít zejména v případech, pokud chceme vodiče směřovat jinou než nejkratší cestou. Typickým příkladem může být vedení vodičů z více pinového pouzdra (např. BGA), kdy naznačíme, aby výsledné vodiče pouzdro obkroužily. Bez naznačeného kanálu by nejkratší cesta vedla skrze pouzdro. Po výběru Connections, které mají být zaroutovány, je možno kanál určit pomocí tlačítka Route Guide v panelu PCB ActiveRoute. Po kliknutí na tlačítko Route Guide se Connections semknou do jednoho bodu a poté klikáním určíme kanál, který se vykreslí jako čáry do mechanické vrstvy Route Guide. Pokud budeme chtít kliknutím přidaný segment odebrat, můžeme tak učinit pomocí tlačítka [Backspace]. Kanálem je určen nejen směr následného automatického routování, ale v podstatě je jím určená výsledná plocha, uvnitř které by vodiče měly být. Proto je důležitá i šířka kanálu. Šířku kanálu lze při jeho kreslení ovlivnit klávesami [↓], [↑]. Základní šířka se nastaví dle vzorce:

RouteGuideWidth = ((W+C)/#Layers)*1.3,

Kde W je šířka vodiče, C je izolační vzdálenost (obě hodnoty jsou brány z aktuálních návrhových pravidel). Ve jmenovateli je počet vrstev, které jsou povoleny pro automatické routování. Výsledek je vynásoben konstantou 1,3. Klávesami [↓], [↑] je možno konstantu měnit v rozsahu od 1 do 2. Kreslení kanálu ukončíme stisknutím pravého tlačítka myši. Z konce kanálu se Connections opět rozeběhnou k příslušným pinům. Již nakreslený kanál můžeme editovat. Editace probíhá ve vrstvě Route Guide. Kanál je v této vrstvě tvořen entitami čar (Track). Po nakreslení kanálu jsou entity zamčeny (Locked), aby se zabránilo neúmyslné editaci. Po dvojkliku na entitu a odebráním příznaku Locked ve vlastnostech, je možno entity čar editovat (posun čáry, změna koncového bodu). Tímto je kanál připraven pro automatického routování.

Obr. 5 Příklad použití Route Guide.

Spuštění nástroje ActiveRoute™

Samotné spuštění nástroje ActiveRoute™ může proběhnout následujícími způsoby:

  • z menu Route » ActiveRoute, ƒ kliknutím na ikonu ActiveRoute v toolbaru,
  • kliknutím na tlačítko ActiveRoute v panelu PCB ActiveRoute,
  • použitím klávesové zkratky [Shift] + [A].

Následně proběhne automatické zaroutování předem vybraných vodičů. V průběhu procesu je možno ve stavovém řádku sledovat jeho vývoj. Po dokončení procesu je v panelu Messages k dispozici zpráva s výsledným poměrem úspěšnosti automatického routování. Pokud je poměr úspěšnosti nízký, může být původ ve špatně nastavených návrhových pravidlech, či malé šířce kanálu Route Guide.

V konečné fázi automatického routování probíhá výkonná optimalizace zaroutovaných vodičů pomocí nástroje Glossing. Optimalizace je zaměřena na snížení celkové délky vodičů. Dochází k redukci počtu zlomů a hran v naroutovaných vodičích a optimalizují se výstupy vodičů z pinů součástek. Nástroj Glossing lze využít i samostatně na vybrané již zaroutované vodiče (i jiným způsobem než pomocí nástroje ActiveRoute™). Po vybrání zaroutovaných vodičů je možno vyvolat nástroj z menu Route » Gloss Selected.

Obr. 6 Ukázka výsledku routování provedeného nástrojem ActiveRoute™.

Shrnutí

ActiveRoute™ je velmi výkonný nástroj pro automatické routování. Nabízí zcela nový přístup k routování. Umožňuje intuitivně přímo v DPS routovat skupiny vodičů určené návrhářem, včetně možnosti naznačit trasu vodičů. Celý postup je tedy pro návrháře interaktivní a výsledek každého kroku je k dispozici během několika vteřin. Pro návrháře je postup intuitivní oproti komplexnímu nastavování autorouteru. Nástroj podporuje i routování diferenciálních párů díky dodržování šířky vodičů v páru a jejich vzájemné vzdálenosti. Součástí procesu automatického routování je optimalizace délky a vyhlazení vodičů. Optimalizovány jsou také výstupy z pinů součástek. Díky tomu výsledné vodiče z velké části odpovídají potřebám návrháře a nezbytných dodatečných úprav není mnoho. ActiveRoute™ je čerstvě uvolněný nástroj z dílny vývojářů Altia. Je stále ještě v aktivním vývoji. V následujících verzích se můžeme těšit na vylepšení tohoto nástroje.


Vedoucím návrhářem, který se podílí na vývoji nástroje ActiveRoute™ je Charles Pfeil. V oblasti vývoje softwarových nástrojů pro návrh DPS se pohybuje převážnou část svého profesního života, tedy více než 20 let. Specializuje se na routování a vyvedení spojů ze složitějších pouzder (fanout). Je autorem knihy BGA Breakouts and Routing.


Zdroje informací

[1] http://www.altium.com/documentation/17.0/display/ ADES/((ActiveRoute))_AD

[2] http://www.edatools.cz/supportblog/support/ supportbloq/comingsoonad170

Zdroje obrázků

  • Obr. 1: http://www.altium.com/documentation/17.0/ display/ADES/((ActiveRoute))_AD
  • Obr. 2: https://www.altium.com/blog/ pcb-autorouter-history-failed-automation
  • Obr. 3: http://techdocs.altium.com/display/ALEG/ Whats+New+in+Altium+Designer+6.0
  • Obr 4–6: vlastní