课程概述

        EDA技术是指电子设计自动化(Electronic Design Automation)技术。它是以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果的电子设计技术,广义上包括IC设计、电子电路设计、PCB设计和电子电路的仿真等。

        本课程主要侧重在数字电子系统设计领域,可编程逻辑器件(主要是CPLDFPGA)的应用。课程特点是通过典型实例开展教学,学习者通过模仿实例就可在短时间内快速掌握Verilog HDL语言、可编程逻辑器件的基本设计方法,从而在课程设计、毕业设计、科研中发挥作用,提升自身的实践动手能力、计算机应用能力和创新能力。

       


证书要求

1.完成每讲的单元测验;

2.完成期末考试,试题以客观为主;

3.积极参与课程的讨论区,根据参与讨论的次数和质量,最高可获20分。


预备知识

C语言、数字电路。


授课大纲

第2章 Verilog HDL 语言基础

2.2 2选1数据选择器实例

2.3 4选1数据选择器实例

2.8  计数器实例

2.5 七段数码管显示译码器

2.9 状态机设计实例

2.4四位加法器实例

2.13 CRC校验码

2.6 D触发器与缺省项问题

2.1 Verilog HDL语言概述

2.7 Verilog语言赋值方式

2 11 状态机AD采样控制电路

2.10 FPGA实现延时定时的两种方法

2.12 奇数分频与小数分频

Verilog HDL 语言基础测验

VerilogHDL 语言基础测验2

第1章 绪论

1.2 CPLD与FPGA比较

1.3 可编程逻辑器件的编程与配置

1.1 EDA技术概述

1.5 实验平台简介2——EGO1

1.4 实验平台简介1——DE2-70

EDA技术概述单元测验

第3章 FPGA开发软件QuartusII及Vivado使用实例

3.3 FPGA开发软件QuartusII使用实例三——计数器160

3.2 FPGA开发软件QuartusII使用实例二——显示译码器

3.5 FPGA开发软件QuartusII使用实例五——状态机交通灯控制

3.1 FPGA开发软件QuartusII使用实例一——加法器

3.4 FPGA开发软件QuartusII使用实例四——计数器实现数字钟60秒计数

FPGA开发软件QuartusII及Vivado使用实例测验

第4章 嵌入式逻辑分析仪及Modelsim仿真验证

4.2 仿真程序Testbench编写方法

4.3 正弦信号发生器——modelsim仿真验证

4.1 正弦信号发生器——嵌入式逻辑分析仪SignalTapII使用

嵌入式逻辑分析仪及Modelsim仿真验证

第5章 FPGA设计实例

5.3 乐曲演奏电路设计

5.1 自动售货机设计实例

5.2 交通灯设计实例

FPGA设计实例测验

第6章 基于FPGA的触摸屏弹球游戏设计

6.2  FPGA实现触摸屏弹球游戏设计01一背景颜色显示02

6.5  FPGA实现触摸屏弹球游戏设计03一综合实验一

6.1  FPGA实现触摸屏弹球游戏设计01一背景颜色显示01

6.3  FPGA实现触摸屏弹球游戏设计01一背景颜色显示03

6.7  FPGA实现触摸屏弹球游戏设计03一综合实验三

6.4  FPGA实现触摸屏弹球游戏设计02一屏幕字型显示

6.6  FPGA实现触摸屏弹球游戏设计03一综合实验二

第6章 基于FPGA的触摸屏弹球游戏设计测验

第7章 基于FPGA的永磁同步电机驱动系统设计

7.1 基于FPGA的永磁同步电机驱动系统设计——概述

7.2 永磁同步电机控制子模块的实现1——加减速模块

7.3 永磁同步电机控制子模块的实现2——位置检测模块

7.4 永磁同步电机控制子模块的实现3——PWM载波调制模块

7.5 永磁同步电机控制的实验验证

第7章 基于FPGA的永磁同步电机驱动系统设计测验

参考资料

1.《数字电路与逻辑设计》,张俊涛主编,清华大学出版社,2017.

2.EDA/SOPC实验指导》,杨春玲、朱敏主编,哈尔滨工业大学出版社,2015.

3.FPGA设计实战演练(逻辑篇)》,吴厚航主编,清华大学出版社,2015.


常见问题

1“EDA技术与实验课程需要哪些预备知识?

答:需要数字电子技术基础知识。如果具备一定的C语言编程能力会更好。

2)传统的电子设计与PLD设计的比较?

传统的电子设计通常是自底向上的,即首先确定构成系统的最底层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,完成整个目标系统的设计。特点是必须首先关注并致力于解决系统最底层硬件的可获得性及具体目标器件的技术细节;PLD采用自顶向下的设计,采用高效的EDA设计方法,最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案中。EDA技术的标准化使PLD的设计与具体的硬件无关,设计者能更大程度地将精力集中在设计项目性能的提高和成本的降低上。

PLD的设计为自顶向下的设计方法,只有在EDA技术得到快速发展和成熟应用的今天才成为可能。自顶向下设计方法的有效应用必须基于功能强大的EDA工具,具备集系统描述、行为描述和结构描述为一体的硬件描述语言,以及先进的ASIC制造工艺和FPGA开发技术。当今,自顶向下的设计方法已是EDA技术的首选设计方法,是ASICFPGA开发的主要设计手段。

3)硬件描述语言与软件描述语言的区别是什么?

答:硬件描述语言程序通过综合器综合出可以下载到PLD器件中的网表文件,实现相应的逻辑电路;软件语言通过编译器将程序编译成CPU的指令或数据代码。综合器和软件程序编译器都不过是一种翻译器,都能将高层次的设计表达转化为低层次的表达,但它们却具有许多本质的区别。

编译器将软件程序翻译成基于某种特定CPU的机器代码,CPU逐条指令执行完成相应的功能。这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。

综合器则不同,同样是软件代码的硬件描述语言程序,综合器转化的目标是底层的电路结构网表文件。这种满足原设计程序功能描述的电路结构不依赖于任何特定的硬件环境,因此可以独立地存在,并能轻易地被移植到任何通用的硬件环境中,如ASICPLD等。换言之,电路网表代表了特定的硬件结构,因此具备了随时改变硬件结构的依据。综合的结果具有相对独立性。另一方面,综合器在将硬件描述语言表达的电路功能转化成具体的电路结构网表的过程中,具有明显的能动性和创造性。它不是机械的一一对应式的翻译,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的形成。

4)本课程配套的教材是哪本?

答:高敬鹏、武超群主编的《零点起飞学FPGA.清华大学出版社. 2015年。