Description of gsim

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání

gsim is simulation pre/post processor for gschem, ngspice and matplotlib based on Python. Allows easy control of simulation process directly from the circuit in gschem or interactively in Python environment.

A. Standard simulation - simulation is controlled directly from gschem (see examples)

0558 comp.png
Example - gEDA/gschem circuit diagram
0558 comp 1.png
Example - Simulation result, defined by A2

gsim contains a set of predefined components (see list of components )


B. Python scripting - simulation is controlled from Python language/enviroments (eg. IPython, Geany )

 1 ...
 2 from gsim import *
 3 g=gsim('file_name.sch')       # load gschem file in to simulator
 4 g.netlist()                   # create and update netlist 
 5 
 6 for i in arange(1e-5, 10e-5, 1e-5):   
 7 	g.setPAR('IB',i)           # update parameter in netlist
 8 	g.sim()                    # repeat sumulation
 9 	ic=g.yData.get('v(ic)')    # extract data from simulation in to python enviroment
10 	plt.plot(g.xData,ic)       # data processing in python
11         ...

gsim contains a set of predefined Python scripts (see example)

  • in interactive mode substitutes parameters of components (functions setPAR, setTRAN, setAC …)
  • set of inherited classes for easy data manipulation (simulation results) in the interactive mode


Additional Python functions

  • simple *.sch files parser
    • generates list of a part of the schematics (components, connections...)
  • *.net file parser with preferences
    • allow use of real components in the simulation, corrects the order of pins for the simulation by real pin name (eg diode - Anode, Anoda, AN, A), eliminates problems with different components for simulation and real proposal of the circuit
    • generates block models for XSpice in their specific format based on the components attributes

Example - original line from Spice netlist file for D flip-flop

A4 6 4 5 5 7 6 D_DFF

Part of expanded netlist by gsim for XSpice simulation, based on gschem D_DFF component attributes

* >>><<< A4 6 4 5 5 7 6 D_DFF
A4 6 4 5 5 7 6 D_DFF_A4
.MODEL D_DFF_A4 D_DFF (
  + rise_delay=1.0e-9
  + fall_delay=1.0e-9
  + set_load=1.0e-12
  + reset_load=1.0e-12
  + data_load=1.0e-12
  + clk_load=1.0e-12
  + reset_delay=1.0e-12
  + ic=0
  + clk_delay=1.0e-9
  + set_delay=1.0e-9 ) 

Download contains

  • Python source code
  • Examples - Small set of gsim examples - analog,digital, mixed, hybrid for testing of functionality
  • Component library - Selected set of Spice and Xspice components.
  • Models - Small set of Spice/Xspice models and macromodels

gsim is in an early experimental version, it is intensively tested and continuously developed. Please notice, this is conceptual proposal which will be extended in the future.

itPK - Team


Obrazovka.png