本文作为SpinalHDL学习笔记第四十六篇,介绍SpinalHDL pinsec相关内容。
目录:
1.简介
2.硬件
3.SoC 顶层 (Pinsec)
1.简介
注解: 本文仅记录使用 SpinalHDL 创造的第一代用 RISC-V CPU 实现的 SoC。未记录 VexRiscV
CPU,这是该 SoC(和 CPU)的第二代,并提供更好的性能/面积/功能。
Pinsec 是完全用 SpinalHDL 编写的一个小型 FPGA SoC 的名称。该项目有多个目的:
• 证明 SpinalHDL 是重要项目中可行的 HDL 替代方案。
• 在具体项目中展示 SpinalHDL 元硬件描述功能的优势。
• 提供完全开源的 SoC。
Pinsec 具有以下硬件特性:
• 用于高速总线的 AXI4 互连
• 用于外设的 APB3 互连
• 具有指令缓存、 MUL/DIV 扩展和中断控制器的 RISCV CPU
• 用于加载二进制文件和调试 CPU 的 JTAG 桥
• SDRAM SDR 控制器
• 片上内存
• 1 个 UART 控制器
• 1 个 VGA 控制器
• 一些定时器模块
• 一些 GPIO
2.硬件
简介
这是 Pinsec 顶层硬件图:
RISCV
RISCV 是一款 5 级流水线 CPU,具有以下特性:
• 指令缓存
• 单周期桶式移位器
• 单周期 MUL、 34 周期 DIV
• 中断支持
• 动态分支预测
• 调试端口
AXI4
如前所述, Pinsec 集成了 AXI4 总线结构。 AXI4 不是最容易使用的总线,但具有许多优点,例如:
• 灵活的拓扑结构
• 高带宽潜力
• 潜在的乱序请求完成
• 满足时钟时序的简单方法
• 被许多 IP 核使用的标准
• 适合 SpinalHDL 反压流 (Stream) 的握手方法。
从面积利用率的角度来看