Skip to content
 

gEDA: Ako pospájať symboly

Aj keď by názov mohol naznačovať že bude pojednávať o kreslení schém, nebude to tak. Budeme sa venovať iba všetkým možným spôsobom, ako prepojiť súčiastky v schéme – počnúc kreslením čiar a končiac vhodným použitím atribútov.

Spájame pomocou spojov

Je to ten najjednoduchší spôsob. Pomocou spojov prepájame jednotlivé piny súčiastok.

Pokiaľ je spoj správne pripojený k pinu, z pinu zmizne červený konček. Pokiaľ je červený konček stále viditeľný, pravdepodobne je koniec pinu mimo mriežky, v ktorej schému kreslíme. Problém je treba opraviť – buď zmenšíme mriežku alebo skúsime symbol umiestniť znova. Pokiaľ problém neodstránime, netlister nebude považovať pin za pripojený.

Pokiaľ máme na konci spoja červený štvorček, tak tento signalizuje nepripojený spoj. Takisto tento problém je dobré vyriešiť.

Ak sa jeden spoj pripája na iný uprostred, úspešné spojenie (uzol) je indikované žltým krúžkom.

Všetky prípady vidíme na obrázku:

Jedno upozornenie: skúste sa vyhnúť situáci, keď pripojíte do uzla spájajúceho viac sietí (uzol je indikovaný žltým krúžkom) aj pin symbolu. Za istých okolností netlister môže nesprávne vyhodnotiť spojenie sietí a pinov. Takisto sa nepokúšajte pripojiť sieť k pinu inde ako na jeho konci.

Pomenované siete

Sieťou rozumieme sústavu prepojení pinov symbolov. Každá schéma obsahuje jednu alebo viac sietí, každá sieť môže prepájať ľubovoľné množstvo pinov (obvykle viac ako dva).

Každá sieť má nejaké meno. Buď jej meno priradíme, alebo má implicitne priradené meno Unnamed_netx, kde x je poradové číslo.

Meno môžme sieti priradiť pomocou atribútu netname. Tento atribút priradíme priamo spoju (nie pinu).

Pomenovanie siete môžeme úspešne využiť na prepojenie sietí, ktoré v schéme nie sú graficky prepojené. Ak dvom alebo viacerým sietiam priradíme to isté meno, tak ich vlastne elektricky prepojíme. Nasledujúci obrázok je elektricky zhodný s obrázkom z predošlého odstavca.

Na obrázku je atribút netname zobrazený s menom aj hodnotou, avšak v skutočnej schéme ponecháme viditeľnú iba hodnotu atribútu alebo ho schováme úplne:

Virtuálne piny a piny s pomenovanou sieťou

Ak symbol obsahuje virtuálne piny vytvorené pomocu atribútu net (napríklad napájanie alebo zem), tak tento symbol vytvorí sieť s týmto menom. Táto sieť poprepája všetky virtuálne piny s atribútom net s rovnakou hodnotou a takisto ich prepojí so sieťami pomenovanými atribútom netname s rovnakou hodnotou.

Sieť môžme pomenovať aj tým, že jednému z pinov pripojených do siete nanútime meno siete pomocou atribútu net. Tento spôsob sa najčastejšie využíva pri symboloch typu terminál (pomenované IO, napájanie, zem). Toto je neodporúčaná prax – správnejšie by bolo pomenovať sieť ku ktorej je symbol pripojený. Avšak pripojenie atribútu k pinu prináša isté výhody (meno siete a presúva so symbolom) a preto je toto jediný prípad, keď je povolené (resp. trpené) prekrytie fyzického symbolu atribútom net.

Samozrejme, atribút net môže byť schovaný.

Nepríjemnou vlastnosťou pinov definovaných atribútom net je ich typ – všetky takéto piny majú v netlisteri typ pwr a nie je možné ho zmeniť. Typ pwr je napevno definovaný priamo v netlisteri. Druhý problém s atribútom net sa môže vyskytnúť pri hierarchickom návrhu – vieme špecifikovať, že siete pomenované atribútom net sa nemajú premenovávať. To je dobrá vlastnosť pri napájaní, avšak iné signály sa nám môžu poprepájajať nevhodným spôsobom.

Spájame pomocou zberníc

Zbernica predstavuje súbor spojov, kreslený jednou spoločnou hrubou čiarou. Technicky, v gEDA nemá reprezentácia zbernice žiaden špeciálny význam – predstavuje iba grafické znázornenie zbernice. Zatiaľ. V súčasnosti prebieha istá snaha o vylepšenie netlistera, aby akceptoval zbernicu ako elektrické prepojenie, avšak bez viditeľného výsledku.

Štandardným riešením je prepojenie signálov zbernice je realizované pomocou pomenovaných sietí (atribútom netname). Menej štandardným, neodporúčaným ale tiež fungujúcim spôsobom je nanútenie názvu siete pomocou atribútu net prekrývajúcom pin pripojený k zbernici.

