Ravenslofty / mistral

Cyclone V bitstream reverse-engineering project
BSD 3-Clause "New" or "Revised" License
111 stars 15 forks source link

Could you provide instructions and an small example? #16

Open rodrigomelo9 opened 3 years ago

rodrigomelo9 commented 3 years ago

Hi. I know that it is experimental, but I saw a blinking led several months ago on Twitter (I didn't find it again). I have a DE10-nano and I want to try (as far I remember, the example was in this same board).

Regards, Rodrigo

Ravenslofty commented 3 years ago

So, first, you need Yosys. Build it with make -jN, install it with sudo make install. You should now have a command called yosys.

Next, download Mistral, and set MISTRAL_ROOT as the path to it. While you can build the source to get the mistral-cv command, normally Mistral and nextpnr are built together.

Next, download nextpnr, make a build directory inside the nextpnr source and enter it, build it with cmake .. -DARCH=mistral -DMISTRAL_ROOT=$MISTRAL_ROOT && make -jN, install it with sudo make install. If the build fails due to running out of memory, just retry it. You should now have a command called nextpnr-mistral.

Next, download openFPGALoader, make a build directory within the source directory, enter it, run cmake .. && make -jN, and install it with sudo make install. You should now have the command openFPGALoader.

Finally, download mistral-test, enter the tests directory, edit the Makefile to remove the --compress-rbf option from nextpnr (compressed bitstreams cannot be loaded through JTAG), run make blinky.rbf to build the bitstream, and then openFPGALoader -b de10nano blinky.rbf.

rodrigomelo9 commented 3 years ago

Great! Thanks. I will try and let you know.