Qbone Part 2: New CPLDs
Welcome to part two of our seven part series on the QBone, an all-in-one add-in card for DEC QBus PDP-11 or VAX computers. Today's post is on the challenges of part life cycle management.
After we contacted Joerg to partner on manufacturing QBones, we received the initial design and bill of materials. Generally, when we look into contract manufacturing on a new design, we consider many things, including:
Part-specific selection criteria (parameters, price, etc.)
Availability of parts from multiple vendors
PCB layout and design optimization
Manufacturing steps (meaning: how do we actually assemble the units)
Streamlined QA process
The most serious issue we found in our initial pass: the CPLDs  used to interface between the isolated QBus signals and the BeagleBone were end-of-life. That means that there is still stock of the part with some vendors, but once that's gone, no new parts will be manufactured. Finding chips becomes a mix of NOS  chip brokers, dodgy eBay or AliExpress vendors, or private sales. While we already have to do this for other QBone components (stay tuned for Part 4!), it's something we'd rather avoid.
A quick glance at Joerg's prototype PCB manufacturing partner's inventory showed more than one hundred thousand parts in stock. So why bother?
Places like LCSC are dealing primarily with surplus stock. This happens because a big company like Dell, Lenovo, Samsung, etc. contracts with them for e.g. one million parts as part of a contract manufacturing deal in China. That deal might only consume 900,000 components. After a short waiting period of holding on to those parts (in case of re-manufacturing needs), the surplus 100,000 parts end up being sold to a 'grey' market. These are then resold locally between merchants. This is why what you find in those online inventories are so random and haphazard - not to mention the dangers of counterfeit or shady parts.
Given all of that, and our desire not to be locked in to any single source vendor, our best option was to select a new part and re-design for it. The basic design needs were as follows:
Pin-to-pin transition time of 7.5ns or better, or approximately ≥ 133MHz.
The QBus has 45 bidirectional lines, meaning 90 unidirectional signals, plus 3 additional unidirectional signals, for a total of 93.
Each CPLD requires 20 dedicated signals for communication with the BeagleBone.
The BeagleBone can natively interface with 3.3V chips, but would require additional signal conversion to work with a 1.8V CPLD. (That means more chips, more points of failure, and higher cost.)
Ideally, QFP packaging for ease of assembly and rework. Failing that, QFN packages would be OK, but we want to avoid BGA as those increase assembly complexity and cost.
We investigated parts from Altera / Intel, Lattice, Xilinx, and Microchip as replacements. We ultimately chose a Lattice MachOX2 100-pin QFP part as it met all of the needs above (and more I didn't list), was readily available from multiple domestic and international suppliers, is easily programmable with JTAG, and Lattice is a community favourite CPLD/FPGA manufacturer.
We had some challenges along the redesign path. Joerg had problems getting the
global tristate signal to simulate correctly in Lattice Diamond. Of course, a new PCB
design was also required. Then, some minor changes to the QBone software running on the
BeagleBone were necessary. But, excitingly, the design worked on the first set of boards
with only unrelated issues affecting first article test. Getting the first built board
running RT-11 was an exciting moment!
Next time, we'll discuss another design change needed to improve QBone manufacturability.
Ever had to replace an end-of-life component? Got a good story? Get in touch with us on Twitter at @_DECromancer!