Hackaday Links: December 27, 2020

We’re always pleased to see one of our community’s projects succeed, and we celebrate that success in whatever what it comes. But seeing a company launched to commercialize an idea that started as a Hackaday.io project and a Hackaday Prize entry is especially gratifying. So we were pleased as punch to see that MAKESafe Tools has managed to bring the idea of add-on machine tool braking to market. We’d love to add this to several tools in our shop. Honestly, of all the terrifying ways machine tools can slice, dice, and shred human flesh asunder, we always considered the lowly bench grinder fairly low-risk — and then we had a chance to “Shake Hands with Danger.”

Another great thing about the Hackaday community is the way we all try to keep each other up to speed on changes and news that affects even our smallest niches. Just last week Tom Nardi covered a project using the venerable TI eZ430-Chronos smartwatch as a makeshift medical alert bracelet for a family member. It’s a great application for the proto-smartwatch, but one eagle-eyed commenter helpfully pointed out that TI is shutting down their processors wiki in just a couple of weeks. The banner at the top of each page warns that the wiki is not read-only and that any files needed should be downloaded by January 15. Also helpfully, subsequent comments include instructions to download the entire wiki and a torrent link to the archive. It’s always sad to see a platform lose support, especially one that has gained a nice following, but it’s heartening to see the community pull together to continue to support each other like this.

We came across an interesting article this week that’s was a fascinating glimpse into how economic forces shape  and drive technological process, and vice versa. It turns out that some of the hottest real estate commodities these days are the plots of land occupied by AM radio stations serving metropolitan markets. It’s no secret that terrestrial radio in general, and AM radio in particular, are growing increasingly moribund, and the infrastructure needed to keep them on the air is getting harder and harder to justify. Chief among these are the large tracts of land devoted to antenna farms, which are often located in suburban and exurban areas near major cities. They’re tempting targets for developers looking to plunk down the physical infrastructure needed to support “New Economy” players like Amazon, which continue to build vast automated warehouses in areas that are handy to large customer bases. It’s a bit sad to watch a once mighty industry unravel and be sold off like this, but such is the nature of progress.

And finally, you may recall a Links article mention a few weeks back about a teardown of a super-sized IBM processor module. A quarter-million dollar relic of the 1990s, the huge System/390 module was an engineering masterpiece that met an unfortunate end at the hands of EEVblog’s Dave Jones. As a follow-up, Dave teamed up with fellow YouTuber CPU Galaxy to take a less-destructive tour of the module using X-ray analysis. The level of engineering needed for a 64-layer ceramic backplane is astonishing, and Dave’s play-by-play is pretty entertaining too. As a bonus, CPU Galaxy has some really interesting stuff; his place is basically a museum of vintage tech, and he just earned a new sub.

A Breadboard Block For 8-Bit CPUs

Breadboard CPUs are a fantastic learning experience and require serious dedication and patience. Occasionally, CPU builders eschew their breadboards and fab their design onto a PCB. But this takes away the flexibility and some of the opportunity for learning that breadboard CPUs offer. [c0pperdragon] was doing the same sort of repetitive wiring from project to project as most 8-bit breadboard CPUs use memory, a bus, an IO controller, ROM, and a few other passive components.

Taking a compromise approach, [c0pperdragon] built a PCB that can be used as a building block in his custom CPUs which they have titled “ByteMachine”. A single row of 34 pins offer power, clock, reset, 19 address bus lines, 8 data bus lines, and a ROM selector. This means that the CPUs can fit on a single breadboard and can run faster as the impedance of the breadboard has less effect on the circuit. With 512 KB of RAM and 512 KB of ROM, in a ZIF socket for easy reprogramming, ByteMachine has plenty of space.

One drawback is the lack of IO. There is no dedicated address space as this would require decoding logic between the RAM and the CPU. [C0pperdragon] added a simple 8-bit output register provided by a 74-series logic IC. The data is displayed on 8 red LEDs and can be accessed via pins. Input is accomplished in a similar way with just 8 bits of digital input provided.

[C0pperdragon] has built the 65C02, 65C816Z84C00, and the i8088 with the ByteMachine. Each was documented with incredible schematics, pictures, and test programs on GitHub. Next time you’re looking to build a CPU on a breadboard, maybe start with a ByteMachine. In some ways, it might improve your learning experience as it makes the incredible mass of wires we’ve seen on other projects a tad more manageable.

Thanks [Reinhard Grafl] for sending this one in!

Indian RISC-V Chip Is Team’s Third Successful Chip

There was a time when creating a new IC was a very expensive proposition. While it still isn’t pocket change, custom chips are within reach of sophisticated experimenters and groups. As evidence, look at the Moushik CPU from the SHAKTI group. This is the group’s third successful tapeout and is an open source RISC-V system on chip.

The chip uses a 180 nm process and has 103 I/O pins. The CPU runs around 100 MHz and the system includes an SDRAM controller, analog to digital conversion, and the usual peripherals. The roughly 25 square mm die houses almost 650 thousand gates.

This is the same group that built a home-grown chip based on RISC-V in 2018 and is associated with the Indian Institute of Technology Madras. We aren’t clear if everything you’d need to duplicate the design is in the git repository, but since the project is open source, we presume it is.

If you think about it, radios went from highly-specialized equipment to a near-disposable consumer item. So did calculators and computers. Developing with FPGAs is cheaper and easier every year. At this rate it’s not unreasonable to think It won’t be long before creating a custom chip will be as simple as ordering a PCB — something else that used to be a big hairy deal.

Of course, we see FPGA-based RISC-V often enough. While we admire [Sam Zeloof’s] work, we don’t think he’s packing 650k gates into that size. Not yet, anyway.

