The Eclipse Test Development Environment
and Eclipse ScanExecutive environment support an open, extensible JTAG boundary-scan scripting language
to execute commands and develop flows without resorting to C++
programming. Intellitech led the field with the introduction of TCL/TK with JTAG extensions in 1997.
The TCL/TK language with JTAG extensions helps customers in several ways:
1) Control test flow of vector based tests such as SVF based interconnect test, WGL vectors or PLD Programming
2) Control instruments, relays, DMMs and other instruments
3) Add custom unique IC tests to a PCB test flow
3) Automate Silicon Debug or Burn-in chamber operations
All of the scripts developed can be re-used in other targets without changing the code. Memories,
EEPROM and FLASH can be tested with the scripting language, however, Intellitech's FLASH programming interface and Memory Test capability have
libraries of traditional SRAM,
DRAM, EEPROM, Serial/I2C EEPROMS and FLASH devices.
Included with the scripting language is a comprehensive single-step debugger with breakpoints
for developing scripts as well as easy access to the Timing Analyzer for monitoring bus emulation of custom scripts. The TCL/TK language has been extended for interactive GUI control,
mouse events, and sophisticated event call backs. Not only can you re-use test
scripts but entire custom GUI for tests can be re-used from one PCB to the next.
Eclipse TCL/TK enables users to customize how Eclipse works for them. Here are a few examples customers have already done.
- Control and read third party instrumentation such as relays and DMMs.
- Perform File I/O - read and write data necessary for a test process
- Develop customized GUIs for microprocessor silicon debug or for operator prompts
- Access/control pins, nets, busses, and scan registers within a design to improve diagnosis or create your own custom ATPG/DFT analysis
- Develop customized tests for memories and non-scan logic clusters
- Automate an entire manufacturing test
down to the level of prompting specific actions from a test
- Exchange information with Shop-floor control systems
- Read serial numbers from internal web-sites to then program in FLASH
- Create Silicon Debug strategies, dump scan-chains and re-start system clocks via TCL/JTAG
- Interface with other leading EDA tools using TCL such as Xilinx, Altera, Mentor, Synopsys, Logicvision, and Virage-Logic.
Eclipse TCL/TK Language has an interactive single-step development environment, with trace and breakpoints for efficient design and test debug. Third party development tools and libraries are available from TCL/TK.
The best part about it is
they are free! There is a whole community of developers and tools that use TCL/TK. Need a book, stop by your local bookstore, there is sure to be books on TCL/TK. Use Intellitech tools and you create the foundation of experience needed to move your career forward. Use the other tools and you are trapped in a one-vendor-one-language tool. Why learn a proprietary JTAG scripting langauge when you can use an open source community, industry used langauge?
Simple to write Scripts
Eclipse TCL/TK is interpreted bytecode. This simplifies development as it provides speed of compiled code but without the need to compile. As test routines are updated on the manufacturing floor, it's not required to 're-link' every binary on every ATE as would be required by C/C++ code and DLLs. Eclipse TCL/TK Language supports useful constructs that can be linked together into a 'program' to perform any number of operations using the Eclipse Test Development Environment, Scan Executive Manufacturing Test Station or other supported test hardware.
Eclipse TCL/TK Language provides a rich set of functions for design and test applications and can be easily extended with application specific commands using Intellitech's supplied C++ interfaces to the language. Programs can be rapidly developed and will run on either Windows or Linux hardware platforms.
"Tcl is the best scripting language for our mission-critical testing environment, bringing us several advantages. Tcl is easy to use, is embeddable and extensible, and has allowed us to automate our testing tasks to a much higher degree than we otherwise could."
- Jay Yang, Manager Automated Test Solutions
Cisco Systems, Inc.
- "Tcl meshed naturally with the powerful features of PrimeTime and Formality to produce exceptionally flexible and easy-to-use applications. We see Tcl being used for more and more applications throughout the EDA industry. As this happens, not only will the individual applications become more powerful, but Tcl will provide a unifying platform to increase tool interoperability and integration."
- Dr. Ahsan Bootehsaz, Director of R&D
Example: TCL script with JTAG extensions:
# scan in the instruction to access the full internal scan chain
setTDI U1.Instruction SCAN_INTERN
setTDI U10.Instruction MONITOR
IRScan #shift IR registers with bypass, SCAN_INTERN and MONITOR
#get scanned out values for intern_scan in hex format to dump to file later
set result [getTDO U1.intern_scan h]
# Control Config Register inside the chip
setTDI U1.U0_RDY_GEN_TOP.U0_RDY_REG.RDY_CFG_3_REG 4 d
# Turn on blink register
setTDI U1.U0_CLK_RST_TOP.U0_CLK_RST_P.BLINK_REG 1 d
# Disable the flash
setTDI U1.U0_ADDR_DEC.U0_PERIPH_CTRL.FLASH_WEL_REG 1 d
# toggle the RDY pin
setpin U1.AB12 0
# load new values on chain 0
setpin U1.AB12 1
# load new values on chain 0
- Specialized extensions to scripting language
Eclipse TCL/TK Language has extensions and constructs to support the creation and application of 1149.1 test programs, in-system FPGA and CPLD configuration and in-system FLASH programming.
Test Development Functions
- Eclipse Message control
- Diagnostic handling
- Bus and register manipulation and observation
- Pin manipulation and observation
- netlist manipulation
- non-JTAG pin and bus control and observation
- TAP state control
Test Controller Functions
- Hardware setup
- Control pin voltages
- Clock pulse widths and frequencies
SVF and WGL control
Apply and observe data
Process and flow control
- Event handling
- Event Protocol
Third party interfaces
- Database handling
- Connecting to 3rd party software or devices
- Remote Command Interfaces
Re-usable Analog and Boundary-Scan Tests
- VISA - Virtual Instrument System Architecture
- GPIB controlled measurements
VFATM (Visual Fault Analyzer)