Reverse Engineering The Charge Pump Of An 8086 Microprocessor

You’d think that the 8086 microprocessor, a 40-year-old chip with a mere 29,000 transistors on board that kicked off the 16-bit PC revolution, would have no more tales left to tell. But as [Ken Shirriff] discovered, reverse engineering the chip from die photos reveals some hidden depths.

The focus of [Ken]’s exploration of the venerable chip is the charge pump, a circuit that he explains was used to provide a bias voltage across the substrate of the chip. Early chips generally took this -5 volt bias voltage from a pin, which meant designers had to provide a bipolar power supply. To reduce the engineering effort needed to incorporate the 8086 into designs, Intel opted for an on-board charge pump to generate the bias voltage. The circuit consists of a ring oscillator made from a trio of inverters, a pair of transistors, and some diodes to act as check valves. By alternately charging a capacitor and switching its polarity relative to the substrate, the needed -5 volt bias is created.

Given the circuit required, it was pretty easy for [Ken] to locate it on the die. The charge pump takes up a relatively huge amount of die space, which speaks to the engineering decisions Intel made when deciding to include it. [Ken] drills down to a very low level on the circuit, with fascinating details on how the MOSFETs were constructed, and why eight transistors were used instead of two diodes. As usual, his die photos are top quality, as are his explanations of what’s going on down inside the silicon.

If you’re somehow just stumbling upon [Ken]’s body of work, you’re in for a real treat. To get you started, you’ll want to check out how he found pi baked into the silicon of the 8087 coprocessor, or perhaps his die-level exploration of different Game Boy audio chips.

The Negative Rail Explained

With the high availability of modular components and incredible wealth of information and tutorials online, it’s now easier than ever for hackers and makers to assemble complex electronic projects without getting bogged down with the theory behind it all. But the downside is that the modern electronic hobbyist often doesn’t have as deep an understanding of the low-level concepts that they would have if they had to build everything from scratch. This can be a problem when they try diagnosing and repairing faults, or when they start to branch out into reverse engineering.

Which makes “Building Blocks” by [David Christensen] a very compelling series. Every week he will be demonstrating a new circuit on his blog, complete with a plain English explanation of how and why it’s used. In this first installment of the series, he’s tackling a concept most of us have seen when poking around in more complex electronic devices, but maybe never really gave much thought to: the negative rail.

What exactly is the negative rail, anyway? It’s pretty easy to understand the positive rail in a circuit and its relation to ground; even multiple positive rails, such as in devices which use both 5 V and 3.3 V, are simple enough to wrap your head around. Unfortunately when something drops below that logical 0V reference, it isn’t quite as intuitive. But as [David] explains, the negative rail in a circuit is critical for dealing with bipolar signals, such as audio, which ride above and below the 0 V center point.

[David] goes over a few methods used to create the negative rail, from the classic center-tap transformer to using a buck-boost converter. But not content with just describing how these circuits work, he walks the reader through the creation of a charge pump circuit that you can drop into your next project if you find yourself in need of the elusive voltage. After explaining and diagramming it, he builds the circuit on a scrap piece of copper clad board and puts it through some benchmarks to prove it matches the theory he laid out.

If you’re in the mood for more negative talk, check out the battle our very own [Steven Dufresne] had with voltages of varying polarity when building his BB-8 robot.

8087's -5V bias charge pump circuit

How The 8087 Coprocessor Got Its Bias

Most of us have been there. You build a device but realize you need two or more voltages. You could hook up multiple power supplies but that can be inconvenient and just not elegant. Alternatively, you can do something in the device itself to create the extra voltages starting with just one. When [Ken Shirriff] decapped an 8087 coprocessor to begin exploring it, he found it had that very problem. It needed: +5 V, a ground, and an additional -5 V.

His exploration starts with a smoking gun. After decapping the chip and counting out all the bond wires going to the various pads, he saw there was one too many. It wasn’t hard to see that the extra wire went to the chip’s substrate itself. This was for providing a negative bias to the substrate, something done in some high-performance chips to get increased speed, a more predictable transistor threshold voltage, and to reduce leakage current. Examining where the bond wire went to in the circuitry he found the two charge pump circuits shown in the banner image. Those worked in alternating fashion to supply a -5 V bias to the substrate, or rather around -3 V when you take into account voltage drops. Of course, he also explains the circuits and dives in deeper, including showing how the oscillations are provided to make the charge pumps work.

If this is anything like [Ken’s] previous explorations, it’ll be the first of a series of posts exploring the 8087. At least that’s what we hope given how he’d previously delighted us with a reverse engineering of the 76477 sound effects chip used in Space Invaders and then went deeper to talk about integrated injection logic (I2L) as used in parts of the chip.

Boost Converter Functionality At Rock-Bottom Prices

Linear voltage regulators are pretty easy to throw into a project if something in it needs a specific voltage that’s lower than the supply. If it needs a higher voltage, it’s almost just as easy to grab a boost converter of some sort to satisfy the power requirements. But if you’re on a mission to save some money for a large production run, or you just like the challenge of building something as simply as possible, there are ways of getting voltages greater than the supply voltage without using anything as non-minimalistic as a boost converter. [Josh] shows us exactly how this can be done using a circuit known as a charge pump to drive a blue LED.

One of the cool things about AVR microcontrollers is that they can run easily on a coin cell battery and source enough current to drive LEDs directly from the output pins. Obviously enough, if the LED voltage is greater than the voltage of the power supply, this won’t work. That is, unless you have a spare diode and capacitor around to build a charge pump.

The negative charge pump works by charging up a capacitor that is connected to an AVR pin, with the other side between the LED and a garden-variety diode to ground. That results in a roughly (VCC – 0.7) volt difference across the capacitor’s plates. When the AVR pin goes low, the other side of the capacitor goes negative by this same amount, and this makes the voltage across the LED high enough to light up. Not only is this simpler than a boost converter, but it doesn’t need any bulky inductors to work properly.

Will this work for any load? Am I going to start any fires by overdriving the LED? Luckily, [josh] answers all of these questions and more on the project page, and goes into some detail on the circuit theory as well. Granted, the charge pump doesn’t have the fine control over the power supply that you can get out of a buck or boost converter (or any switch-mode power supply). But it does have good bang-for-the-buck.

Illogical Voltage Double Uses Logic

[Jonathan Thomson] just finished writing up his entry for the 7400 logic contest. It’s a voltage doubler that uses a 74HC14 logic chip. Because this is not at all what the chip was meant for–and he’s a sucker for puns–he’s calling it the Illogical Dickson Doubler.

What he’s got here is basically a charge pump built from a set of diodes and capacitors. On the breadboard you see two chips, one is used as a clock signal generator for the other which is acting as part of the charge pump. We’ve seen a string of hacks that misuse the protection diodes on the inputs of logic chips. In fact, [Jonathan’s] setup uses the same back power concept that barebones PIC RFID tag did. You may remember in that project the chip was being powered from one of the I/O pins, with the VCC pin not connected to anything.

We’ve embedded a video after the break with shows some voltage measurements, as well as an LED being powered from the doubling circuit.

Continue reading “Illogical Voltage Double Uses Logic”