Skip to content

Hardware accelerated Julia set explorer running on Ultra96

License

Notifications You must be signed in to change notification settings

Tosainu/ultra96-fractal

Repository files navigation

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