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