public class Netscan4 extends NetscanGeneric
ChainControl
.
Main difference from Netscan
is that the hardware requires a
TAP number, which must be specified in the constructor.
Here is an example of how to use Netscan4
:
JtagTester jtag = new Netscan4(JTAG_IP_ADDRESS, JTAG_TAP_NUMBER);The user can then call
ChainControl control = new ChainControl(XML_PATH, jtag, DEFAULT_VDD, DEFAULT_TCK_KHZ);
ChainControl.setInBits(java.lang.String, com.sun.electric.tool.simulation.test.BitVector)
and ChainControl.shift(java.lang.String, boolean, boolean, int, int, int)
to program scan chains.Modifier and Type | Field and Description |
---|---|
int |
jtagPort
Port (TAP) on the 4-port tester to use
|
DEFAULT_STOP_STATE, newInstructionRegister
logicOutput, printInfo
Constructor and Description |
---|
Netscan4(java.lang.String addressIP,
int jtagPort)
Creates the
Netscan4 object. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAddressIP()
Return the IP address of the Netscan4
|
int |
getJtagPort()
Returns the JTAG port to use for this JTAG tester object
|
protected int |
hw_net_scan_dr(int numBits,
short[] scanIn,
short[] scanOut)
Write the bits
scanIn to the JTAG controller's data
register, and read back the bits scanOut . |
protected int |
hw_net_scan_ir(int numBits,
short[] scanIn,
short[] scanOut,
int drBits)
Write the bits
scanIn to the JTAG controller's instruction
register. |
void |
reset()
Reset the finite state machine of the chip's JTAG controller by briefly
setting the TRSTb signal LO.
|
void |
tms_reset()
Reset the finite state machine of the chip's JTAG controller by briefly
setting the TMS signal HI for 5 cycles.
|
incrementNumTesters, main, padBitVector, shortsToString
isScanOutInverted, setScanOutInverted
isLogInits, isLogOthers, isLogSets, logInit, logOther, logSet, setAllLogging, setLogInits, setLogOthers, setLogSets, toString
public Netscan4(java.lang.String addressIP, int jtagPort)
Netscan4
object. Only one
Netscan4
or Netscan
instance is allowed,
because the Netscan library only supports one JTAG controller at a time.
Connects to the JTAG tester (by using the NetUSB_Connect routine in the
scan function library). The tester must then be configured before use, by
passing the new Netscan4
object to
ChainControl.ChainControl(String, JtagTester, float, int)
.addressIP
- IP address of JTAG testerjtagPort
- port (TAP) on the JTAG tester to usepublic java.lang.String getAddressIP()
public int getJtagPort()
public void reset()
reset
in class JtagTester
public void tms_reset()
tms_reset
in class JtagTester
protected int hw_net_scan_ir(int numBits, short[] scanIn, short[] scanOut, int drBits)
scanIn
to the JTAG controller's instruction
register. The TAP port is chosen according to what chip the scan chain is
a member of.
The first bit scanned in to the chip is the LSB of scanIn[0]
,
and the first bit scanned out from the chip is the LSB of
scanOut[0]
.
hw_net_scan_ir
in class NetscanGeneric
numBits
- The number of bits to shiftscanIn
- Bit sequence to write to instruction registerscanOut
- Bits scanned out of instruction registerdrBits
- Number of bits in the selected chainprotected int hw_net_scan_dr(int numBits, short[] scanIn, short[] scanOut)
scanIn
to the JTAG controller's data
register, and read back the bits scanOut
. The TAP port is
chosen according to what chip the scan chain is a member of.
The first bit scanned in to the chip is the LSB of scanIn[0]
,
and the first bit scanned out from the chip is the LSB of
scanOut[0]
.
Extracted from netScan_DR to simplify overriding for different hardware,
e.g., in class Netscan4
.
hw_net_scan_dr
in class NetscanGeneric
numBits
- The number of bits to shiftscanIn
- Bit sequence to write to data registerscanOut
- Bits scanned out of data register