public class SamplerControl extends Logger
SubchainNode
(e.g, it is a
ChainNode
)Subchain
nodes. (Other nodes are
allowed as well.)ChainControl.setSubchainPin()
.Modifier and Type | Field and Description |
---|---|
static java.lang.String[] |
CONTROL_NODES
Name of calibrate sampler control node
|
static int |
IND_CALIBRATE
index of calibrate control node
|
static int |
IND_ENABLE |
static int |
IND_ENABLE_F |
java.util.Map |
map
Mapping from scan chain paths to pin names
|
static int |
POLARITY_INVERTED
polarity value when calibrate, enable, enable_f scan chain
elements are set LO to set these signals true on chip. |
static int |
POLARITY_NORMAL
polarity value when calibrate, enable, enable_f scan chain
elements are set HI to set these signals true on chip. |
Constructor and Description |
---|
SamplerControl(ChainControl control,
int polarity)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
calibrate(java.lang.String fileName,
java.lang.String path,
AmpsVsVolts ivspec)
Calibrates the specified sampler, writing the current versus voltage to
the provided file.
|
void |
clear(java.lang.String path)
Disable the sampler at the specified
SubchainNode by
setting the calibrate,enable, and
enable_f scan chain elements according to the sampler
polarity. |
java.lang.String[] |
getSamplersOnPin(java.lang.String targetPin)
Return path strings of all samplers on specified pin
|
static void |
main(java.lang.String[] args)
Unit test
|
void |
setCalibrate(java.lang.String path,
boolean calibrate)
Enable or disable calibration for the sampler at the specified
SubchainNode by setting the calibrate scan
chain element according to the sampler polarity. |
void |
setEnables(java.lang.String path,
boolean enable,
boolean enable_f)
Enable the sampler at the specified
SubchainNode by
setting the enable and enable_f scan chain elements
according to the sampler polarity. |
java.lang.String |
toString()
Prints some information about the sampler object, including which
samplers are on each pin.
|
isLogInits, isLogOthers, isLogSets, logInit, logOther, logSet, setAllLogging, setLogInits, setLogOthers, setLogSets
public final java.util.Map map
public static final java.lang.String[] CONTROL_NODES
public static final int IND_CALIBRATE
public static final int IND_ENABLE
public static final int IND_ENABLE_F
public static final int POLARITY_NORMAL
polarity
value when calibrate, enable, enable_f scan chain
elements are set HI to set these signals true on chip.public static final int POLARITY_INVERTED
polarity
value when calibrate, enable, enable_f scan chain
elements are set LO to set these signals true on chip.public SamplerControl(ChainControl control, int polarity)
control
using the
conditions described at top. For each sampler, sets inBits
necessary to disable it. Does not shift any data, since the rest of the
chip state may not be specified.
Currently polarity
value may be
POLARITY_NORMAL
or POLARITY_INVERTED
.
control
- Object containing scan chain model/APIspolarity
- whether sampler control signals come from non-inverting scan
chain outputpublic java.lang.String toString()
public void clear(java.lang.String path)
SubchainNode
by
setting the calibrate,enable, and
enable_f scan chain elements according to the sampler
polarity.path
- Path to the scan chain node for the samplerpublic void setEnables(java.lang.String path, boolean enable, boolean enable_f)
SubchainNode
by
setting the enable and enable_f scan chain elements
according to the sampler polarity. Disables the calibrate scan
chain element.
If enable
or enable_f
is true,
all samplers on the same output pin are disabled before setting the
requested sampler. This is to prevent interference with the measurement.
path
- Path to the scan chain node for the samplerenable
- Whether to enable the standard version of the samplerenable_f
- Whether to enable the source-follower version of the samplerpublic void setCalibrate(java.lang.String path, boolean calibrate)
SubchainNode
by setting the calibrate scan
chain element according to the sampler polarity.path
- Path to the scan chain node for the samplercalibrate
- Whether to configure the sampler for calibrationpublic void calibrate(java.lang.String fileName, java.lang.String path, AmpsVsVolts ivspec) throws java.io.IOException
setEnables()
has been used
to set at least one of enable
and enable_f
.fileName
- File to write the calibration data topath
- Path to the scan chain node for the samplerivspec
- Object specifying the IV curve to measurejava.io.IOException
public java.lang.String[] getSamplersOnPin(java.lang.String targetPin)
targetPin
- name of sampler current output pintargetPin
public static void main(java.lang.String[] args)