《FPGA原理与设计》是高等院校工科本科电子、信息类专业一门重要的专业选修课程。
本课程的任务在于系统地介绍可编程逻辑器件特别是FPGA的基本知识、常用的FPGA开发工具的使用方法和目标器件的结构原理,初步掌握在计算机的操作环境中运用EDA软件,比如QuartusII软件进行FPGA开发的能力;使学生掌握应用计算机的实际工程设计能力;熟练掌握设计输入方法、VHDL设计优化,能进行基于EDA技术较典型设计项目的开发设计。
通过本课程的学习,使得学生学习掌握常规电子设计自动化软件基本知识和使用方法,掌握利用EDA软件(比如QuartusII)开发自主课题的方法。通过对EDA技术的学习,使学生对已学过的电路和模拟电路以及微机原理等课程有更加深刻的了解。
模拟电子技术,数字电子技术,C语言程序设计
(一)布尔代数、扩展门、全与非/或非门
1、掌握布尔代数基本知识以及数字电路的理论;
2、掌握扩展门的概念以及常用的扩展门;
3、掌握如何将一个逻辑表达式使用全与非门或者全或非门实现。
(二)基本门单元以及逻辑电路的结构
1、掌握基本门单元的实现;
2、掌握逻辑电路的结构;
3、掌握如何将一个逻辑表达式使用CMOS逻辑电路实现。
(三)可编程逻辑器件介绍
1、了解标准芯片种类;
2、了解可编程逻辑器件种类;
3、掌握使用FPGA对的查找表实现逻辑表达式。
(四)图形化编程
1、了解Quartus II 集成开发环境;
2、掌握图形化编程方式;
3、掌握功能仿真方法。
(五)VHDL基本模型和设计单元
1、掌握VHDL的概念及三种设计模型;
2、掌握VHDL语法和命名规则;
3、掌握VHDL的设计单元。
(六)VHDL数据对象及并行赋值语句
1、掌握数据对象的种类和特点;
2、熟悉VHDL的操作符;
3、掌握并行赋值语句。
(七)进程及顺序执行语句
1、掌握进程概念、语法和进程的执行和挂起;
2、掌握进程中变量的定义和赋值;
3、掌握进程中的顺序语句。
(八)VHDL设计常用的电路
1、熟悉同步和异步的概念;
2、掌握常用器件的VHDL实现。
(九)使用Quartus-II设计VHDL程序
1、掌握VHDL文件的建立以及进行VHDL语言的程序编写;
2、掌握一些器件的VHDL设计
3、熟悉功能仿真
(十)层次化和模块化设计的基本知识
1、熟悉层次化和模块化设计的思想;
2、熟悉元件的含义及掌握元件声明和元件例化;
(十一)类属映射及Generate语句
1、掌握类属映射;
2、掌握Generate语句;
3、了解一些器件的层次化和模块化设计。
(十二)包、库和子程序
1、掌握包相关的概念及使用方法;
2、掌握库相关的概念及使用方法;
3、了解子程序相关的语法以及应用。
(十三)有限状态机种类及设计流程
1、掌握有限状态机的分类、结构及其特点;
2、掌握枚举类型的定义;
3、掌握有限状态机的设计流程。
(十四)有限状态机实例
1、掌握有限状态机的具体设计;
2、熟悉序列检测原理以及序列检测的有限状态机VHDL代码实现。
(十五)Verilog HDL标准与基本语法
1、熟悉Verilog HDL标准;
2、掌握Verilog HDL基本语法。
(十六)Verilog HDL实例
1、掌握Verilog HDL具体设计;
2、掌握Verilog HDL的3-8译码器、加法器等设计。
课时