Unboxing Boundary-Scan Test

I’ve gotten all of my Christmas shopping done early, so I managed to make some time for exploring our ScanWorks test tool. I’m taking a “newbie approach” to using the tool, initially for hacking around with boundary-scan test. There’s some pretty cool technology here.

Over the past few weeks, I managed to squeeze in some time with a copy of ScanWorks, our well-known test tool. Initially, I got it licensed for boundary-scan test, and also for FPGA-controlled test and FPGA-based fast programming.

Of course, the software is most useful when it hooks up to a JTAG hardware controller, and a target that has support for boundary scan. I found laying around in the office an older USB-100 controller, and a ScanLite demonstration board. In our office, if hardware is unattached to anything, it’s fair game, and I took the kit home:

USB 100 and ScanLite board

The USB-100 Boundary-Scan Controller is one of our older, slower controllers, but it’s perfect for someone like myself who just likes to tinker. And in the bottom left of the ScanLite board, you can see the date of 2001 on the ScanLite board – it has had successors, so this one is a real antique. I wonder if I could sell it somewhere on eBay, and make some money?  😊

Well, now that I had the hardware, it was easy to download and install the software to go with it. After getting the software licensed, I saw the minimalist, clean interface of the home screen:

ScanWorks home screen

Poking around in the interface, I see that I’m licensed for:

BST_DEVELOPMENT_SUB

FCT_DEV_FOR_BST_OPTION

FFP_DEV_FOR_BST_OPTION

These are boundary-scan test, FPGA-controlled test, and FPGA-based flash programming respectively. ScanWorks has several other options, but I’ll get to them in a future article.

Clicking on the Help button on the home screen takes me to:

Support and Documentation

Clicking on the “Local Documentation” takes me to the following window:

ScanWorks Online Help

As far as I can tell, there are literally hundreds of topics dealing with all aspects of ScanWorks boundary-scan test. It looks like I’ll have plenty of reading to do, and a lot of help if I get stuck.

The first step in doing anything with ScanWorks is to click on the “Create” button on the home screen. This allows me to create a Project, which is the major entity in ScanWorks for working with target designs. In this instance, since there is already an Example Project (with a file folder of the same name within the ScanWorks install directory, under Examples) that has a sample ScanLite project inside it, all I have to do is click on “Import Project” and pull it into ScanWorks:

Import a Project

Then, just click on the Project name, and you see all the Actions that have been pre-built:

ScanLite Action list

Note that I’ve already done a “Build” on the Scan Path Verify (SPV) Action. I’ve picked SPV because it’s the first thing you typically do in working with boundary scan: verify the integrity of the scan path, upon which all of the other boundary scan actions depend.

After that, I click on the “No Hardware” at the top, and select my USB-100 controller, and then hit Run:

ScanLite SPV

That was easy! As I looked at the Report on the right, I can see that the SPV action tested three devices in the boundary scan chain, with a number of different tests, all successfully.

This looks like lots of fun, and plenty to explore. There are a lot of other actions highlighted on the left, including running Interconnect tests, MAV (Memory Access Verification), STAPL, SVF, macros, etc.

There are a lot of boundary scan resources on our website to explore in the meantime, while waiting for upcoming articles on this topic. For those interested, I would recommend Testing DDR4 Memory with Boundary Scan and Embedded JTAG for Boundary-Scan Test.