ASIC · Research Prototype
面向本地学习的 CNN ASIC 加速器
面向本地学习算法的 CNN ASIC 架构探索,关注数据复用、片上存储和可综合 RTL 闭环。
项目背景
本地学习算法尝试减少全局反向传播依赖,可能带来更硬件友好的训练或适应机制。本项目用于记录架构探索,不声称已有流片、论文或性能突破。
目标与约束
- 从算法模型提取硬件友好的数据访问模式。
- 建立定点化和 RTL 对拍流程。
- 关注片上存储、数据复用和低功耗设计。
- 所有数据需经过可复现实验后再公开。
系统架构
Input Buffer
├─ Convolution Engine
├─ Local Update Unit
├─ Weight Buffer
└─ Output / State Buffer
算法设计
第一阶段只描述接口和数据流,不把尚未验证的算法效果写成结论。
硬件架构
卷积计算单元和本地更新单元分离,便于独立验证和后续替换。
数据通路
输入特征、权重和局部状态需要同时参与计算,数据通路设计重点是降低重复访存。
存储结构
| 模块 | 目的 | 说明 |
|---|---|---|
| Feature Buffer | 激活缓存 | 分块策略待补充 |
| Weight Buffer | 权重缓存 | 端口和位宽待确认 |
| State Buffer | 学习状态 | 算法相关 |
定点化方案
待根据参考模型分析动态范围后确定。暂不写固定小数位结论。
RTL 实现
计划从卷积数据通路、局部更新单元和控制状态机三个模块展开。
验证方法
使用 Python 参考模型生成输入向量,RTL 仿真进行逐层或逐模块对比。
综合或实现结果
待补充。当前没有可公开的综合报告。
遇到的问题
本地学习状态的存储和更新顺序需要进一步收敛。
最终结论
当前处于研究原型阶段,页面用于整理设计目标和后续验证计划。
后续计划
补充算法定点化实验、RTL 接口和验证脚本。