Každá prípojka k zbernici predstavuje úplne obyčajný spoj, tvoriaci sieť. Ak túto sieť pomenujeme, zabezpečíme elektrické prepojenie s inými odbočkani zbernice rovnako pomenovanými. Pomenovanie siete (odbočky) dosiahneme atribútom netname, podobne ako u každej inej siete. Samozrejme, týmto spôsobom vieme prepojiť signál zbernice s akoukoľvek inou sieťou rovnakého mena.

Podobný efekt môžme dosiahnuť pomocou atribútu net, pripojeného k symbolu. Atribút net vieme úspešne využiť hlavne v spojení so zbernicovým pinom. Tento typ pinu predstavuje – podobne ako zbernica – súbor pinov pod jedným menom. Viac o zbenicovom pine nájdete v článku gEDA: Tvorba symbolov pre gEDA. Keďže zbernicový pin je netlisterom ignorovaný, týmto postupom neporušíme pravidlo o neprekrývaní fyzických pinov atribútom net. Pokiaľ symbol navrhneme podľa odporúčaní v článku gEDA: Tvorba symbolov pre gEDA máme situáciu podstatne jednoduchšiu – atribúty net máme predpripravené, stačí zmeniť názov zbernice a atribúty schovať. Jeden problém je pri kontrole správnosti – všetky piny definované pomocou atribútu net majú typ pwr a tým pádom DRC hlási varovania (tento problém sa dá obísť tým, že k sietiam pripojíme symbol s DRC direktívou DontCheckPintypes, zbavíme sa síce varovaní, ale súčasne sa zbavíme aj kontroly). Druhý problém – takto pripojený symbol môže spôsobiť problémy v hierarchickom návrhu.

Na nasledujúcom obrázku vidíme obidva spôsoby. Popisy prípojok na ľavej strane sú atribúty netname, atribúty net na pravej strane sú pripojené k symbolu a v skutočnosti by mali byť schované. Obidva symboly sú z hľadiska chovania úplne identické a netlister prepojí správne piny.

Spracovanie zberníc netlisterom je jedna z najhorúcejších tém a požadovaných vlastností. Je možné, že v blízkej budúcnosti sa spracovanie zberníc zmení. Dúfajme, že ostane zachovaná spätná kompatibilita a pribudne mnoho vylepšení. Je naozaj čo doháňať.

Zatiaľ odporúčam používať systém pomenovania signálov zbernice atribútom netname. Je to najčistejšie riešenie, je plne akceptované všetkými nástrojmi.

Konflikty v pomenovaných sietiach

Ak sa stane, že jednej sieti pridadíme dve rôzne mená, nič vážne sa nedeje. Netlister jednu zo sietí a ostatné siete premenuje. Odporúčam skontrolovať, či k tomu došlo a prípadne siete premenovať, prípadne zmeniť atribúty net. V opačnom prípade môže sieti ostať ničnehovoriace alebo nevhodné meno, čo môže skomplikovať orientáciu pri návrhu DPS.

Štandardne majú pomenovania sietí pomocou atribútu net prednosť pred pomenovaním atribútom netname. Toto je možné zmeniť voľbou v súbore gnetlistrc:

(net-naming-priority "netname")

S touto voľnou bude mať prednosť atribút netname. Štandardná voľba, uprednostňujúca atribút net znie:

(net-naming-priority "netattrib")

Na kontrolu môžme použiť kontrolný netlist vygenerovaný pomocou gnetlist -g geda … (detaily viz ďalej) – v ňom sa objaví podrobná informácia o premenovaných sietiach.

Napríklad pre takýto konflikt


Nájdeme v logu informáciu:

START renamed-nets

NET1 -> NET2

END renamed-nets

Nezapojené piny

Nezapojené piny je vhodné ošetriť pomocou symbolu obsahujúceho DRC direktívu NoConnection. Viac o DRC direktívach nájdete v článku gEDA: Tvorba symbolov pre gEDA. Symbol na ilustračnom obrázku v štandardnej knižnici nenájdete. Štandardné symboly (nc-…-1.sym) sa mi nepáčili, tak som si vytvoril vlastný.

Kontrola zapojenia

Schému je dobré kontrolovať na chyby zapojenia. Na kontrolu sa používa netlister. Máme k dispozícii dva typy kontroly: kontrola zapojenia a kontrola elektrickej správnosti.

Prvá kontrola vyeneruje netlist v čitateľnej podobe. Tento netlist môžme použiť na kontrolu, či sú pospájané dohromady tie správne piny a či vďaka zabudnutému atribútu net alebo netname sa nám neprepojili nesprávne siete.

gnetlist -g geda -o test.log test.sch

Výstup kontroly sa nachádza v súbore test.log.

Druhou kontrolou je kontrola správnosti (DRC). Táto kontrola pomôže odhaliť nezrovnalosti v zapojení. Pokiaľ používame starostlivo navrhnuté symboly (ako odporúčame na inom mieste), ušetrí nám to veľa starostí.

gnetlist -g drc2 -o test.log test.sch

Výstup kontroly sa opäť nachádza v súbore test.log. Odporúčam vychytať čo najviac chýb, vychytať úplne všetky chyby a varovania nie je vždy jednoduché.

Zdroj

http://geda.seul.org/wiki

 

Print Friendly, PDF & Email
1 441 zobrazení