Tvorba makromodelu: Rozdiel medzi revíziami
 (Vytvorená stránka „Category:Simulácie a modelovanie  == Tvorba modelu ==  Z funčnej simulácie môžeme jednoduchým spôsobom vytvoriť nový komponent, ktorý možeme štandardným sp…“)  | 
				|||
| Riadok 7: | Riadok 7: | ||
[[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 ky 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 komponenton, 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 postupu.  | ||
== Výsledky ==  | == Výsledky ==  | ||
Verzia zo dňa a času 09:50, 7. 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 oz 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 append zadávame cesty ky 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 komponenton, 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.
Výsledky
Súbory a prílohy
| 0301_generator.sch | 0301_generator.pdf | 0301_generator_1.png | 
Odkazy a literatúra
- qqq