Continue reading “Indian RISC-V Chip Is Team’s Third Successful Chip”

Die Lapping For Better CPU Performance

CPUs generate their heat in the silicon die that does all those wonderful calculations which make our computers work. But silicon conducts heat fairly poorly, so the thinner your CPU die, the better it will conduct heat out to the heatsink. This theoretically promises better cooling and thus more scope for performance. Thus, it follows that some overclockers have taken to lapping down their CPU dies to try and make a performance gain.

It’s not a simple process, as the team at [Linus Tech Tips] found out. First, the CPU must be decapped, which on the Intel chip in question requires heating to release the intermediate heat spreader. A special jig is also required to do the job accurately. Once the bare CPU is cleaned of all residual glue and heat compounds, it can then be delicately lapped with a second jig designed to avoid over-sanding the CPU.

After much delicate disassembly, lapping, and reassembly, the CPU appears to drop 3-4 degrees C in benchmarks. In overclocking terms, that’s not a whole lot. While the process is risky and complicated for little gain, the underlying premise has merit – Intel thinned things out in later chips to make minor gains themselves. Video after the break.

Continue reading “Die Lapping For Better CPU Performance”

SoftCore CPU Comparison

Monty Python once did a sketch where people tried to summarize Proust in fifteen seconds. Although summarizing eight FPGA-based CPUs is almost as daunting, [jaeblog] does a nice job of giving a quick sketch of how the CPUs work with the Xilinx Vivado toolchain and the Digilent Arty board.

The eight CPUs are:   VexRiscv, LEON3, PicoRV32, Neo430, ZPU, Microwatt, S1 Core, and Swerv EH1.

The comparison criteria were very practical: A C compiler (gcc or llvm) for each CPU and no CPUs that were tied to a particular FPGA. Two of the CPUs didn’t fit on the Arty board, so their comparisons are a bit more theoretical.  There were other considerations such as speed, documentation, debugging support, and others.

It was interesting to see the various CPUs ranging from some very mature processors to some new kids on the block, and while the evaluations were somewhat subjective, they seemed fair and representative of the things you’d look for yourself. You can also get the test code if you want to try things for yourself.

The winner? The post identifies three CPUs that were probably the top choices, although none were just perfect. Of course, your experience may vary.

If you want an easy introduction to adding things to a soft CPU, this RISC-V project is approachable. Or if you prefer SPARC, check out this project.

64-bit And A Display: Minecraft Computers 10 Years Later

Some people build their own computer to play games, while others play games to build their own computer. Minecraft is the prime candidate for the latter, and while you can certainly arrange the blocks to make them look like a computer, we’re of course talking about replicating the actual functionality of a CPU or parts thereof, and/or external components within the game. Many such creations have spawned in the decade since the first Minecraft-built ALU surfaced, and [Rockfarmor] built a 64-bit specimen to add to that list — and made a video to showcase it.

Instead of emulating a common architecture, [Rockfarmor] went for a more home-made approach, and re-used the architecture from an old school assignment (in Swedish) as basis. The result is a simple yet fully functional 64-bit CPU with 32 registers, 32kB main memory and a separate 16kB stack. The instruction set mostly contains ALU and branching operations, but also a few special opcodes to control an additional 64×64 pixel blocks, 64-color display — including drawing circles, lines, and color fills.

More details on the architecture can be found in its documentation and in an older video (with subpar audio circumstances unfortunately). An additional time-lapse video of the initial build is also available, and you will find all of them after break. To simplify development, [Rockfarmor] also wrote a desktop app to program the computer in assembly and upload it straight to the Minecraft version.

As with all computers built in Minecraft, the driving force is redstone, which essentially allows circuit design within the game, and [Rockfarmor]’s is no difference here. He also uses command blocks to avoid the laboriously and slow “wiring” required otherwise, turning it more into a “wireless redstone” circuit.

No doubt, purists will consider this cheating, but another angle would be to see it as Moore’s Law applied to Minecraft computers, considering the computer’s size and speed compared to the first Minecraft ALU. Or maybe as the equivalent of microcode in real-world CPUs? Or then, maybe we should just accept and embrace different options and preferences.

Continue reading “64-bit And A Display: Minecraft Computers 10 Years Later”

Breadboard Computer Plays Snake On Character Display; Also In A Browser!

If building a homebrew computer on a breadboard is your thing, you’re most certainly familiar with [Ben Eater], whose design of using nothing but logic gates has served as inspiration for many replicas over the years. [visrealm] took the concept and expanded upon it, even adding a 16×2 LCD that let’s you play Snake by moving a single pixel on the character display!

Making the most of tiny resolution is impressive — it’s a difficult constraint for the game field. But there are other tricks at work as well. [visrealm] uses different intensities to distinguish between the snake and its food which is kind of a dark pixel in the demo shown after the break. But what stands out most is that the breadboard build is really only half of the story. In addition, [visrealm] built an entire emulator that resembles his actual breadboard design, which can be programmed and used via browser, giving WebAssembly a whole new meaning. While that’s convenient for anyone interested to play around with these breadboard computers, but lacks the patience to build one themselves, it also functions as the real one’s programming environment. In addition, an ESP8266 is used to load a new program directly via WiFi.

All the code and some build notes are available on GitHub, and if you’re looking for a nifty LCD emulator for your web site, there’s a standalone repository for that as well. But in case you need a better display option for your own breadboard computer, how about adding a VGA connector? And if you don’t build your own yet, it’s never too late to start.

Continue reading “Breadboard Computer Plays Snake On Character Display; Also In A Browser!”