hspectre-0.3.7.0
Safe HaskellNone
LanguageHaskell2010

Spectre.Interactive

Description

Interactive Communication between Haskell and Spectre

Synopsis

Types

data Session Source #

Spectre Interactive Session

Constructors

Session 

Fields

  • pty :: !Pty

    The pseudo terminal

  • dir :: !FilePath

    Simulation data directory

type Parameter = String Source #

Name of a netlist Parameter

Session Management

startSession :: [FilePath] -> FilePath -> FilePath -> IO Session Source #

Initialize spectre session with given include path, netlist and temp dir

startSession' :: [FilePath] -> FilePath -> IO Session Source #

Initialize spectre session with given include path and netlist

stopSession :: Session -> IO () Source #

Close a spectre interactive session

Running Simulations

runAll :: Session -> IO NutMeg Source #

Run all simulation analyses

runAll_ :: Session -> IO () Source #

Run all simulation analyses don't read results

results :: Session -> IO NutMeg Source #

Get Simulation Results (Lazy)

listAnalysis :: Session -> IO [(String, Analysis)] Source #

Get Map of Available Simulation Analyses: (id, type)

runAnalysis :: Session -> String -> IO NutMeg Source #

Run Selected Analysis only

sweep :: Session -> [Map Parameter Double] -> IO NutMeg Source #

Perform a number of simulation analyses for a given list of parameter maps and read the results only afterwards.

Netlist Parameters

getParameter :: Session -> Parameter -> IO Double Source #

Get Netlist Parameter

setParameter :: Session -> Parameter -> Double -> IO () Source #

Set Netlist Parameter

getParameters :: Session -> [Parameter] -> IO (Map Parameter Double) Source #

Get a list of Parameters as Map

setParameters :: Session -> Map Parameter Double -> IO (Map Parameter ()) Source #

Get a list of Parameters