the circuit to be simulated
the circuit to be simulated
Once a stop has occured, the intepreter will not allow pokes until the stop has been cleared
Creates a concrete based on current circuit and the value and poisoned state It uses the type of any existing value for name and if it can't find that it looks up the type in the dependency graph this handles setting SInts with negative values, from positive bigInts when sized appropriately
Creates a concrete based on current circuit and the value and poisoned state It uses the type of any existing value for name and if it can't find that it looks up the type in the dependency graph this handles setting SInts with negative values, from positive bigInts when sized appropriately
name of value to set
new value
the concrete value that was derived from type and value
Update the circuit state with the supplied information
Update the circuit state with the supplied information
name of value to set
new value
allows setting components other than top level inputs
changes which side of a register is poked
the concrete value that was derived from type and value
turns on evaluator debugging.
turns on evaluator debugging. Can make output quite verbose.
The desired verbose setting
This is the Firrtl interpreter. It is the top level control engine that controls the simulation of a circuit running.
It coordinates updating of the circuit's inputs (other elements, nodes, registers, etc can be forced to values) and querying the circuits outputs (or optionally other circuit components)
This mainly involves updating of a circuit state instance by using a expression evaluator on a dependency graph.