The Smallest Homebrewed TTL CPU In The World

This may very well be the smallest homemade TTL CPU we’ve ever seen. Measuring at one square inch, this tiny chip boasts 40 connections, an 8-bit databus, a 16-bit address bus, a 64 kB memory space, reset and clock inputs, and 5 V power lines.

TTL (transistor transistor logic) logic chips are pretty outdated today, but they do have all of the basics necessary for building a computer – logic gates, counters, buffers, and registers. The transistors perform both the logic and amplifying, as compared to resistor-transistor logic (RTL) and diode-transistor logic (DTL). In the 60s, when the technology was still fairly new, TTL ICs were commonly used in computers and industrial controls. Even after the advent of VLSI, TTL ICs were still being used for interfacing more densely integrated chips. Even so, most TTL chips tend to be on the bulkier side, which is what makes [roelh]’s project so unique. The entire PCB is hardly any larger than a coin.

On top of the hardware specs, [roelh] also implemented several useful software features: zero page addressing, load/store/compare instructions, stacks, conditioning branching, subroutine calls, and memory-mapped I/O. The registers are also in RAM, which has been implemented in microprocessors in the past (see TMS9900) for speed considerations, but in this case was implemented for size constraints.

An ALU was also left out of the design in order to constrain its size, leaving only 8 ICs on either side of the 2-layer PCB.

Microprograms are stored in Flash memory and can be programmed with a Raspberry Pi. by saving the Assembly code to a memory card and downloading the assembled binary code. Once the Raspberry Pi is connected to the development board, you can burn the binary code onto the Flash memory of the board using a Python script. An online Javascript editor also exists for assembling the Assembly code for the chip and simulating the CPU.

There is currently a development board made for the CPU, which includes six seven-segment displays and an I/O connector for running a digital clock and other applications. [roelh] has since built a retro TTL computer around the chip, which reintroduces the ALU and includes address registers, 256 KB of RAM, VGA video, PS/2 keyboard port, a sound system, and I/O pins. It’s a really exciting project that’s seriously pushing the constraints of retro computing.

Who Could Possibly Need An FPGA With 9M Logic Cells And 35B Transistors?

Xilinx recently announced the Virtex UltraScale+ VU19P FPGA. Of course, FPGA companies announce new chips every day. The reason this one caught our attention is the size of it: nearly 9 million logic cells and 35 billion transistors on a chip! If that’s not enough there is also over 2,000 user I/Os including transceivers that can move around 4.5 Tb/s back and forth.

To put things in perspective, the previous record holder — the Virtex Ultrascale 440 — has 5.5 million logic cells and an old-fashioned Spartan 3 topped out at about 50,000 cells — the new chip has about 180 times that capacity. For the record, I’ve built entire 32-bit CPUs on smaller Spartans.

That led us to wonder? Who’s buying these things? When I first heard about it I guessed that the price would be astronomical, partly due to expense but also partly because the market for these has to be pretty small. The previous biggest Xilinx part is listed on DigKey who pegs the Ultrascale 440 (an XCVU440-2FLGA2892E) at a cost of $55,000 as a non-stocked item. Remember, that chip has just over half the logic cells of the VU19P.

Continue reading “Who Could Possibly Need An FPGA With 9M Logic Cells And 35B Transistors?”

The One-Transistor Flip-Flop

A flip-flop is one of the most basic digital electronic circuits. It can most easily be built from just two transistors, although they can and have been built out of vacuum tubes, NAND and NOR gates, and Minecraft redstone. Conventional wisdom says you can’t build a flip-flop with just one transistor, but here we are. [roelh] has built a flip-flop circuit using only one transistor and some bizarre logic that’s been slowly developing over on hackaday.io.

[roelh]’s single transistor flip-flop is heavily inspired by a few of the strange logic projects we’ve seen over the years. The weirdest, by far, is [Ted Yapo]’s Diode Clock, a digital clock made with diode-diode logic. This is the large-scale proof of concept for the unique family of logic circuits [Ted] came up with that only uses bog-standard diodes to construct arbitrary digital logic.

The single-transistor flip-flop works just like any other flip-flop — there are set and reset pulses, and a feedback loop to keep the whatever state the output is in alive. The key difference here is the addition of a clock signal. This clock, along with a few capacitors and a pair of diodes, give this single transistor the ability to store a single bit of information, just like any other flip-flop.

This is, without a doubt, a really, really weird circuit but falls well into territory that is easily understood despite being completely unfamiliar. The key question here is, ‘why?’. [roelh] says this could be used for homebrew CPUs, although this circuit is trading two transistors for a single transistor, two diodes, and a few more support components. For vacuum tube-based computation, this could be a very interesting idea that someone at IBM in the 40s had, then forgot to write down. Either way, it’s a clever application of diodes and an amazing expression of the creativity that can be found on a breadboard.

Programming The Open-V Open Source CPU On The Web

openriscv_webYou can now program the Open-V on the web, and see the results in real time. The code is compiled in the web IDE and then flashed to a microcontroller which is connected to a live YouTube live stream. It’s pretty neat to flash firmware on a microcontroller thousands of miles away and see the development board blink in response.

We’ve covered the Open-V before, and the crowd funding campaign they have going. The Open-V is an open hardware implementation of the RISC-V standard. And is designed to offer Cortex M0-class capabilities.

