Dependencies
|
This document is currently under development. |
This section outlines the system requirements and dependencies for the OCAH project. To install the required packages, refer to Environment Setup.
1. System Requirements
-
Operating System: x86_64 or arm64 Linux, or macOS, with the prebuilt container. See Supported platforms for what each setup supports.
-
Python: Version 3.11 - 3.13 (3.14+ is not supported at this time)
-
CPU: Multi-core processor (8+ cores recommended for simulation and synthesis)
-
Memory: Minimum 16GB RAM recommended for full builds, 32GB recommended for large designs
-
Synthesis is especially memory-hungry. Smaller blocks may be able to be synthesised on 16GB, but larger blocks require more memory. Synthesising the full OCA Harness uses 48GB, so a machine running this would ideally have at least 64GB.
-
Containers on MacOS use additional memory as they run in a virtual machine. A MacOS host with 16GB RAM is more likely to run out of memory than an equivalent Linux host.
-
-
Storage: Minimum 50GB available disk space, SSD recommended for build performance
2. Software Dependencies
The project uses the following documentation tools. See Environment Setup for installation/setup options.
-
Asciidoctor: AsciiDoc documentation processing and PDF generation
-
asciidoctor-pdfVersion 2.3.24+ -
asciidoctor-diagram— renders diagrams during the PDF builds; the Integrator and Programmer guides require it. PlantUML diagrams are drawn by its bundled jar, so a Java runtime is also needed. The HTML builds instead render diagrams through theasciidoctor-krokiAntora extension and need no Java.
-
-
Antora: Multi-repository documentation site generator for AsciiDoc - Version 3.1.10+
-
Python packages: Managed by the repo-level
pyproject.tomlanduv.lock; runmake uv-syncoruv syncfrom the repository root.-
PeakRDL: SystemRDL processing and RTL generation
-
-
RISC-V Toolchain:
riscv64-unknown-elf-*with support for both 32-bit and 64-bit architectures — used to compile firmware and bootcode. Provided by the project container; a native install is optional.-
riscv-unknown-elf-gcc- Version 15.3.0+ recommended -
binutils-riscv-unknown-elf- Version 2.44+ recommended -
picolibc-riscv64-unknown-elf- Version 1.8.12+ recommended
-
-
Verilator: Used for simulation workflows - Version 5.050+
-
Verible: Version v0.0-4148-g1ea007ec or newer
-
GnuMake: Version 4.4.1
-
Bender: Version 0.32.0 - Used to manage Vendor RTL and code
-
Slang: Version 9.1+
-
Yosys: Version 0.68+
-
SV-Elab: Version 2026-08-30+ (formerly yosys-slang)
-
-
GCC: Version 15.3.0+ recommended
-
CCache: Version 4.12.3+
-
CMake: Version 4.2.3+
-
The Virtual Platform for testing the SEP Firmware has the following additional dependencies, but installs and manages them itself unless configured otherwise:
-
SystemC: Version 3.0.2, built with C++20
-
Boost: Version 1.84.0
-
OPENSSL: Version 3.3.2
-
SystemC CCI: Version 1.0.2, built with the above SystemC and C++20
-
Whisper: RISC-V Simulator - Pinned Version Managed Automatically
-
3. License Requirements
-
Open Source Tools: No additional licenses required
-
Commercial Tools: Valid licenses for VCS, Design Compiler, etc are optional, these may be used for alternate workflows.
-
Dependencies: All External IPs used within the project are distributed under open-source licenses (Mostly Apache/MIT).