Vivado project template repo. The main goal of this project is to provide working example - how to build Vivado projects in non GUI mode. Used hardware
Project tested on Linux Ubuntu 20.04 LTS and
- Install Xilinx development toolshttps://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2022-2.html
Clone or download this repo, run:
git submodule init
git submodule update
Open terminal and run one of these commands:
env.sh clean
- cleans all untracked filesenv.sh create
- create projectenv.sh build
- create and build projectenv.sh prog
- program fpga with bitstreamenv.sh flash
- program fpga bitstream into external flash memoryenv.sh erase
- erase fpga external flash memory
env.sh sdk
- build sdk project
- microblaze soft CPU - cofigured with data and instruction cache
- local memory, necessary to store and un first stage bootloader
- external memory (for now it's BRAM, but later could be replaced with HyperRam)
- GPIO - in/out
- UART
- HyperRam IP core - it's connected to the soft CPU as a peripheral
Repo contains two sdk projects:
fsbl
first stage bootloader, that loads application project into external (different) memoryapp (main)
project that contains application project, it printsHello World!
and runs simpleHyperRam
memory tests
For now only acts as a glue logic. But can be extended with custom user files.
Lots of scripts to be able to compile Vivado project in non GUI mode :)
- Based on Your needs modify block diagram
- run validation
- open
tcl
terminal - run
write_bd_tcl -f path_to_this_project/src/tcl/microblaze_system.tcl
- modify
system.vhd
to match upatedblock diagram