Do you ever find yourself wanting an IC tester? Some way to power up an IC and apply various voltages and signals to different pins, in order to either check functionality or to explore the inner workings of some mystery chip..? Exporting test vectors from your logic simulator and checking the final, rubber-meets-the road performance on actual silicon? Then this project is for you. You’re not going to get the equivalent of a Teradyne or anything, but you won’t be spending $300k either.
What we’ve done is traced out and bus-snooped a cheap EPROM programmer to decipher it’s inner workings in order to create an open, super-low-cost platform for digital IC testing and development. This device can drive logic-level signals onto all 40 pins of a Zero Insertion Force (ZIF) socket, as well as providing ground, adjustable power and high-voltage programming signals onto common IC footprints. It can clock at 24MHz, so it’s probably possible to even do microcontroller development where the MCU runs code and the device applies fake signals at the pins to verify functionality.
The device is the Top2005, a reasonably capable Chinese EPROM programmer that we discussed previously in an article talking about how awful the vendor-supplied software is. As you may have read, we liked the minimalistic hardware design, but didn’t use the tool much because the software was rather bad. Our EPROM programming is mostly done by a nice Xeltek programmer, so the poor Top2005 was just collecting dust on a shelf in the lab. Until we decided that we needed a low-cost test bench for testing CPLD designs and debugging some proprietary SD cards, that is!
Fig 1 – Top2005 programmer pre-hack
Above is a snapshot of the Top2005. The fact that it’s USB powered and very small and portable is great. And from all our analysis, the hardware inside is fairly reasonable, save for the occasional fright from low-end design techniques. This hack consisted of three main parts that we will take a moment to describe:
- Circuit Tracing – The most tedious part was tracing the 40 signal pins from FPGA to the ZIF socket. Otherwise, this simple 2-layer PCB was fairly straightforward to trace in order to determine which pins of which IC controlled which function. Very important to know later, when we want to begin extending the capabilities.
- Bus and USB Snooping – Internally, the device uses a homegrown address/data bus that we’ll call TOPBUS. By watching the internal signals while we snoop the USB commands, it was possible to understand and recreate command sequences in order to toggle pins high/low as well as apply power and GND to the socket.
- Extending the Capabilities – With the vendor-supplied bitstreams, you can already do a ton of stuff (uhh, like EPROM/MCU programming and 74xx logic test). Just using what comes out of the box, we’ll show you how to write a little piece of testbench software so you can do on-the-fly logic verification with just a few clicks. For more off-the wall functions, we’ll show you how to write your own custom logic for the FPGA in order to do fancy sequencing or other cool stuff while you still churn data into and out of the device. We’ll provide some verilog templates and Xilinx constraint files to give you a head start on implementing custom logic for the device.
Continue to Next Page Jump to Page 2