Esempio n. 1
0
 def test_subcircuit(self):
     circuit = Circuit('')
     circuit.include('.../mosdriver.lib')
     circuit.X('test', 'mosdriver', '0', '1', '2', '3', '4', '5')
     circuit.BehavioralSource('test',
                              '1',
                              '0',
                              voltage_expression='if(0, 0, 1)',
                              smoothbsrc=1)
     print(circuit)
Esempio n. 2
0
                                       circuit.gnd,
                                       'PlateIn',
                                       'PlateCtrl',
                                       circuit.gnd,
                                       transconductance=par.Cryo_gain)
circuit.VoltageControlledCurrentSource(6,
                                       circuit.gnd,
                                       'ColdPlate',
                                       'ColdHeaterCtrl',
                                       circuit.gnd,
                                       transconductance=par.Cold_transcd)

#Behavioral models
circuit.BehavioralSource(
    1,
    circuit.gnd,
    'Heatercurrent',
    current_expression='4*SQRT(MAX(V(HeaterCtrl)*(2.01-V(HeaterCtrl)),0))')

circuit.NonLinearCurrentSource(3,
                               'PlateIn',
                               circuit.gnd,
                               expression='V(PlateIn, 0)',
                               table=par.Cryo_table)
circuit.NonLinearCurrentSource(7,
                               'ColdPlate',
                               circuit.gnd,
                               expression='V(ColdPlate, 0)',
                               table=par.Cold_table)

#Emissive surface models
Esempio n. 3
0
# from pylab import *
import matplotlib.pyplot as plt

import PySpice.Logging.Logging as Logging
logger = Logging.setup_logging()

from PySpice.Spice.Netlist import Circuit
from PySpice.Unit import *
from PySpice.Spice.BasicElement import BehavioralSource

circuit = Circuit('Pulse')

source = circuit.BehavioralSource('source',
                                  'in',
                                  circuit.gnd,
                                  voltage_expression='time^4*exp(-1000*time)')
# look like a " is simply discarded
# source = circuit.BehavioralSource('source', 'in', circuit.gnd, voltage_expression = '"time^4*exp(-1000*time)')

circuit.R(1, 'in', 'out', u_kOhm(9))
circuit.R(2, 'out', circuit.gnd, u_kOhm(1))

print(circuit)

simulator = circuit.simulator(simulator='ngspice-shared')
# the commented out version next line works
#simulator = circuit.simulator(simulator='ngspice-subprocess')
transient = simulator.transient(step_time=u_ms(1e-3),
                                end_time=u_ms(20),
                                log_desk=True)