The Directory Structure
<BoxLambda Root Directory>
├── boxlambda_setup.sh
├── activate_env.sh
├── CMakeLists.txt
├── scripts/
│ └── <build system scripts>
├── sub/
│ └── <git submodules>
├── gw/
│ ├── CMakeLists.txt
│ ├── ip/
│ │ ├── dfx_controller/
│ │ │ ├── dfx_controller_0.xci
│ │ │ └── <other DFX Controller IP files>
│ │ └── <other Vivado IP>
│ ├── components/
│ │ ├── CMakeLists.txt
│ │ ├── wbuart32/
│ │ │ ├── rtl/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── lint.vlt
│ │ │ └── Bender.yml
│ │ └── <other gw component directories>
│ └── projects/
│ ├── CMakeLists.txt
│ ├── ddr_test/
│ │ ├── constr/
│ │ ├── rtl/
│ │ ├── sim/
│ │ ├── CMakeLists.txt
│ │ ├── lint.vlt
│ │ └── Bender.yml
│ └── <other gw project directories>
├── sw/
│ ├── CMakeLists.txt
│ ├── components/
│ │ ├── CMakeLists.txt
│ │ └── <sw component directories>
│ └── projects/
│ ├── CMakeLists.txt
│ ├── ddr_test/
│ │ ├── CMakeLists.txt
│ │ └── <ddr_test sources>
│ └── <other sw project directories>
├── tools/
│ └── <3rd party tools used by build system>
└── build/
├── sim-a7-100/
│ └─── codegen/
│ └── <code-generated files>
└── arty-a7-100/
└─── codegen/
└── <code-generated files>
Note: The software tree (sw/) is separate from the gateware tree (gw/), and the build trees (build/) are distinct from both the software and gateware source trees.
The build trees are CMake build trees generated by the boxlambda_setup.sh script. This script creates the following build trees:
sim-a7-100: Arty-A7-100T simulation build tree.arty-a7-100: Arty-A7-100T FPGA build tree.
The boxlambda_setup.sh script also populates the tools/ directory. It contains third-party tools used by the build system, such as Bender, the RISCV compiler, and OSS CAD Suite.
Important: The build trees and tools directory are not tracked under version control.