|
Editor's Note: I've long been impressed by Xcell Journal from Xilinx, both for the quality of its production and the quality of its articles. So I'm delighted to have the opportunity to present the following piece from the Third Quarter 2008 issue of Xcell Journal, with the kind permission of Xilinx.
Abstract
In this article, designer In Choi describes a project for his home business in which he replaces a defective part in a 1980s game system to show his full-time employer that they can adopt a methodology using Xilinx programmable devices to replace a range of parts that other semiconductor vendors are no longer producing.
Introduction
Parts obsolescence is nothing new, but it has attracted more attention recently, particularly in the semiconductor industry. Sometimes chip companies no longer produce parts for older products; others go out of business.
Although no single optimal solution exists, you can typically manage parts obsolescence using one of three methods:
- Find a form, fit, and functional substitute.
- Redesign the subsystem containing the obsolete part.
- Replace or redesign the entire system.
From a practical perspective, the last two methods are generally too expensive; it would probably be more cost-effective to replace the subsystem or the entire system.
Thus, the first method is the most practical, and we'll show how we at Retro Devices Technology did it using a Xilinx XC9536XL CPLD – specifically targeted for 5V transistor-to-transistor logic (TTL) gates and digital logic functions – to replace a 74LS32 microcircuit in the PCB of a 1980s video game system called Vectrex. For the sake of this project, we are assuming that the 74LS32 is obsolete.
Vectrex system overview
The Vectrex video game system was originally licensed and distributed by General Consumer Electric (GCE) in the early 1980s. It was a self-contained game unit much like the full-sized game machines in arcades but scaled down for home use. It was somewhat portable as long as you could plug it into an AC outlet.
The Vectrex system comprises an 8-bit 6809 microprocessor running at 1.5 MHz, an AY-3-8912 sound chip from General Instruments, a 9 x 11-inch monochrome monitor, and a game controller with four buttons, as shown in Fig 1. The Vectrex uses a vector graphics system as opposed to a pixel-based raster graphics system.

1. The Vectrex gaming system.
(Click this image to view a larger, more detailed version)
In this design, we used the XC9536XL CPLD to replace a part called the 74LS32 Quad-OR gate in the Vectrex video game system. The original designers used this part as decoding logic to perform read and write access to the RAM by the processor in the Vectrex (more information is available from the Vectrex website at www.vectrex.nl).
I chose to replace the 74LS32 with the XC9536XL CPLD to minimize development cost and to prove out my scalable design methodology simultaneously.
Design description
Our design requirements were to keep the physical size of the replacement part as small as possible, meet all of the electrical specifications, keep the power level at least equal to the obsolete part, and use a replacement part that is configurable to replace as many 5V TTL 74LS series gates and digital functions as possible.
I created the customized functions using VHDL, then synthesized the code into a configuration file and programmed the design into the CPLD. For the sake of this article, I'll refer to the replacement part as the retro logic device (RLD). Fig 2 shows the fully operational RLD device next to the 74LS32.

2. The RLD (left) and the original 74LS32 part it replaced (right).
(Click this image to view a larger, more detailed version)
The design footprint of the RLD is a little larger than the 74LS32 because of the PCB vendor's manufacturing limitations, but there was sufficient room in the original game circuit board to accommodate the RLD.
The electrical performance of the RLD was a non-issue, since the Xilinx XC9536XL CPLD already has TTL I/O compatibility. You can read the XC9536XL data sheet if you are not familiar with the specifications or how to properly power the I/O for TTL compatibility.
The power of the RLD is also comparable to many 74LS series functions. I achieved this power compliance by using a 3.3V low power voltage regulator on the RLD's PCB. I placed a bypass capacitor at the output of the voltage regulator to provide filtering for the CPLD.
From a signal integrity perspective, it is typically best to place the capacitor directly under the board and attach it to the CPLD's voltage and ground planes to provide the shortest (lowest inductance) path. However, the Vectrex circuit board didn't require a high level of performance.
I then placed a 6-pin JTAG connector on the RLD to configure the CPLD. Finally, I created a custom mating connector for the RLD for configuring the RLD. I attached this custom connector to the platform cable USB using flying leads.
|