最近在学习Gemmini,记录了一些笔记,分享出来。因此本系列博客是涵盖了Gemmini相关内容的一系列笔记,包括:Chipyard、Gemmini、buddy-mlir等。
本系列其他博客:
- 【Gemmini系列】【一】Chipyard文档(版本“HEAD”)
- 【Gemmini系列】【二】Chipyard SoC开发框架及其在先进研究中的应用
- 【Gemmini系列】【三】对Gemmini脉动阵列加速器的架构深度解析
- 【Gemmini系列】【四】在Chipyard生态系统中用Buddy-MLIR为Gemmini加速器进行编译指南
Chipyard文档(版本“HEAD”)
网址:Welcome to Chipyard’s documentation (version “HEAD”)!
简介
网站类型简介
网站类型:技术文档
🏅权威机构
该页面是 Chipyard 项目的官方技术文档主页。Chipyard 是一个由伯克利架构研究中心 (Berkeley Architecture Research) 开发、美国国家科学基金会 (NSF) 支持的开源硬件开发框架。此文档是学习和使用该框架的核心资源。
当前网站内容摘要
核心功能与目标
Chipyard 是一个用于敏捷设计和评估全系统硬件的框架,专注于 片上系统 (SoC)
的开发。它整合了一系列开源与商业工具,旨在简化从设计、仿真、原型验证到物理实现的完整流程。
框架核心组成与工作流程
Chipyard 生态系统基于生成器驱动的方法学,使用 Chisel
硬件构建语言生成可配置的 RTL
代码。这允许开发者通过参数和配置,快速构建出高度定制化的硬件系统。
[相关概念]
Chisel: 一种基于Scala的高级开源硬件构建语言,用于替代传统的Verilog/VHDL。
关键功能模块与组件
该文档详细介绍了 Chipyard 的主要功能模块,包括:
-
内置 RTL 生成器: 提供丰富的可配置IP核库,包括多种 RISC-V CPU核(如
Rocket
、BOOM
、CVA6
)、专用加速器(如Gemmini
神经网络加速器、NVDLA
)以及标准外设。 -
仿真与原型验证: 支持多种仿真方式,包括开源软件仿真(
Verilator
)、商业软件仿真(VCS
)、FPGA加速仿真(FireSim
),以及在 VCU118、Arty 等FPGA开发板上的硬件原型验证。 -
VLSI 流程: 集成了名为 Hammer 的完整
超大规模集成电路 (VLSI)
流程工具,支持将RTL设计转化为可供制造的物理版图,并提供了针对ASAP7
和Sky130
等工艺库的教程。 -
高度可定制性: 文档提供了详尽的指南,用于添加自定义CPU核、
RoCC
加速器、MMIO外设,以及如何将用户已有的 Verilog 或 HLS 代码集成到系统中。
结论
该网页是 Chipyard 框架的权威“说明书”。它清晰地展示了 Chipyard 作为一个强大、灵活且全面的 RISC-V SoC 设计平台的核心价值。文档覆盖了从软件仿真到物理芯片流片 (VLSI) 的完整设计周期,对于希望构建定制化、高性能处理器的学术研究者和工程师而言,是不可或缺的参考资料。
目录结构
这份文档是Chipyard框架的指南,旨在帮助用户设计和评估全系统硬件。
文档目录概览:
- Chipyard 基础 (Chipyard Basics)
- 介绍Chipyard的组成部分,如生成器、工具链、软件等。
- 阐述Chipyard的开发生态系统,包括Chisel/FIRRTL语言和RTL生成器。
- 讲解配置、参数和混入类等核心概念。
- 提供初始仓库设置和升级Chipyard版本的说明。
- 仿真 (Simulation)
- 涵盖软件RTL仿真,包括Verilator和Synopsys VCS的使用。
- 介绍FPGA加速仿真,特别是FireSim的使用。
- 详细说明如何运行默认示例、自定义基准测试、生成波形以及可视化Chipyard片上系统。
- 包含的RTL生成器 (Included RTL Generators)
- 深入介绍Chipyard中集成的各种RTL生成器,如Rocket Chip、BOOM、Gemmini、Saturn、IceNet、CVA6、Ibex、NVDLA等。
- 说明这些生成器的组成、功能和配置选项。
- 开发工具 (Development Tools)
- 介绍与Chipyard相关的开发工具,包括Chisel、FIRRTL、Treadle和流片工具(Tapeout-Tools)。
- 涵盖技术SRAM和IO单元的映射、顶层模块与测试平台模块的分离等。
- 超大规模集成电路流程 (VLSI Flow)
- 详细讲解构建芯片的整个VLSI流程,包括RTL转换、布局规划创建以及运行VLSI工具流程。
- 介绍核心工具Hammer及其操作、步骤、钩子和流控制。
- 提供ASAP7、Sky130等工艺的教程和高级用法。
- 定制 (Customization)
- 指导用户如何定制Chipyard项目,包括创建异构片上系统、添加自定义内核和RoCC加速器。
- 介绍MMIO外设、Dsptools模块的集成以及TileLink相关连接。
- 涵盖Keys、Traits、Configs、DMA设备、Verilog模块和HLS的集成。
- 解释内存层次结构和Chipyard的启动流程。
- 目标软件 (Target Software)
- 介绍与Chipyard一起使用的目标软件,如FireMarshal、RISC-V ISA模拟器(Spike)。
- 提供裸机RISC-V程序和Zephyr RTOS的使用说明。
- 高级概念 (Advanced Concepts)
- 深入探讨顶层模块、测试平台、测试驱动程序以及与被测设备(DUT)通信等高级主题。
- 介绍RTL调试、访问Scala资源、上下文相关环境、时钟管理和架构检查点。
- TileLink和外交参考 (TileLink and Diplomacy Reference)
- 详细介绍TileLink协议的节点类型、外交连接器以及TileLink边缘对象方法。
- 讲解寄存器节点和各种外交组件(如TLBuffer、TLXbar等)。
- 原型设计流程 (Prototyping Flow)
- 指导用户如何在支持的FPGA(如VCU118、Arty、Nexys Video)上运行设计并生成比特流。
- 提供调试和在FPGA上运行Linux的说明。
文档还包含了索引、模块索引和搜索页面,方便用户查找信息。