/ultra96-fractal

Hardware accelerated Julia set explorer running on Ultra96

Primary LanguageC++MIT LicenseMIT

ultra96-fractal

This is an Hardware-accelerated Julia set explorer running on Ultra96. The current implementation can generate 1920x1080 pixels image at 16 frames per seconds.

ultra96-fractal-short.mov

Or see the full video: https://youtu.be/qDFYMZa5ML4

Try it on your Ultra96

  1. Download ultra96v2.zip from the latest release page, extract the files (BOOT.BIN, boot.scr, image.ub), and copy these onto FAT32 formatted microSD card.
  2. Insert the microSD card into the Ultra96 microSD card slot.
  3. Connect the Ultra96 to a monitor.
  4. (optional) Connect a gamepad (e.g. Logitech Gamepad F310) to the Ultra96.
  5. Connect the power supply to the Ultra96.
  6. Press the power button.

How to build

Required Tools:

  1. Clone repository

     $ git clone --recursive https://github.com/Tosainu/ultra96-fractal.git
     $ cd ultra96-fractal
    
  2. Import Vivado project and generate Bitstream

     $ vivado -mode tcl -source fractal.tcl
    
     Vivado% launch_runs impl_1 -to_step write_bitstream -jobs 32
     Vivado% wait_on_run impl_1
     Vivado% write_hw_platform -fixed -include_bit vivado_project/system_wrapper.xsa
     Vivado% q
    
  3. Build PetaLinux project

     $ cd petalinux_project
     $ petalinux-config --silentconfig --get-hw-description=../vivado_project
     $ petalinux-build
     $ petalinux-package boot --force --format BIN --fpga --u-boot
    
  4. Copy generated files to microSD card

     $ cp image/linux/{BOOT.BIN,boot.scr,image.ub} /path/to/sd/card
    

How it works

Picture

Block diagram

๐Ÿšง TODO

License

Distributed under the MIT license except these files.

See also