数字IC实践项目(8)—CNN加速器(ASIC_Flow;付费项目补充)
- 更新说明
- 项目整体框图
- 神经网络框图
- File tree
- 项目简介和学习目的
- 软件环境要求
- Area、QOR、Power&Timing报告
- Area & QOR
- Timing & Power
- 总结
更新说明
项目难度:⭐⭐⭐⭐⭐
项目推荐度:⭐⭐⭐⭐
项目推荐天数:21~35天
项目简介:
之前的付费项目收获了不少同学的好评,也帮助很多同学在24年的秋招中斩获了心仪的工作。本着不进则退的原则,将该CNN项目进行了补充,之前的项目偏向于FPGA Flow以及样机演示,本项目是将CNN硬件实现进一步拓展,重点在于ASIC FLow以及数字IC常用软件的熟练掌握,帮助进一步提升工作竞争力。
先前CNN加速器项目:数字IC实践项目(7)—CNN加速器的设计和实现(付费项目)
- 本项目是使用Verilog完成一个LeNet-5 架构的卷积神经网络的设计及综合实现,采用90nm工艺完成Fullchip的综合。
- 相较于数字IC实践项目(7),本项目采用全新的设计思路,对卷积、池化、激活函数等层级进行了重新设计,并补充了相关前仿tb,VCS和DC自动化脚本等。
主要更新点:
- 将卷积模块展平,采用MAC基础单元结构,可快速完成参数化重构,提升代码移植效率;
- 将8bit定点数格式更新为符合IEEE 754标准的浮点数格式,项目支持FP16和FP32,提升计算精度;
- 移除最大池化模块,更改为平均池化,减少过拟合,使得输出特征图更加平滑,提升鲁棒性;
- 激活函数方面,项目支持Relu,Softmax,tanh共计三种激活函数;
- 实现平台切换到ASIC Flow,支持标准数字IC设计流程设计、验证以及综合实现。
注意事项:
- 环境:建议采用搭载相关IC软件的物理机;若采用虚拟机平台,建议RAM >=16GB;
- 价格:本项目是针对先前项目的补充,相关教学文档尚未齐全,目前会和数字IC实践项目(7)—CNN加速器的设计和实现(付费项目)一同提供,价格同之前保持不变,相当于加量不加价哈。若有特殊需求,也可单独提供本项目,价格会较低,但由于缺少相关教学文档,同学们要有相关基础准备哈。
项目整体框图
本项目由卷积,激活,池化以及全连接等若干层组成,共同构成完整网络结构。网络支持可重构,提供ANN和CNN两种基础结构,主要结构如下:
Full ANN
Full CNN
神经网络框图
神经网络架构是基于LeNet-5完成设计和实现:共包含两层卷积和两层最大池化以及最后一层全连接层。
1)模块参数化定义,支持可重构设计;
2)支持Relu,Tanh和Softmax激活函数;
3)采用平均池化策略;
File tree
提供包含,RTL设计文件,VCS前仿和报告文件及DC综合相关文件,以及相关EDA脚本。
项目简介和学习目的
软件环境要求
项目对于初学者要求较高,复现需要花费较长的时间,建议大家按需完成学习,循序渐进。可以从神经网络、CNN硬件加速器、RTL代码以及综合调试等方面进行展开,掌握每个模块的功能和相互连接,有条件的可以尝试购买相关的硬件FPGA板,结合先前的项目(7)完成原型样机的搭建。
软件和EDA环境:
(1)操作系统要求:Centos
(2)EDA 软件要求:Modelsim、VCS、DC等
(3)硬件要求:
1)建议配置:物理机 RAM >= 64Gb;
2)最低配置:虚拟机 RAM >= 10Gb; (拆分模块后估计可行)
项目学习目的:
(1)熟练掌握复杂项目的工程管理;
(2)熟悉 Verilog HDL仿真、综合工具以及了解数字IC设计工具及流程;
(3)学习CNN网络的基本结构和基础原理;
(4)学习CNN硬件加速器;
(5)熟练掌握Verilog语法和验证方法;
Area、QOR、Power&Timing报告
Area & QOR
Timing & Power
总结
整个项目涵盖了完整的卷积神经网络设计,CNN硬化加速器的Verilog实现和仿真和测试所需脚本和环境配置。需要搭建完整的软件和硬件环境,相对先前列出的开源和初级项目来说,整体难度偏高,适合缺少系统项目经验的求职者。
特地注明:
- 项目耗费较长的周期和个人精力,项目收费(性价比肯定是重要因素,毕竟都有过学生时代)。感兴趣的同学可以通过私信联系,我始终相信好的知识和项目肯定是收费的。
- 相较于先前的 数字IC实践项目(7)—CNN加速器的设计和实现(付费项目);本项目重点在于补充CNN硬件加速器项目新的设计思路,更新的CNN设计RTL代码,以及提供ASIC Flow的相关软件的学习和实践。
- 作为项目7的后续补充,加量不加价!也支持单独购买,但缺少相关技术教学文档,建议有相关技术积累的同学购买。