时间地点
2019年7月8日到8月18日,于苏州腾飞创新园
培训内容
培训内容主要包括PCB设计与焊接、FPGA开发,机器视觉与神经网络和PYNQ硬件设计等方面。 * PCB设计与焊接(第一周到第二周)
- 利用KiCad为小脚丫FPGA开发板设计外围接口模块。
- KiCad是一款免费开源的PCB设计工具,提供了一个用于原理图输入和PCB布局布线的集成化开发环境,在这个工具中还有用于产生BOM、Gerber文件、对PCB及其上元器件进行3D查看的功能。
- 小脚丫FPGA开发板以Lattice LCMX02-4000HC-4MG132芯片为核心,拥有4320个LUT逻辑资源,36个用户IO,板载编程器等。
- FPGA开发(第一周到第二周)
- 在小脚丫FPGA开发板上实现一些功能,包括PWM生成、UART串口通信、LED显示屏驱动和DDS(直接数字式频率合成器)产生信号波形等
- 完成一个完整的项目,设计一个简易的波形发生器。包含功能有:
- FPGA通过UART口接收电脑发送的想要产生的波形和频率等数据;
- FPGA通过一个R-2R电阻网络产生对应波形和频率的模拟波形;
- 并且在OLED上显示波形和频率。
- Python入门与网络爬虫(第三周)
- 学习Python的基本语法
- 训练项目:尝试利用requests和beautifulsoup这两个库来爬取学校老师邮箱等信息。
- 机器视觉和神经网络(第四周)
- 了解图像处理的基本内容,并利用python实现简单的图像处理操作,包括二值化、滤波和锐化等操作。
- 学习opencv库的使用,实现图像拼接、图像追踪和人脸检测等功能。OpenCV是一个开源跨平台计算机视觉库,包含图像处理和计算机视觉方面的很多通用算法。
- 学习神经网络的知识点,能够利用tensorflow,搭建并训练简单的神经网络。
- PYNQ硬件设计(第五周到第六周)
- 了解PYNQ内部架构和总线协议
- 掌握高层次综合的步骤,在Vivado HLS中利用C语言设计FPGA的IP核(GPIO、卷积运算等)。
- 利用PYNQ实现对手写数字的加速识别:
- 搭建神经网络,利用mnist数据集训练网络,使网络能过够实现对手写数字的识别;
- 制作卷积运算和池化运算的硬件IP单元;
- 在PYNQ中利用硬件IP单元加速神经网络识别数字的速度。