课程详情
本课程面向电子专业的学生和工程师,以硬禾实战营项目实战的训练方式,利用10期课程时间带领大家从项目分析到设计架构,从数字逻辑到FPGA开发,从Verilog HDL语言学习到功能模块设计,从UART串口协议到DDS原理解析,最终完成基于Matlab和FPGA的DDS可编程信号发生器设计。
通过课程训练,你将掌握FPGA设计流程、Verilog HDL编程应用、UART通信和DDS原理及FPGA模块的设计、IP核例化及Reveal在线分析的方法,对于提升硬件专业技能,备战电子设计竞赛,电子产品DIY,都是一次很好的训练。
涉及技能:
FPGA基础知识及开发设计流程
Verilog HDL语言编程应用
IP核例化应用及Reveal在线分析
UART通信协议和DDS原理分析及FPGA驱动模块的设计
Matlab数据处理应用及与FPGA通信联调
虚拟仪器ADALM2000在测试测量中的日常使用
课程大纲:
第一天:电子系统设计流程及项目介绍
可编程信号发生器项目介绍、功能演示
硬件平台介绍、环境搭建
项目需求分析
项目方案对比、选择
硬件平台介绍
FPGA的概念、架构、特点、实现原理
FPGA的设计流程演示
FPGA的仿真流程演示
FPGA学习资源推荐
第三天:组合逻辑及Verilog HDL学习
Verilog HDL语言和语法介绍
◎ 基本变量类型:线网型变量、寄存器型变量
◎ 基本描述方式:数据流描述、行为级描述、实例化模型
◎ 基本赋值方式:阻塞赋值、非阻塞赋值
38译码器和数码管驱动设计
FPGA设计报告的理解
◎ 资源消耗
◎ RTL Netlist
◎ Floorplan View
◎ Physical View
时序仿真理解组合逻辑
◎ 竞争
◎ 冒险
第四天:时序逻辑及Verilog HDL学习
Verilog HDL语言和语法介绍
触发器和时序逻辑的理解
◎ 触发器的时序性
1.建立时间setup time
2.保持时间hold time
◎ 设计最大运行速率
◎ Pipeline“流水线”设计
计数器和流水灯设计实现
FPGA层次化设计和模块化设计
PWM脉宽调制的设计与应用
◎ PWM调LED灯亮度
◎ 呼吸灯
◎ PWM+RC电路实现DAC
第五天:有限状态机FSM设计学习
有限状态机的概念、特征、结构、电路组成
状态编码和状态转移图
有限状态机的设计流程
交通灯设计实现
第六天:IP核和Reveal在线分析工具使用
Pll核例化使用及仿真演示
初始化文件获取和DP_RAM核例化
◎ Excel
◎ Matlab
◎ 波表生成工具
Reveal在线分析工具介绍
Reveal Inserter配置及Reveal Analyzer分析演示
第七天:DDS原理与信号发生实现
R2R电阻网络DAC介绍
FPGA+R2R产生模拟输出
◎ 锯齿波
◎ 三角波
◎ 方波
◎ 正弦波
DDS原理介绍及调频调相功能实现
简易拨码信号发生器设计
第八天:UART串口通信协议及实现
UART通信的特点和应用
UART通信协议和逻辑构成
UART通信接收功能的Verilog实现
UART通信数据传输验证
简易串口信号发生器产生常见信号波形实现
Matlab串口通信实现
查看Matlab串口通信的工作方式
Matlab+简易串口信号发生器控制实现
第十天:基于Matlab和FPGA的DDS实现
Matlab数据处理和UART数据发送方式确定
可编程信号发生器Logic_ctrl模块逻辑实现
8位简化可编程信号发生器实现
基于Matlab和FPGA的DDS实现及演示
主讲人:
王安然,资深硬件工程师,硬禾实战营资深导师。多年从事FPGA硬件开发调试工作,对测试测量方面有较深的研究与见解。擅长PCB硬件设计、FPGA体系架构及开发。
课程目录(10)
-
(10)基于Matlab和FPGA的DDS实现 视频
-
(9)Matlab串口功能实现 视频
-
(8)UART串口通信协议及实现 视频
-
(7)DDS原理与信号发生实现 视频
-
(6)IP核和Reveal在线分析工具使用 视频
-
(5)有限状态机FSM设计学习 视频
-
(4)时序逻辑及Verilog HDL学习 视频
-
(3)组合逻辑及Verilog HDL学习 视频
-
(2)认识FPGA 视频
-
(1)电子系统设计流程及项目介绍 视频