《基于FPGA的系统设计》本科课程教学大纲(2019-2020-1).docx
《基于FPGA的系统设计》课程教学大纲
课程名称:基于FPGA的系统设计 | 课程代码:MICR3003 |
英文名称:FPGA based system design | |
课程性质:必修 +选修 | 学分/学时:54 |
开课学期:第5学期 |
|
适用专业:电子科学与技术,通信工程、电子信息工程 | |
先修课程:数字电路,Verilog/VHDL语言,微机/单片机原理 | |
后续课程:超大规模集成电路设计、人工智能等 | |
开课单位:188bet亚洲体育20% | 课程负责人:胡丹峰 |
大纲执笔人:胡丹峰 | 大纲审核人: |
课程性质与教学目标
课程性质:《基于FPGA的系统设计》是电子科学与技术,通信工程、电子信息工程等电子与电气信息类专业的专业课程之一。目前FPGA器件在集成电路设计、通信系统、汽车电子、人工智能等领域中得到了广泛的应用,其设计应用的方法是电子类相关专业的本科生需要掌握的一门技术。这门课程从FPGA器件的工作原理、设计规划、系统实现、EDA软件应用等多个方面进行讲授,同时针对实际工程问题讨论解决方案并完成实物设计。
教学目标:本课程通过理论讲解,以及结合具体应用的案例教学方法,使得学生能够综合应用数字电路、单片机原理、硬件描述语言、软件编程等基本知识,研究使用FPGA器件进行系统设计的方法。
1、 掌握FPGA的工作原理,了解其内部结构,并能针对具体应用给出器件选型的思路和结果;
2、 掌握通过FPGA进行系统设计时整体方案的规划方法;
3、 掌握通过硬件描述语言和C语言在FPGA系统设计中的使用方法;
4、 具备使用相关EDA软件和硬件平台完成系统设计的能力;
课程目标与毕业要求的对应关系
毕业要求 | 指标点 | 课程目标 |
2、问题分析 | 2.3 能运用基本原理分析复杂工程问题,以得获得有效结论。 | 教学目标1 |
3、设计/开发解决方案 | 3.3能综合利用专业知识,对设计方案进行优选和优化,体现创新意识。 | 教学目标2 |
5. 使用现代工具 | 5.1能合理使用现代信息技术工具。 | 教学目标3 |
5.2能针对复杂工程问题,选择并合理使用软硬件设计与仿真平台,并理解其局限性。 | 教学目标4 |
课程教学内容及学时分配(重点内容:«;难点内容:D)
1 绪论(3学时)(支撑课程目标1)
1.1 FPGA工作原理
1.2 片上系统(SoC)与可编程片上系统(SOPC)
1.3 FPGA在业界的应用
² 目标及要求:
1) 通过绪论的介绍,使得学生了解FPGA的基本原理«;
2) FPGA器件的参数对性能的影响«D;
3) 从数字电路、集成电路,CPU到SoC/SoPC的业界技术发展情况;
² 作业内容:
分析一款FPGA芯片的特性。
² 讨论内容:
FPGA对IT各个技术领域的作用
² 自学拓展:
主流FPGA器件的异同之处。
2 硬件描述语言简介(3学时)(支撑课程目标3)
2.1 采用硬件描述语言开发FPGA的要点«;
2.2 设计中代码编程风格;
2.3 代码优化设计的方法D;
² 目标及要求:
1) 掌握硬件描述语言编程涉及的基本知识;
2) 掌握硬件描述语言设计要点总结;
3) 掌握进行代码优化的方法;
² 作业内容:
通过硬件描述语言设计数字电路。
² 讨论内容:
常见编程错误。
² 自学拓展:
不同硬件描述语言的比较
3 EDA软件使用方法(6学时)(支撑课程目标4)
3.1 常用EDA软件工具介绍;
3.2 Vivado软件建立工程和进行仿真的方法«D;
² 目标及要求:
了解使用EDA软件进行FPGA设计的基本步骤,掌握Vivado软件的使用方法。
² 作业内容:
完成计数器的设计与仿真;
² 讨论内容:
功能仿真与时序仿真的区别;
² 自学拓展:
实现以计数器为核心的设计;
4 FPGA应用设计(15学时)(支撑课程目标2、4)
4.1 FPGA逻辑综合、布局布线、生成bit文件的基本概念;
4.2 器件指定与管脚分配;
4.3 IP核的设计和使用«;
4.4 理解EDA软件设计报告D;
4.5 PWM信号的产生方法分析D;
4.6 I2C通信协议的实现方法分析D;
² 目标及要求:
熟悉FPGA开发流程,掌握通过开发板设计应用的方法。
² 作业内容:
通过PWM控制,使用FPGA控制LED等实现呼吸灯效果;
通过I2C通信协议,使用FPGA对EEPROM进行数据读写;
² 讨论内容:
电路的规模、频率、功耗的影响因素。
² 自学拓展:
比较不同的实现方法;
5 FPGA中软核处理器设计(12学时)(支撑课程目标3、4)
5.1 软核处理器的基本概念;
5.2 实现软核处理器的方法«;
5.3 通过软核处理器设计程序的方法D;
5.4 通过软核处理器设计实现串口通信的方法分析D;
5.5 通过软核处理器设计实现显示控制的方法分析D;
² 目标及要求:
掌握软核处理器的基本组成和进行设计的方法;
² 作业内容:
通过软核处理器设计实现通过串口通信对电路板显示内容的控制;
² 讨论内容:
软核处理器在实际应用中的优点和缺点;
² 自学拓展:
如何实现更多通信接口的控制;
6 综合系统设计(15学时)(支撑课程目标1、2、4)
6.1 系统设计中功能模块划分方法«;
6.2 系统设计中对性能指标的理解和实现D;
掌握使用FPGA进行系统综合设计的方法;
² 作业内容:
自选设计题目,完成相应系统的设计;
² 讨论内容:
设计方案的对比;
² 自学拓展:
FPGA系统设计技巧;
教学方法
本课程是理论与动手实践相结合的课程,在教学中首先对相关知识进行讲解,布置习题和课外拓展学习,并安排学生进行讨论,利用固定时间进行答疑;同时为学生提供开发板,学生可以利用课上及课下时间进行实操训练。在教学方法上采用了案例教学法,针对典型的应用案例先介绍主要的设计思路和初步方案,再由学生具体进行实现,在课堂上解答学生设计中遇到的问题并检查每组学生案例完成的情况。期中采用开卷考试以考查学生对于模块和简单系统设计的掌握程度,期末根据完成的综合设计结果及设计报告情况进行评分。
考核与成绩评定方式
考核方式:开卷笔试,平时测验及作业,综合设计实物结果及报告
成绩评定方式:期中笔试成绩20%,平时成绩10%,实验成绩40%(各次项目完成情况),期末采用综合设计结果及报告30%
课程目标达成情况及考试成绩评定占比(%)
课程教学目标 | 支撑毕业要求 | 考试和评价方式成绩占比(%) | 成绩比例(%) | |||
平时成绩 | 期中考试 | 实验成绩 | 期末考试 | |||
教学目标1 | 支撑毕业要求2.3 | 2.5 | 6 | 5 | 5 | 18.5 |
教学目标2 | 支撑毕业要求3.3 | 2.5 | 8 | 5 | 5 | 20.5 |
教学目标3 | 支撑毕业要求5.1 | 2.5 | 6 | 5 | 5 | 18.5 |
教学目标4 | 支撑毕业要求5.2 | 2.5 |
| 25 | 15 | 42.5 |
合计 | 10 | 20 | 40 | 30 | 100 |
教材及参考书目
教材:
汤勇明,张圣清,陆佳华. 搭建你的数字积木-数字电路与逻辑设计(Verilog&Vivado版),清华大学出版社,2017
参考书目:
基于Nios II的嵌入式SoPC系统设计与Verilog开发实例 Pong P. Chu电子工业出版社