jaga.pj.circuits.fpgaft
Class SimulatorFaultyCircuit
java.lang.Object
|
+--jaga.pj.circuits.fpgaft.SimulatorFaultyCircuit
- All Implemented Interfaces:
- FaultyCircuit, java.io.Serializable, SimulatorCircuit, StateManipulableSimulatorCircuit
- Direct Known Subclasses:
- SimulatorFaultyCircuitAsynchronous, SimulatorFaultyCircuitOpt
- public class SimulatorFaultyCircuit
- extends java.lang.Object
- implements SimulatorCircuit, FaultyCircuit, java.io.Serializable, StateManipulableSimulatorCircuit
A circuit to be simulated. Includes faults, currently only single stuck at
faults are simulated. Must be extended to provide the reconfigure method
which will take a BitSet and build a network of SimulatorFaultyDelayLE logic
elements of whichever type.
There are two possible runModes: the NORMAL one is same as the normal circuit
and faults are introduced by using the set and get methods. The other mode
FAULTS_AS_INPUTS allows the fault definitions as the first lines of the
inputs array of the run method.
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
FAULTS_AS_INPUTS
public final int FAULTS_AS_INPUTS
NORMAL
public final int NORMAL
SimulatorFaultyCircuit
public SimulatorFaultyCircuit(CircuitMapping mapping)
SimulatorFaultyCircuit
public SimulatorFaultyCircuit(int bitsPerVar,
int nrSSAFaults,
CircuitMapping mapping)
- Creates new SimulatorCircuit
reconfigure
public void reconfigure(BitSet genotype)
- Implements this gentoype's phenotype in this circuit.
- Specified by:
reconfigure
in interface SimulatorCircuit
run
public SampleData[] run(SampleData[] inputData)
- Specified by:
run
in interface SimulatorCircuit
run
public SampleData[] run(SampleData[] inputData,
int startFrom,
int endBefore)
- Sends these inputs to the circuit and returns the outputs.
The input sample separation is taken into account to sample the outputs
at the appropriate frequency.
- Parameters:
inputData
- The inputsstartFrom
- What input data index to start running fromendBefore
- What input data index to end running just before
getElements
public SimulatorLogicElement[] getElements()
- Specified by:
getElements
in interface SimulatorCircuit
reset
public void reset()
- Does not affect faults. Just wipes out all state.
- Specified by:
reset
in interface SimulatorCircuit
randomReset
public void randomReset()
- Does not affect faults. Just wipes out all state to random value.
- Specified by:
randomReset
in interface SimulatorCircuit
setRunMode
public void setRunMode(int rm)
- Sets the runMode to the appropriate mode as defined by constants
setFault
public void setFault(int elNr,
int faultID)
- Sets an element to a fault.
- Specified by:
setFault
in interface FaultyCircuit
- Parameters:
elNr
- number of element to define fault for.faultID
- ID of fault to set as defined in FTLib
resetDelays
public void resetDelays(java.lang.Object delayDef)
- Specified by:
resetDelays
in interface SimulatorCircuit
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getInOutEls
public SimulatorLogicElement[][] getInOutEls()
- Description copied from interface:
SimulatorCircuit
- 0 - Inputs, 1 - Outputs, 2 - Elements
- Specified by:
getInOutEls
in interface SimulatorCircuit
setPersistentFaults
public void setPersistentFaults(java.awt.Point[] pfs)
- Specified by:
setPersistentFaults
in interface FaultyCircuit
setPersistentFaults
public void setPersistentFaults(int[] pfus,
int[] pfvs)
setFault
public void setFault(java.awt.Point fault)
- Specified by:
setFault
in interface FaultyCircuit
removeFault
public void removeFault(java.awt.Point fault)
- Specified by:
removeFault
in interface FaultyCircuit
removeFault
public void removeFault(int pos)
- Specified by:
removeFault
in interface FaultyCircuit
getState
public CircuitState getState()
- Specified by:
getState
in interface StateManipulableSimulatorCircuit
setState
public void setState(CircuitState cs)
- Specified by:
setState
in interface StateManipulableSimulatorCircuit