Tests may be defined in script files which may then be translated into executable Serial Vector Format (SVF) files. The general approach is to place all of the required BSDL files into a folder and then to relate the BSDL files to circuit locations in declarations at the beginning of the script file. Once BIT_STRINGS are defined, instruction register scans may be created by simply declaring the instruction names to be used. And data scans can be created by concatenating BIT_STRINGS. String variables may be assigned values and then multiple variables may be concatenated. In addition literal string assignments may be used directly or mixed with variables.
Values are always expressed as binary strings, BIT_STRINGS. If zero and one values are present in a TDO string, the corresponding MASK bits will be set to one. If ‘X’ characters are present in a TDO string, the corresponding mask bits are set to zero.
The following example shows a very literal application of an IDCODE test to a three device chain. Comments, beginning with the ! character, explain the purpose of each statement and are consistent with SVF syntax. Note that onTAP allows C-like flow control expressions to be embedded within SVF files and that these expressions also use exclamation marks. onTAP distinguishes the two based on context.
As found in the onTAP folder on your computer:
Example of a User Defined IDCODE Test for Three Devices , U2,U3,U4( see onTAP/examples/UserDefinedTests/ idcode_batch.txt).
create svf c:bsdappsUserDefinedidcode.svf; ! the following user statements will be placed in this SVF file
! onTAP uses the declarations between the begin chain and end chain lines to define the chain and to associate a BSDL file with each
! circuit location in the chain.
U2 = xc9536xl_pc44;
U3 = ispLSI2032VE;
U4 = 3032AL44;
BIT_STRING u2_version, U2_part_num, U2_manuf_id, U2_required; // declare string variables for U2 IDCODE fields
! When compiled with Tools/Compose SVF, the declarations between begin and end scan will be compiled into
! an SVF SDR scan.
! Examples of test statements that may be applied follow. onTAP will extract the measured value from SDR scans and will update
! BIT_STRING values so that they can be used in control flow branch expressions as shown below.
if ( U3_part_num != “0000001100000001” )
MESSAGE_PAUSE(“U3’s IDCODE part number, %%s, is incorrect. Should be “0000001100000001””,U3_part_num);
if ( !(U2_part_num & “010”))
MESSAGE(“bit 1 in U2’s part number reads low but should be high”);
if ( U3_part_num != “0000001100000001” )
MESSAGE(“U3’s part number reads %%s, but should read 0000001100000001”, U3_part_num);
if ( FAIL )
MESSAGE(“IDCODE test fails”);
User defined script files may be compiled into SVF files by selecting the Compose SVF File menu item from the Tools menu.
When the command file, idcode_batch.txt, is called a new SVF file, IDCODE.SVF is created. Instructions such as “state reset;” are transferred directly into the new SVF file. onTAP compiles chain-wide SIR and SDR instructions based on a list of SIR and SDR instructions for each device in the target chain. SIR and SDR statements for the first device in a chain are listed first and statements for the last device are listed last.
A “log scan data on;” statement enables all scan-in and scan-out data to be captured in the scandata.txt file.
User Defined Instruction Statements
Begin ceation of a new SVF file.
Sequence TAP to designated state.
Begin steps that will be compiled into an SIR or SDR scan .
End steps that will be compiled into an SIR or SDR scan .
Declare string variables.
Enables logging of scan data to the project folder file scandata.txt.
Disables logging of scan data to the project folder file scandata.txt.
The Internet of Things (IoT) has ushered in an era of unprecedented connectivity. From smart homes to smart cities, IoT devices offer convenience and efficiency but also present a significant security challenge. As these devices become integral to our infrastructure,...
In today's fast-paced electronics industry, ensuring product reliability is more crucial than ever. Dive deep into this comprehensive case study to understand how Flynn Systems' onTAP has emerged as a beacon of innovation, reshaping the landscape of electronics...