Tilting At Windmills Nine Bits At A Time

In the old days — we are talking like the 1960s and 1970s — computers were often built for very specific purposes using either discrete logic or “bit slice” chips. Either way, more bits meant more money so frequently these computers were made with just enough bits to meet a required precision. We don’t think that was what was on [Mad Ned’s] mind, though, when he decided to implement a 9-bit CPU called QIXOTE-1 on an FPGA.

Like many hobby projects, this one started with an FPGA board in search of a problem. At first, [Ned] had a plan to create a custom computer along with a custom language to then produce a video game. A quick search on the Internet led to that being a common enough project with one guy that we’ve talked about here on Hackaday before knocking it out of the park.

[Ned] then thought about just doing a no-software video game. Too late to be the first to do that. Not to be deterred, he decided to duplicate the PDP-8. Whoops. That’s been done before, too. Wanting something original, he finally decided on a custom CPU. Since bytes are usually — if not technically — 8 bits, this CPU calls its 9-bit words nonads and uses octal which maps nicely to three digits per nonad.

This first post talks about the story behind the CPU and gives a short overview of its capabilities, but we are waiting for future posts to show more of what’s behind the curtain in what [Ned] calls “Holy Nonads, Part 010.”

The downside to doing a custom CPU is you have to build your own tools. You can always, of course, duplicate something and steal your toolchain. Or go universal.

DE10-Lite Dev Board / Game Controller

DE10-Lite-Ful FPGA Dev Board Hack Plays The 1981 Classic Defender

We’re not sure what the assignment was, but the results of [Garret Carter]’s homework for his Digital System Design class at Tennessee Tech couldn’t help but capture our attention. Below the break you can see what [Garrett] describes as a “simplified stylized version” of the 1981 arcade hit “Defender”.

With the goal of keeping the price low but keeping performance as high as possible, [Garrett] set forth to program the DE10-Lite FPGA development board in VHDL. The results are convincing, and while not perfect, came in under budget.

The DE10-Lite board gave [Garrett] the opportunity to get even more creative, using the dev board’s onboard switches, buttons, 7-segment LED’s and accelerometer to full effect. In this case, the dev board is not only the game, but also the controller and status display. A very neat hack indeed!

If you want to make your own, you can get the full project details at [Garrett]’s Github page. And [Garrett], we don’t know what marks your professor will give, but we give you an A+, would definitely play again.

While FPGA development boards aren’t necessarily inexpensive, our own Jenny List shows where you might be able to find a used but workable FPGA board for a fraction of the cost, If you know where to look.

Continue reading “DE10-Lite-Ful FPGA Dev Board Hack Plays The 1981 Classic Defender”

A 1981 Centaur pinball table rebuilt into a coffee table.

Clear Off The Coffee Table, It’s Pinball Time

Like many of us, [BuildXYZ] has always wanted to own a pinball machine, but doesn’t have the space to justify buying such a big and heavy toy. But where there’s a will, there’s a way. [BuildXYZ] figured that if they could build a pinball machine into a coffee table form factor, they’d be at least halfway to justification.

[BuildXYZ] didn’t choose just any pin. After doing a bunch of research, they settled on 1981’s Bally Centaur because it’s an early solid-state machine, and it’s one of the best. It has no secondary playfield levels to deal with, making it much easier to do this project.

Where do we even start to describe this beautiful labor of love? There are too many details to list, but know that it seems to be equal amounts of restoration work and custom work that brought this table together. The build video after the break is definitely worth your time, and you’ll gain a much better appreciation of the amount of time that went into this, from the custom score decoder chip built on an FPGA to the 3D printed replacement drop targets and new acrylic bits to replace the yellowing ones from the playfield.

Continue reading “Clear Off The Coffee Table, It’s Pinball Time”

6502 Goes FPGA (Again)

While there has been no shortage of FPGA-based recreations of classic processors, we always enjoy seeing a new approach. Last month [Some Assembly Required] took on the challenge to recreate a classic computer from the ground up and started with a 6502 implementation in Verilog. You can see in the second video below that he’s made good progress and there are apparently more videos to come.

The ROL instruction is the subject of the second video. We liked the approach of looking at what the instruction does and how many cycles it takes on different variants It is always good to make sure you know exactly what you are trying to accomplish before you get started.

Continue reading “6502 Goes FPGA (Again)”

X-ray image of a camera lens

Observing A Plant’s Vascular System With X-Ray Video

