Did you ever start a project that you felt gained a life of its own? This project by [Paulo Constantino] is an entire CPU named dreamcatcher on breadboards, and is a beautiful jungle of digital. On top of that, it works to connect to an analog VGA display. How cool is that!
Designing an ALU and then a CPU is a typical exercise for students of digital design and is done using VerilogHDL or VHDL. It involves creating an ALU that can add, subtract etc while a control unit manages data moves and the like. There is also a memory fetch and instruction decode made up of de-mulitiplexers and a bunch of flip-flops that make up registers and flags. They are as complex as they sound if not more.
[Paulo Constantino] went ahead and designed the whole thing in Eagle as a schematic using 74HC logic chips. To build it though instead of a PCB he used breadboards. Everything from bus decoders to controlling an external VGA display is done using jumper wires. We did cover a video on the project a while back, but this update adds a video card interface to the build.
The CPU updates the display buffer on the VGA card, and in the video below shows the slow and steady update. The fact that the jungle of wires can drive a display is awesome. He has since started working on a 16-bit version of the processor and we’d love to see someone take it up a notch.
For those more accustomed to the PCB, the Z80 membership card project is a great build for 8-bit computer fans.
Thanks to [analog engineer] for the tip.
Continue reading “CPU Made From 74HC Chips Is A Glorious Mess”
We reported earlier about Xilinx offering free-to-use ARM Cortex M1 and M3 cores. [Adam Taylor] posted his experiences getting things working and there’s also a video done by [Geek Til It Hertz] based on the material that you can see in the second video, below.
The post covers using the Arty A35T or Arty S50 FPGA boards (based on Artix FPGAs) and the Xilinx Vivado software. Although Vivado will allow you to do conventional FPGA development, it also can work to compose function blocks to produce CPUs and that’s really what’s going on here.
Continue reading “Getting Started With Free ARM Cores On Xilinx”
It’s been at least a month or two since the last vulnerability in Intel CPUs was released, but this time it’s serious. Foreshadow is the latest speculative execution attack that allows balaclava-wearing hackers to steal your sensitive information. You know it’s a real 0-day because it already has a domain, a logo, and this time, there’s a video explaining in simple terms anyone can understand why the sky is falling. The video uses ukuleles in the sound track, meaning it’s very well produced.
The Foreshadow attack relies on Intel’s Software Guard Extension (SGX) instructions that allow user code to allocate private regions of memory. These private regions of memory, or enclaves, were designed for VMs and DRM.
How Foreshadow Works
The Foreshadow attack utilizes speculative execution, a feature of modern CPUs most recently in the news thanks to the Meltdown and Spectre vulnerabilities. The Foreshadow attack reads the contents of memory protected by SGX, allowing an attacker to copy and read back private keys and other personal information. There is a second Foreshadow attack, called Foreshadow-NG, that is capable of reading anything inside a CPU’s L1 cache (effectively anything in memory with a little bit of work), and might also be used to read information stored in other virtual machines running on a third-party cloud. In the worst case scenario, running your own code on an AWS or Azure box could expose data that isn’t yours on the same AWS or Azure box. Additionally, countermeasures to Meltdown and Spectre attacks might be insufficient to protect from Foreshadown-NG
The researchers behind the Foreshadow attacks have talked with Intel, and the manufacturer has confirmed Foreshadow affects all SGX-enabled Skylake and Kaby Lake Core processors. Atom processors with SGX support remain unaffected. For the Foreshadow-NG attack, many more processors are affected, including second through eighth generation Core processors, and most Xeons. This is a significant percentage of all Intel CPUs currently deployed. Intel has released a security advisory detailing all the affected CPUs.
Today’s CPUs are so advanced that they might as well be indistinguishable from magic, right? Wrong! Fundamentally, modern CPUs can be understood logically like any other technology, it’s just that they’re very fast, very small, and very complex, which makes it hard to get to grips with their inner workings. We’ve come a long way from the dawn of the home computer in the 80s, but what if there was something even simpler again, built in such a way as to be easily understandable? Enter the DDL-4-CPU, courtesy of [Dave’s Dev Lab].
The DDL-4 is a project to build a modular 4-bit CPU using bitslice methods. This is where computations are broken down into simple operations with two-bit inputs, which are executed with basic logic gates like NOR and XOR. This is great for building a CPU from individual parts, as logic chips are readily available and their operation is readily understood. That’s what’s used here – good old 74-series logic, which you can find just about anywhere!
The build consists of a series of modules, each on its own colourful PCB and labeled on the silkscreen. These modules can then be configured and plugged together with edge connectors to build the CPU. The work builds upon [Dave]’s earlier work on the Mega-One-8-One, a recreation of the 74181 Arithmetic Logic Unit for educational purposes.
If you’re learning about computing in a bare-metal sense, projects like these that create CPUs from the ground up are a great way to get to grips with the basic concepts of computation. Once you’ve tried this, you could always graduate to building a 6502 in Minecraft.
As [Matt] from [DIY Perks] was about to assemble a new PC, he decided to take a unique direction when it came to building a case. Despite the appearance of a woodworking piece with weird industrial radiators, there is actually a full-fledged, high-end PC hidden inside.
Those radiators are a pair of almost-the-biggest-you-can-buy heatsinks — one of which has been modified to fit the graphics card. Separating the graphics card’s stock cooling fan unit cut down significantly on noise and works with the stringent space requirements of the build. Those fans however keep other components on the card cool, so [Matt] cut pieces of copper plate to affix to these areas and joined them to the heatsink with a heat pipe, bent to shape. The elm wood case then began to take shape around the graphics card — cut into pieces to accommodate the heat pipes, and sealed with black tack to dampen the ‘coil whine’ of the GPU; it turns out the likely culprit are the MOSFETs, but close enough.
Continue reading “High End PC Gets A Rustic Woodworking Piece Of Art For A Case”
Collecting old CPUs and firing them up again is all the rage these days, but how do you know if they will work? For many of these ICs, which ceased production decades ago, sorting the good stuff from the defective and counterfeit is a minefield.
Testing old chips is a challenge in itself. Even if you can find the right motherboard, the slim chances of escaping the effect of time on the components (in particular, capacitor and EEPROM degradation) make a reliable test setup hard to come by.
Enter [Samuel], and the Universal Chip Analyzer (UCA). Using an FPGA to emulate the motherboard, it means the experience of testing an IC takes just a matter of seconds. Why an FPGA? Microcontrollers are simply too slow to get a full speed interface to the CPU, even one from the ’80s.
So, how does it actually test? Synthesized inside the FPGA is everything the CPU needs from the motherboard to make it tick, including ROM, RAM, bus controllers, clock generation and interrupt handling. Many testing frequencies are supported (which is helpful for spotting fakes), and if connected to a computer via USB, the UCA can check power consumption, and even benchmark the chip. We can’t begin to detail the amount of thought that’s gone into the design here, from auto-detecting data bus width to the sheer amount of models supported, but you can read more technical details here.
The Mojo v3 FPGA development board was chosen as the heart of the project, featuring an ATmega32U4 and Xilinx Spartan 6 FPGA. The wily among you will have already spotted a problem – the voltage levels used by early CPUs vary greatly (as high as 15V for an Intel 4004). [Samuel]’s ingenious solution to keep the cost down is a shield for each IC family – each with its own voltage converter.
Continue reading “Universal Chip Analyzer: Test Old CPUs In Seconds”
It might look like a random pile of wires to some, but it is far from random: [Paulo Constantino] built this 8-bit CPU himself from scratch. He built his remarkable creation using wires and 74HC shift register chips, plus a selection of LEDs to show the various registers.
Running at a maximum of 5MHz, it has an 8-bit data and address bus, although the latter can be expanded to 16 bits. It’s not mining Bitcoin (yet), but it can do things like play the Mario theme. His latest addition is the addition of the ability to write data out to flash memory, and he is looking to add a keyboard to make programming easier.
At the moment, he has to program the CPU by setting DIP jumpers. It’s an impressive, if somewhat frightening build that [Paulo] says took him a couple of days to design and a week or so to build. We’ve seen a few breadboard CPU builds, (some of which were tidier) and builds with similar shift register chips, but this one scores big in the blinky light and mad genius stakes.
Thanks to [AnalogMind] for the tip!
Continue reading “Home Made 8-Bit CPU Is A Wiry Blinky Build”