Tvorba makromodelu: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
(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 10: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).

0551 xspice.png

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

640px


Súbory a prílohy

Gschem-48.png Source Edit-find.png Docs Gerbv-48.png Result
0301_generator.sch 0301_generator.pdf 0301_generator_1.png

Odkazy a literatúra

  • qqq