[Ben Krasnow] has a knack for showing us what’s inside of things while they’re moving. This week’s Applied Science experiment has him making time-lapse X-ray videos of things. This plant’s vascular system is just one of a few examples, the others being a dial clock and the zoom lens on a DSLR.

X-ray of plantThe trick here is having an X-ray sensing panel that can be reused. It takes around five seconds of exposure to grab each 40×40 cm frame which are then assembled back into video.

Now watching mechanisms move is cool — [Ben’s] video back in 2015 to show what a phonograph needle in the groove of a vinyl record looks like under a scanning electron microscope is still one for the coolest “camera tricks” we’ve ever seen pulled off. But watching the vascular system of a plant function is the recipe for one of those ah-ha educational moments, so we hope that 7th-grade biology teachers everywhere will find their way to this video.

The apparatus is described in great detail, but regular Hackaday readers will most likely want to focus in on the teardown of the X-ray panel, which [Ben] describes as a giant digital camera sensor tuned for receiving the X-rays. The source is a 50 kV 1 mA tube that he compares to what is used at the dental office. (Obviously this requires forethought to ensure his automated time-lapse setup will fail safe with the X-ray tube.) A Cyclone III FPGA drives the panel, communicating with the sensor array via two Ethernet interfaces.

A friend sent a the broken panel to [Ben] and he was able to easily repair a MOSFET that got knocked out of place. [biluni] shows up in the comments of this video, sharing his recollection from working in the industry 15 years ago that a panel like this would have cost $150k! But considering the stellar resolution, and repeatable use, it sure as heck beats the old film process.

Continue reading “Observing A Plant’s Vascular System With X-Ray Video”

Using VHDL To Generate Discrete Logic PCB Designs

VHDL and Verilog are hardware description languages, used to describe and define logic circuits. They’re typically used to design ASICs and to program FPGAs, essentially using software to define hardware. However, [Tim] has done something altogether quite creative, creating tools to take VHDL and Verilog and spit out PCB designs for discrete logic. 

Yes, you read that correctly. The basic idea is to take VHDL source code, and then make a PCB layout that implements the desired logic using resistor-transistor logic. From there, the PCB design files can be shipped off to a manufacturer for pick-and-place assembly at a fraction of the cost of producing a bespoke ASIC.

The drawbacks are obvious; tons of individual discrete parts are required, the size penalty is hilariously bad, and power usage is almost certainly orders of magnitude higher than doing the same logic on an ASIC or even FPGA. Oh, and everything’s much slower, too.

However, as an academic exercise or simply for fun, it’s an awesome bit of work. The idea that one can define a complicated logic circuit and have a PCB implementing the logic whipped up by automated tools is amazing, and we absolutely want to see more of this type of thing.

We’ve seen similar work done with VHDL synthesis into 74-series logic design. If you’ve been developing your own fancy digital-logic-fu, be sure to drop us a line!

[Thanks to Yann Guidon for the tip!]

The Game Of Life Moves Pretty Fast, If You Don’t Use Stop Motion You Might Miss It

Munged Ferris Bueller quotes aside, Conway’s Game of Life is the classic cellular automata that we all reach for. The usual approach is to just iterate over every cell in the grid, computing the next state into a new grid buffer. [K155LA3] set out to turn that on its head by implementing Game Of Life in the hardware of an FPGA.

[K155LA3]’s version uses Chisel, a new HDL from the Berkley and RISCV communities. Under the hood, Chisel is Scala with some custom libraries that know how to map Scala concepts onto hardware. In broad strokes, Verilog and VHDL are focused on expressing hardware and then added abstraction on top of that over the year. Chisel and other newer HDL languages focus on expressing high-level general-purpose elements that get mapped onto hardware. FPGAs already map complex circuits and hardware onto LUTs and other slices, so what’s another layer of abstraction?

The FPGA chosen for this project is a Digilent Arty A7 with a VGA Pmod to turn the RGB444 into analog signals to actually display. What’s impressive about [K155LA3]’s implementation is just how fast it is. Even running at 60 frames per second it’s almost as fast as the monitor can handle. Of course, most computers lying around you could simulate a 60 x4 8 grid at 60 fps. Next, instead of connecting the grid logic to the 60 Hz VGA clock, he connects it to the 100 MHz board external oscillator. Now each pixel in each frame displayed contains over a million generations.

Unfortunately, even this small grid of 60×48 takes up 90% of the LUTs on the Artix-7. In the future, we’d love to see an even larger FPGA hardware implementation capable of handling grids that could hold whole computers in them. And naturally, this isn’t the first FPGA version of the Game Of Life here at Hackaday.