Tvorba makromodelu: Rozdiel medzi revíziami
Riadok 3: | Riadok 3: | ||
== Tvorba modelu == | == Tvorba modelu == | ||
− | Z funčnej simulácie môžeme jednoduchým spôsobom vytvoriť nový komponent, ktorý možeme štandardným spôsobom ďalej používať. V nasledujúcom si ukážeme tvorbu hybridného makromodelu obvodu časovača 555. Z [http://193.87.70.141/mediawiki/index.php/Hybridn%C3%A1_simul%C3%A1cia_obvodu_555 hybridnej simulácie] obvodu vyberieme relevantnú časť, oddelíme ju | + | Z funčnej simulácie môžeme jednoduchým spôsobom vytvoriť nový komponent, ktorý možeme štandardným spôsobom ďalej používať. V nasledujúcom si ukážeme tvorbu hybridného makromodelu obvodu časovača 555. Z [http://193.87.70.141/mediawiki/index.php/Hybridn%C3%A1_simul%C3%A1cia_obvodu_555 hybridnej simulácie] obvodu vyberieme relevantnú časť, oddelíme ju od zemného potenciálu a všetky vstupné a výstupné uzly pomenujeme, zemnú svorku ako AGNG alebo DGND (nie GND). |
<center> | <center> | ||
[[Súbor:0551_xspice.png| 640px]] | [[Súbor:0551_xspice.png| 640px]] | ||
</center> | </center> | ||
− | Pôvodný model je rozšírený o resetovací vstup, tak ako je to pri skutočnom obvode 555. Zapojenie uložíme do súboru [http://193.87.70.141/~pf/wiki_upload/sch/0551_xspice_555.sch 0551_xspice_555.sch] a v interaktívnom móde pythonu vygenerujeme [http://193.87.70.141/~pf/wiki_upload/net/0551_xspice_555.net netlist] modelu (v argumente príkazu append zadávame cesty | + | Pôvodný model je rozšírený o resetovací vstup, tak ako je to pri skutočnom obvode 555. Zapojenie uložíme do súboru [http://193.87.70.141/~pf/wiki_upload/sch/0551_xspice_555.sch 0551_xspice_555.sch] a v interaktívnom móde pythonu vygenerujeme [http://193.87.70.141/~pf/wiki_upload/net/0551_xspice_555.net netlist] modelu (v argumente príkazu ''sys.path.append'' zadávame cesty ku skriptom gsim): |
>>> import sys | >>> import sys | ||
Riadok 33: | Riadok 33: | ||
.ENDS | .ENDS | ||
− | Pokiaľ chceme mať model kompatibilný na úrovni pinov zo skutočným | + | Pokiaľ chceme mať model kompatibilný na úrovni pinov zo skutočným komponentom, do argumentu príkazu .SUBCKT zadávame mená pomenovaných netov - pripojení v takom poradí, ako sú čislované piny skutočného komponentu. Model [http://193.87.70.141/~pf/wiki_upload/model/timer_555.spm timer_555.spm] uložíme medzi ostatné modely ''gsim''. |
− | K modelu je potrebné ešte vytvoriť jeho grafickú reprezentáciu pre ''gschem'' podľa štandardného [http://geda.seul.org/wiki/geda:scg postupu]. Meno komponentu [http://193.87.70.141/~pf/wiki_upload/sym/timer_555.sym timer_555.sym] , hodnota atributu ''value'' a meno modelu [http://193.87.70.141/~pf/wiki_upload/model/timer_555.spm timer_555.spm] '''musia''' byť (bez prípony) rovnaké. | + | K modelu je potrebné ešte vytvoriť jeho grafickú reprezentáciu pre ''gschem'' podľa štandardného [http://geda.seul.org/wiki/geda:scg postupu]. |
+ | Meno komponentu [http://193.87.70.141/~pf/wiki_upload/sym/timer_555.sym timer_555.sym], | ||
+ | hodnota atributu ''value'' a meno modelu [http://193.87.70.141/~pf/wiki_upload/model/timer_555.spm timer_555.spm] '''musia''' byť (bez prípony) rovnaké. | ||
<center> | <center> |
Verzia zo dňa a času 00:07, 13. január 2010
Tvorba modelu
Z funčnej simulácie môžeme jednoduchým spôsobom vytvoriť nový komponent, ktorý možeme štandardným spôsobom ďalej používať. V nasledujúcom si ukážeme tvorbu hybridného makromodelu obvodu časovača 555. Z hybridnej simulácie obvodu vyberieme relevantnú časť, oddelíme ju od zemného potenciálu a všetky vstupné a výstupné uzly pomenujeme, zemnú svorku ako AGNG alebo DGND (nie GND).
Pôvodný model je rozšírený o resetovací vstup, tak ako je to pri skutočnom obvode 555. Zapojenie uložíme do súboru 0551_xspice_555.sch a v interaktívnom móde pythonu vygenerujeme netlist modelu (v argumente príkazu sys.path.append zadávame cesty ku skriptom gsim):
>>> import sys >>> sys.path.append('../py/') >>> from gsim import * >>> gs=gsim('0551_xspice_555.sch') >>> gs.createNetlist()
Z netlistu odstránime nepotrebné resp. doplníme komentáre a doplníme záhlavie a ukončenie modelu SPICE príkazmi .SUBCKT a .ENDS
* XSPICE MACROMODEL TIMER 555 .SUBCKT TIMER_555 AGND TRIG OUT RESET CONT THRES DISCH VDD ... R3 VDD CONT 100k R5 4 AGND 100k R4 CONT 4 100k ... * >>><<< A8 11 7 9 10 D_NAND_3 A8 [11 7 9] 10 D_NAND_3_A8 .MODEL D_NAND_3_A8 D_NAND ( + rise_delay=1.0e-9 + fall_delay=1.0e-9 + input_load=1.0e-12 ) ... .ENDS
Pokiaľ chceme mať model kompatibilný na úrovni pinov zo skutočným komponentom, do argumentu príkazu .SUBCKT zadávame mená pomenovaných netov - pripojení v takom poradí, ako sú čislované piny skutočného komponentu. Model timer_555.spm uložíme medzi ostatné modely gsim.
K modelu je potrebné ešte vytvoriť jeho grafickú reprezentáciu pre gschem podľa štandardného postupu. Meno komponentu timer_555.sym, hodnota atributu value a meno modelu timer_555.spm musia byť (bez prípony) rovnaké.
Súbory a prílohy
![]() |
![]() |
![]() |
---|---|---|