Exploring the Mandelbrot set in real time

The Mandelbrot set – the fractal ‘snowman turned on its side’ seen above – has graced the covers of magazines, journals, and has even been exhibited in art galleries. An impressive feat for what is nothing more than a mathematical function, and has become something of an obsession for [Chiaki Nakajima].

Even on modern computers, generating an image of a portion of the Mandelbrot set takes a good bit of time. When [Chiaki] discovered this fractal in the mid-1980s, the computers of the day took hours to generate a single, low-resolution image. Real-time zooming and scrolling was impossible but [Chiaki] made the best of what he had on hand and built Pyxis, a Mandelbrot set generator made entirely out of TTL logic chips (Google Translate here).

The original Pyxis connected to a desktop computer via a breakout box. while a special program toggled the bits and registers inside the Pyxis to generate pictures of the Mandelbrot set a thousand times faster than the CPUs of the day could muster.

Time marches on, and the original logic chip Pyxis is can be easily surpassed by even the slowest netbooks. There is, however, another way to build a hardware Mandelbrot set generator: FPGAs.

A few years ago, [Chiaki] began work on the Pyxis2010 (translation), an FPGA-based Mandelbrot set generator able to dynamically zoom and pan around the world’s most popular fractal. Built around an Altera Cyclone III FPGA he picked up from Digikey for $600 (no, not a dev board, just a bare chip), [Chiaki] began deadbugging his circuit directly onto the pins of the hugely expensive FPGA. A man with a steady hand and no fear if there ever was one.

Instead of connecting his Mandelbrot generator to a computer and using it as a co-processor, [Chiaki] decided he wanted something more portable. He found an old Sony PSP, removed the LCD screen, and integrated it into his circuit. After a careful bit of dremeling and fabrication, [Chiaki] had a hand-held Mandelbrot generator that is able to display images of the world’s most famous fractal faster than any desktop computer.

It goes without saying this build is incredible. The technical skill to build an insanely fast Mandelbrot generator on an FPGA is astonishing, but basing it off a logic-chip based build reaches into the realm of godliness. You can check out a video of this amazing build after the break.

There’s no way you could zoom in as far with an OpenCL implementation: GPUs just don’t have the precision for it. At best you get a nominal 52 bits of mantissa. An Intel x86-64 chip gives you 64 bits of mantissa using 80-bit floating point mode, but that wouldn’t give you the speed you’d need to render this quickly.

Currently an FPGA or a cluster of PCs is the only way to achieve that.

It’s awesomely fast – however as with OpenCL (probably more so) it doesn’t really have enough precision. Having said that I’d be amazed if you couldn’t write you own multiply and add in OpenCL to handle arbitrarily large integers.

Awesome build though – it’s great to see people using these impressive chips – even more so without a PCB! I guess when it comes down to it, $600 isn’t so much considering what you get for your money.

It’s good to see reminders of how prices have fallen over time. That exact FPGA is <$400 at digikey, and if I read the report correctly, you should be able to do this on a <$100 FPGA (Spartan6 seems to have enough gates and memory).

Editors: “When [Chiaki] discovered this fractal in the mid-1980s…” is potentially misleading to those who don’t know the history. I’d suggest something along the lines of “When [Chiaki] first heard about this fractal in the mid-1980s.”

FractInt is still being maintained and updated, along with XFractInt (for Linux/Unix) and WinFract for Windows. There is even a spin-off version called ManpWIN with a lot of more advanced functionality for a Windows system.

I was gonna say the same thing. “Hours” is a bit of an overstatement. There was one for Atari ST that took a fraction of a second to redraw at 320×200, called the Trendy Handy Randy Hendy Bendy Mandy by Mark Henderson.