This fractal viewer is a great way to get your feet wet with Field-Programmable Gate Arrays. The project will give you some experience working with video output, user input, and a whole bunch of math and memory management. [Hamster] built it using the Papilio Plus board which hosts a Spartan 6 FPGA. This continues his odyssey into the realm of hardware design; part of which we looked at back in December.
The arcade Megawing for the dev board gives him easy access to the controls needed to scroll and zoom on the fractal design. Calculations to generate the shape are being run at 240 MHz, with the VGA output running at 80 MHz. The device has enough horse power and SRAM to show an 800×600 pixel output with a 60 Hz refresh rate.
We really liked the logic diagram that [Hamster] drew up when planning how the calculations would be handled. It’s not overly complex, but it took us a while to conceptualize how everything fits together. It’s certainly an improvement from his last attempt as we couldn’t make heads or tails out of that flow chart.
If you’re just interested in the pretty shapes and colors there’s a demo embedded after the break.
[youtube=http://www.youtube.com/watch?v=dR4jbX332jU&w=470]
we we’re doing this on our 486 machines in the early nineties in borland turbo pascal and x86 assembler. It ran just a little slower than this.
In indexed color mode adding a palette cycle was also trivial.
I remade it a few years ago in C#, when Benoit passed away.
Now implement a smooth transition between zooms and call it a perfect!
Very nice. For bonus points can he do it without the frame buffer next.
Is it just me or is there no link to the actual project?
Found the link in his youtube description:
http://hamsterworks.co.nz/mediawiki/index.php/DSPfract
I didn’t see a link to the project in the article, so: http://hamsterworks.co.nz/mediawiki/index.php/DSPfract
Brings it all back – one of my earliest postings was a fractal program written in AWK. Still works, though you might need to replace the graph/plot commands.
Papillio has Spartan3 i guess, not Spartan6
“Papilio One” has Spartan3E devices (S3E250 or S3E500). “Papilio Plus”, the core of Papilio Arcade, includes a Spartan6 (S6LX4 or S6LX9).
New boards for Papilio Arcade/Papilio Plus should be available soon.
Álvaro
I’m following the FPGA tutorials on Hamsterworks (is Mike the author?) and finding them really helpful. Hopefully I’ll be about to do this project soon.
Thanks Mike!
– Robot
If any of you are interested in playing around with fractals at home, I highly recommend Fractint, which has been around for 25+ years!
http://fractint.org/
All source code is also available, for experimentation and modification!
“enhancing enhancing using quantum string theroy to add pixels … using hizenburg’s uncertenty princable to focus … using electrical theroy to add color, running retnal match up on every citizen in the usa, colecting video DNA … his name is john Q public he lived at 123 fake drive and he is in the rest room”
XXD i love CSI
For crying out loud! Fix the article so it links to the guys page. I understand that mistakes get made but this guy made the effort to produce the type of content that keeps your site alive, the least you can do is put a direct link in the article!
Hi!
I was playing round with mandelbrot set in 2010 and ended up in making a viewer in flash.
http://www.flashgameblog.at/mandelbrot/index.html
regards,
Michael
p.s.: Thanks for this page. I am here every day.
Wrote a Mandelbrot/Julia set generator in Turbo Pascal in’93
for my Senior Seminar project (as well as a lot of other fractal forms). One could save and restart plots, screen print, zoom,select, change color,etc. Got an A+ for the course. Found the floppy last year, looked at code, and was impressed by my code, even 18 years later!
Miss Turbo Pascal, and Pascal in general…:-(