RouteRTL Documentation
Welcome to the RouteRTL documentation index. This folder contains project-wide documentation and links to component-specific READMEs.
📖 Getting Started
| Document | Description |
|---|---|
| Installation Guide | Platform setup, prerequisites, and first install |
| First Steps Tutorial | Hands-on 20-minute tutorial for new users |
| Getting Started | Minimal example and quick start |
| Cocotb Quickstart | Writing and running simulations |
| Driver Cookbook | Copy-paste recipes for SPI, UART, AXI drivers |
| Migration Guide | Migrating from RapidRTL to RouteRTL |
| Existing Project Migration | Integrating the SDK into an existing project |
CONTRIBUTING.md | Coding standards, PR guidelines, and development workflow |
📘 SDK Reference
| Document | Description |
|---|---|
| SDK User Guide | Comprehensive guide covering all SDK features |
| Project YAML Reference | Complete project.yml specification |
| Troubleshooting Guide | Error catalog and quick fixes |
| Pre-Commit Quality Gate | Automated quality checks before every commit |
| Pre-Commit Guide | Setting up and customizing pre-commit hooks |
| Linter Pipeline | Smart linter phases, library compilation, and diagnostics |
| IP Manifest Reference | ip.yml schema and IP discovery |
| Dependency Resolver | Source ordering algorithm and hierarchy detection |
| Simulator Backends | Supported simulators and CI/CD strategy |
| Language Support TODO | Multi-language support backlog |
| Init Project Guide | Project initialization and scaffolding |
| Plugin Development | Extending the CLI with custom plugins |
📚 API Reference
| Document | Description |
|---|---|
| API Overview | API documentation index |
| Testbench Environment | TbEnv class — clock, reset, logging, monitors |
| Simulation Runner | run_simulation() function reference |
| AXI-Lite Driver | AXI-Lite master/slave driver |
| AXI4 Driver | AXI4 full driver |
| Avalon-MM Driver | Avalon memory-mapped driver |
| UART Driver | UART transmitter/receiver driver |
| SPI Driver | SPI master driver |
| I2C Driver | I2C master driver |
| Native Memory Driver | Direct memory interface driver |
🏗️ Architecture & Design
| Document | Description |
|---|---|
| Architecture Overview | How SDK components connect |
| Common.mk Architecture | The heart of the build system |
| Xilinx Build Flow | Analysis of the Xilinx/Vivado build process |
| Altera Build Flow | Analysis of the Altera/Quartus build process |
BUILD_PIPELINE.md | End-to-end build pipeline documentation |
| Developer Guide | For SDK maintainers and contributors |
🔧 Tool Documentation
| Tool | Description | README |
|---|---|---|
| bridge-gen | RTL Generator for AXI/Avalon Bridges | sdk/generators/bridge/README.md |
| regbank-utils | YAML → HDL/Python/C register generation | sdk/generators/regbank/README.md |
| cocotb-testgen | Auto-generate cocotb test stubs from VHDL | sdk/generators/cocotb/README.md |
| report-analyzer | Vivado report parsing utilities | sdk/generators/report/README.md |
| docker | Unified Docker development environments | sdk/infra/docker/README.md |
| project-manager | Centralized YAML-based build config | sdk/engine/README.md |
🧪 Simulation Documentation
| Component | Description | Documentation |
|---|---|---|
| Cocotb Tests | Python-based testbenches | sim/cocotb/README.md |
| Backend Development | Guide for adding new simulators | sim/cocotb/docs/BACKEND_DEVELOPMENT.md |
🔄 CI/CD
| Platform | Configuration | Status |
|---|---|---|
| GitHub Actions | .github/workflows/ci.yml | Tier 1 + Tier 2 |
| Bitbucket Pipelines | bitbucket-pipelines.yml | Tier 1 + Tier 2 |
Test Tiers
| Tier | Tests | Trigger |
|---|---|---|
| Tier 1 | regbank-utils, Makefile tests, except-Exception guard | Every push |
| Tier 2 | Cocotb simulation (NVC), driver tests | PRs, main branch |
🐧 Embedded Linux
| Document | Description |
|---|---|
| Embedded Linux Index | Documentation hub for SDK ↔ Linux integration |
| Feature Design Document | Architecture, requirements, multi-vendor strategy |
| Memory Map Schema | system_memory_map.yml YAML specification |
| User Guide | Embedded Linux workflow and commands |
📁 Quick Links
README.md— Project overview and getting started- Troubleshooting Guide — Error catalog and quick fixes
examples/README.md— Blinky, counter, AXI, Zynq SPI example projects
Last updated: 2026-04-09