1. Setting up the environment (1) run init_xbsv.sh . This will git clone xbsv, fpgamake and buildcache projects from the xbsv git repos. (2) Building can be done in the respective project directory. For example, building the [test] project for vc707 can be done like the following: cd project/test make build.vc707 2. Code structure Only some special directories can exist on the top level. The following are the special directories: [tools] : generated by init_xbsv.sh . Includes xbsv, fpgamake and buildcache [projects] : Projects with separate makefiles and such [src] : BSV and C++ (and other) source code that are hopefully project-independant [xilinx] : xilinx cores/verilog files and related BSV files [controller] : files for the artix7 chip on the flash board the following are some directories that are deprecated, but I was hesitant to delete yet: [config] : some config makefiles that could be included by older projects. Maybe some future projects too [flashemul], [simple] : projects for an older version of xbsv. Read if you want.