This feels like a create way to play around with some real hardware and get a taste of what a future where we can expect Arduino-like boards, open source down to the transistor level.

For a closer look at why open silicon matters, check out [Brian Benchoff’s] hands-on review of the HiFive, an Arduino form-factor board built around an open hardware RISC-V microcontroller.

One Bit, One Instruction Discrete CPU

There is a certain benefit to being an early adopter. If you were around when Unix or MSDOS had a handful of commands, it wasn’t hard to learn. Then you learn new things as they come along. If you started learning Linux or Windows today, there’s a huge number of details you have to tackle. You have the same problem trying to learn CPU design. Grappling with the design of a 16-bit CPU with a straightforward data path is hard enough. Throw in modern superscalar execution, pipelining, multiple levels of microcode, speculative execution, and all the other features modern processors have and you’ll quickly find yourself lost in the details.

[Michai Ramakers] wanted to build an educational CPU and he took a novel approach. The transistor CPU uses only one instruction and operates on one bit at a time. Naturally, this leads to a small data path, which is a good thing if you’re only using discrete transistors. His website is a ground-up tutorial in building and using the tiny computer.

Continue reading “One Bit, One Instruction Discrete CPU”

Retrotechtacular: Old Transistors

1024px-Regency_transistor_radio
Regency TR-1

Transistors have come a long way. Like everything else electronic, they’ve become both better and cheaper. According to a recent IEEE article, a transistor cost about $8 in today’s money back in the 1960’s. Consider the Regency TR-1, the first transistor radio from TI and IDEA. In late 1954, the four-transistor device went on sale for $49.95. That doesn’t sound like much until you realize that in 1954, this was equivalent to about $441 (a new car cost about $1,700 and a copy of life magazine cost 20 cents). Even at that price, they sold about 150,000 radios.

Part of the reason the transistors cost so much was that production costs were high. But another reason is that yields were poor. In some cases, 4 out of 5 of the devices were not usable. The transistors were not that good even when they did work. The first transistors were germanium which has high leakage and worse thermal properties than silicon.

socketEarly transistors were subject to damage from soldering, so it was common to use an alligator clip or a specific heat sink clip to prevent heat from reaching the transistor during construction. Some gear even used sockets which also allowed the quick substitution of devices, just like the tubes they replaced.

When the economics of transistors changed, it made a lot of things practical. For example, a common piece of gear used to be a transistor tester, like the Heathkit IT-121 in the video below. If you pulled an $8 part out of a socket, you’d want to test it before you spent more money on a replacement. Of course, if you had a curve tracer, that was even better because you could measure the device parameters which were probably more subject to change than a modern device.

Of course, germanium to silicon is only one improvement made over the years. The FET is a fundamentally different kind of transistor that has many desirable properties and, of course, integrating hundreds or even thousands of transistors on one integrated circuit revolutionized electronics of all types. Transistors got better. Parameters become less variable and yields increased. Maximum frequency rises and power handling capacity increases. Devices just keep getting better. And cheaper.

A Brief History of Transistors

The path from vacuum tube to the Regency TR-1 was a twisted one. Everyone knew the disadvantages of tubes: fragile, power hungry, and physically large, although smaller and lower-power tubes would start to appear towards the end of their reign. In 1925 a Canadian physicist patented a FET but failed to publicize it. Beyond that, mass production of semiconductor material was unknown at the time. A German inventor patented a similar device in 1934 that didn’t take off, either.

Replica-of-first-transistor
Replica of the First Transistor

Bell labs researchers worked with germanium and actually understood how to make “point contact” transistors and FETs in 1947. However, Bell’s lawyers found the earlier patents and elected to pursue the conventional transistor patent that would lead to the inventors (John Bardeen, Walter Brattain, and William Shockley) winning the Nobel prize in 1956.

Two Germans working for a Westinghouse subsidiary in Paris independently developed a point contact transistor in 1948. It would be 1954 before silicon transistors became practical. The MOSFET didn’t appear until 1959.

Of course, even these major milestones are subject to incremental improvements. The V channel for MOSFETs, for example, opened the door for FETs to be true power devices, able to switch currents required for motors and other high current devices.

Continue reading “Retrotechtacular: Old Transistors”

1000 CPUs On A Chip

Often, CPUs that work together operate on SIMD (Single Instruction Multiple Data) or MISD (Multiple Instruction Single Data), part of Flynn’s taxonomy. For example, your video card probably has the ability to apply a single operation (an instruction) to lots of pixels simultaneously (multiple data). Researchers at the University of California–Davis recently constructed a single chip with 1,000 independently programmable processors onboard. The device is energy efficient and can compute up to 1.78 trillion instructions per second.

The KiloCore chip (not to be confused with the 2006 Rapport chip of the same name) has 621 million transistors and uses special techniques to be energy efficient, an important design feature when dealing with so many CPUs. Each processor operates at 1.78 GHz or less and can shut itself down when not needed. The team reports that even when computing 115 billion instructions per second, the device only consumes about 700 milliwatts.

Unlike some multicore designs that use a shared memory area to communicate between processors, the KiloCore allows processors to directly communicate. If you are just a diehard Arduino user, maybe you could scale up this design. Or, if you want to make use of the unused power in your video card under Linux, you can always try to bring KGPU up to date.