6. Customization¶
These guides will walk you through customization of your system-on-chip:
- Contructing heterogenous systems-on-chip using the existing Chipyard generators and configuration system.
- How to include your custom Chisel sources in the Chipyard build system
- Adding custom RoCC accelerators to an existing Chipyard core (BOOM or Rocket)
- Adding custom MMIO widgets to the Chipyard memory system by Tilelink or AXI4, with custom Top-level IOs
- Adding custom Dsptools based blocks as MMIO widgets.
- Standard practices for using Keys, Traits, and Configs to parameterize your design
- Customizing the memory hierarchy
- Connect widgets which act as TileLink masters
- Adding custom blackboxed Verilog to a Chipyard design
We also provide information on:
- The boot process for Chipyard SoCs
- Examples of FIRRTL transforms used in Chipyard, and where they are specified
We recommend reading all these pages in order. Hit next to get started!
- 6.1. Heterogeneous SoCs
- 6.2. Integrating Custom Chisel Projects into the Generator Build System
- 6.3. RoCC vs MMIO
- 6.4. Adding a RoCC Accelerator
- 6.5. MMIO Peripherals
- 6.6. Dsptools Blocks
- 6.7. Keys, Traits, and Configs
- 6.8. Adding a DMA Device
- 6.9. Incorporating Verilog Blocks
- 6.10. Memory Hierarchy
- 6.11. Chipyard Boot Process
- 6.12. Adding a Firrtl Transform
- 6.13. IOBinders