最后更新: 2026-05-02 当前状态: 🟢 就绪,可以开始硬件测试
- BitNet 1-bit 量化加速器 Verilog 实现
- Wishbone 总线接口
- 寄存器映射 (4KB 地址空间 @ 0x80002000)
- VexRiscv-SMP CPU 集成
- DDR3 控制器配置(正确引脚)
- 时钟管理(50MHz → 100MHz)
- LED 和 UART 配置
- 用户态测试程序 (bitnet_test.c)
- 软件参考实现
- Makefile 构建系统
- JTAG 烧录脚本
- UART 引导脚本
- 构建监控工具
- README.md - 项目概述
- QUICKSTART.md - 5分钟快速开始
- SETUP.md - 详细安装指南
- OVERVIEW.md - 技术架构深度解析
- HARDWARE.md - 硬件完整文档 ⭐ 新增
- STATUS.md - 本文档
- OpenSBI (258 KB) - RISC-V M-mode 固件
- Linux Kernel (8.4 MB) - 完整内核
- Device Tree (1.9 KB) - 硬件描述
- Root FS (9.8 MB) - 根文件系统
- LiteX BIOS (8.9 KB) - 引导加载程序
- 症状: Vivado DRC 错误 BIVRU-1
- 原因: 引脚定义与实际硬件不匹配
- 解决: 根据官方文档更新所有引脚
- 提交: 65d8a6a
- 症状: S7IDELAYCTRL, SoCRegion 未定义
- 原因: LiteX API 更新
- 解决: 更新导入路径
- 提交: d30aa43
- 症状: RTL8211F PHY 接口不匹配
- 原因: 使用 MII 而非 GMII
- 解决: 暂时禁用,待后续配置
- 优先级: 中
- 构建简化版 SoC (
pidan1_soc_lite.py) - 验证 bitstream 生成
- 加载到 FPGA SRAM
- 测试基本功能 (LED, UART)
- 构建完整版 SoC (含 DDR3)
- 引导 Linux 系统
- 运行 BitNet 测试程序
- 性能测试和优化
- 配置 RTL8211F GMII 以太网
- 完整系统集成测试
- 实时信令处理应用
- 文档和教程完善
pidansoc/
├── bitnet_accel.v # 加速器 Verilog 核心
├── bitnet_accel_litex.py # LiteX 封装
├── pidan1_soc.py # 完整版 SoC (含 DDR3)
├── pidan1_soc_lite.py # 简化版 SoC (无 DDR3) ⭐
├── bitnet_test.c # 测试程序
├── flash_and_boot.sh # 烧录引导脚本
├── monitor_build.sh # 构建监控
├── Makefile # 构建系统
├── images-litex.json # 镜像地址配置
├── boot-images/ # 引导镜像目录
│ ├── opensbi.bin # 258 KB
│ ├── Image # 8.4 MB
│ ├── devicetree.dtb # 1.9 KB
│ ├── rootfs.cpio # 9.8 MB
│ ├── emulator.bin # 8.9 KB
│ └── README.md
├── README.md # 项目说明
├── QUICKSTART.md # 快速开始
├── SETUP.md # 安装指南
├── OVERVIEW.md # 技术详解
├── HARDWARE.md # 硬件文档 ⭐
├── STATUS.md # 本文档 ⭐
└── LICENSE
python3 pidan1_soc_lite.py --build特点:
- ✅ 无 DDR3,使用 128KB 内部 SRAM
- ✅ VexRiscv minimal 变体
- ✅ 构建时间短 (~5-10 分钟)
- ✅ 专注于加速器验证
- ✅ 资源占用小 (~7% LUT)
make build
# 或
python3 pidan1_soc.py --build特点:
- ✅ 包含 DDR3 (512MB)
- ✅ VexRiscv-SMP 多核
- ⏳ 构建时间长 (~15-30 分钟)
- ✅ 支持 Linux 完整功能
⚠️ 资源占用大 (~37% LUT)
| 资源 | 使用量 | 百分比 | 备注 |
|---|---|---|---|
| LUT | ~15K | 7% | 低占用 |
| FF | ~20K | 9% | 低占用 |
| BRAM | ~50 | 14% | 低占用 |
| DSP | ~10 | 1% | 极低 |
| 资源 | 使用量 | 百分比 | 备注 |
|---|---|---|---|
| LUT | ~80K | 37% | 中等占用 |
| FF | ~100K | 46% | 中等占用 |
| BRAM | ~150 | 41% | 中等占用 |
| DSP | ~20 | 3% | 低占用 |
可用资源 (XC7A200T):
- LUT: 215,360 (33,650 Slices)
- FF: 269,200
- BRAM: 365 (13,140 Kb)
- DSP: 740
./monitor_build.sh# 简化版
tail -f build_lite.log
# 完整版
tail -f build.log# 检查进程
ps -p $(cat build.pid 2>/dev/null || cat build_lite.pid)
# 查看最新输出
tail -50 build.log# 检查依赖
make check-deps
# 清理构建
make clean
# 构建帮助
make help
# 查看 SoC 选项
python3 pidan1_soc.py --help
python3 pidan1_soc_lite.py --help参见 HARDWARE.md 的"常见问题"章节
- GitHub 仓库: https://github.com/redoop/pidansoc
- 官方文档: https://fpga-docs.microphase.cn/
- Artix-7 数据手册: Xilinx DS181
- LiteX 文档: https://github.com/enjoy-digital/litex
- VexRiscv 文档: https://github.com/SpinalHDL/VexRiscv
# 1. 构建简化版(推荐)
python3 pidan1_soc_lite.py --build
# 2. 等待构建完成 (~5-10 分钟)
# 3. 加载到 FPGA
python3 pidan1_soc_lite.py --load
# 4. 在另一个终端监控串口
# (连接开发板后)- ✅ 完整开源: 所有代码、文档、镜像
- ✅ BitNet 加速: 专用 1-bit 量化加速器
- ✅ Linux 就绪: 完整的 Linux 支持
- ✅ 详细文档: 6 个文档文件,>1000 行
- ✅ 双版本: 简化版 + 完整版
- ✅ 正确引脚: 基于官方文档验证
项目状态: 🟢 就绪,等待硬件测试 建议下一步: 构建并测试简化版 SoC
