设计阶段:(1)提出设计说明书 (2)建立HDL行为模型(3)HDL行为仿真 (4)HDL行为仿真(S)HDL-RTL级建模 (6)逻辑综合(7)测试向量生成 (8)功能仿真(9)结构综合 (10)门级时序仿真(11)硬件测试 1.7EDA技术的优势(简略带过) 1.8EDA设计流程(在1.6的基础上详细讲解) 1.9ASIC设计流程:简单介绍 1.10常用EDA工具 要求学生至少熟悉quartusII和ModelSim/QuestaSim,Synplify和ISE作为进 阶要求 1.11 QuartusI1概述 详细讲解,并要求掌握QuartuSII设计流程 1-121P核 P核的分类:软IP、固P和硬P,介绍使用P核的好处, 1.13EDA技术发展趋势:简要介绍 第2章FPGA与CPLD的结构原理 教学目的:在第1章的学习基础上,了解PLD器件的发展历程,重点掌握 可编程逻辑器件(CPLD)及现场可编程门阵列(FPGA)的基本原理。 教学基本要求:掌握与阵列与或阵列的含义,理解UT实现任意组合逻辑 的工作原理,了解TAG接口信号及典型的FPGA配置电路。 教学内容:PLD概述、简单PLD工作原理、CPLD与FPGA的结构原理、 大规模PLD产品概述、CPLD/FPGA的编程与配置。 教学提示:第2章学习过程中需要学生具备一定的数字电子技术基础知识, 包括常用的组合逻辑基本操作电路、以及触发器特性,讲述时需要及时引导学生 复习上述知识。 教学重点和难点:基于LUT的组合逻辑结构、可编程IO结构、FPGA的 置方式
12 设计阶段:(1)提出设计说明书 (2)建立 HDL 行为模型(3 ) HDL 行为仿真 (4) HDL 行为仿真 (5) HDL-RTL 级建模 (6)逻辑综合(7)测试向量生成 (8)功能仿真(9)结构综合 (10)门级时序仿真 (11)硬件测试 1.7 EDA 技术的优势(简略带过) 1.8 EDA 设计流程(在 1.6 的基础上详细讲解) 1.9 ASIC 设计流程:简单介绍 1.10 常用 EDA 工具 要求学生至少熟悉 quartusII 和 ModelSim/QuestaSim,Synplify 和 ISE 作为进 阶要求 1.11 QuartusII 概述 详细讲解,并要求掌握 QuartuSII 设计流程 1-12 IP 核 IP 核的分类:软 IP、固 IP 和硬 IP,介绍使用 IP 核的好处, 1.13 EDA 技术发展趋势:简要介绍 第 2 章 FPGA 与 CPLD 的结构原理 教学目的:在第 1 章的学习基础上,了解 PLD 器件的发展历程,重点掌握 可编程逻辑器件(CPLD)及现场可编程门阵列(FPGA)的基本原理。 教学基本要求:掌握与阵列与或阵列的含义,理解 LUT 实现任意组合逻辑 的工作原理,了解 JTAG 接口信号及典型的 FPGA 配置电路。 教学内容:PLD 概述、简单 PLD 工作原理、CPLD 与 FPGA 的结构原理、 大规模 PLD 产品概述、CPLD/FPGA 的编程与配置。 教学提示:第 2 章学习过程中需要学生具备一定的数字电子技术基础知识, 包括常用的组合逻辑基本操作电路、以及触发器特性,讲述时需要及时引导学生 复习上述知识。 教学重点和难点:基于 LUT 的组合逻辑结构、可编程 IO 结构、FPGA 的配 置方式
学法指导:积极与学生互动,温故而知新,使学生掌握LUT的工作原理。 作业:FPGA与其它PLD相比,有哪些特点? 小结:本章主要从硬件电路角度解释PLD的发展历史和工作原理,尤其是 FPGA的内部结构,要求学生在基础数电知识的基础上,理解FPGA如何实现任 意组合逻辑和时序电路功能,以更好地理解Verilog的硬件实现载体。 详细大纲 2.1PLD概述: 首先回忆数字电路的基础知识,所有组合逻辑电路都可以表示成乘积项的或 表达式。并由此引入PLD的原理结构图,然后简要介绍PLD的发展、分类(按 照集成度、按照编程工艺,在介绍编程工艺时介绍EPROM、flash、SRAM等基 础知识,介绍RAM与ROM的优缺点) 2.2简单PLD结构原理 2.2.1逻辑元件符号表示(注意强调本课程采用的逻辑门的符号为1EEE1991 版标准逻辑符号,不再是原来数字电路课程里面学习的EEE1984版符号,并提 到咱们GB的陈旧性) 2-2-2PROM结构原理 增加板书,介绍PROM的基本概念、特点、对外接口。首先用数组的概念来 引导学生实现可编程逻辑。然后利用半加器的逻辑表达式介绍PROM的与阵列 固定,或阵列可编程的结构和编程原理,导出该方法的缺点。 2-2-3PLA结构原理 由PROM结构的缺点导出PLA的与或阵列均可编程的结构原理,并与PROM 进行比较。最后给出PLA结构的缺点。 2-2.4PAL结构原理 由PLA结构的缺点导出PAL的与阵列可编程或阵列固定的结构原理让同学 们学会看懂图2-16PAL的常用表示,并介绍PAL的缺点:IO不灵活,只能一次 编程。 2-2-5GAL结构原理 主要讲授GAL与PAL结构上的相同点和不同点。GAL中OLMC的三种模 式简单带过
13 学法指导:积极与学生互动,温故而知新,使学生掌握 LUT 的工作原理。 作业:FPGA 与其它 PLD 相比,有哪些特点? 小结:本章主要从硬件电路角度解释 PLD 的发展历史和工作原理,尤其是 FPGA 的内部结构,要求学生在基础数电知识的基础上,理解 FPGA 如何实现任 意组合逻辑和时序电路功能,以更好地理解 Verilog 的硬件实现载体。 详细大纲 2.1 PLD 概述: 首先回忆数字电路的基础知识,所有组合逻辑电路都可以表示成乘积项的或 表达式。并由此引入 PLD 的原理结构图,然后简要介绍 PLD 的发展、分类(按 照集成度、按照编程工艺,在介绍编程工艺时介绍 EPROM、flash、SRAM 等基 础知识,介绍 RAM 与 ROM 的优缺点) 2.2 简单 PLD 结构原理 2.2.1 逻辑元件符号表示(注意强调本课程釆用的逻辑门的符号为 IEEE 1991 版标准逻辑符号,不再是原来数字电路课程里面学习的 IEEE 1984 版符号,并提 到咱们 GB 的陈旧性) 2-2-2 PROM 结构原理 增加板书,介绍 PROM 的基本概念、特点、对外接口。首先用数组的概念来 引导学生实现可编程逻辑。然后利用半加器的逻辑表达式介绍 PROM 的与阵列 固定,或阵列可编程的结构和编程原理,导出该方法的缺点。 2-2-3 PLA 结构原理 由 PROM 结构的缺点导出 PLA 的与或阵列均可编程的结构原理,并与 PROM 进行比较。最后给出 PLA 结构的缺点。 2-2.4 PAL 结构原理 由 PLA 结构的缺点导出 PAL 的与阵列可编程或阵列固定的结构原理让同学 们学会看懂图 2-16 PAL 的常用表示,并介绍 PAL 的缺点:IO 不灵活,只能一次 编程。 2-2-5 GAL 结构原理 主要讲授 GAL 与 PAL 结构上的相同点和不同点。GAL 中 OLMC 的三种模 式简单带过
2.3CPLD的结构原理 以MAX30O0A结构为例,首先是整体介绍,然后讲授其五个主要部分:逻 辑阵列块(LAB)、宏单元、扩展乘积顶(共享和并联)、可编程连线阵列和IO 控制块。 2.4FPGA的结构原理 首先介绍FPGA的主要生产厂家,然后引入查找表(LUT结构让学生建立查 找表的概念 介绍LE的结构,基本与CPLD类似,只是前面的与或阵列变成了LUT。多 个LE又组成了LAB 介绍M9K,详细介绍RAM的发展,异步RAM,同步RAM,动态RAM, 静态RAM,可画时序图及结构图,引入同步时钟的概念。 嵌入式乘法器:介绍必要性,内部结构不作要求 时钟:强调时钟的重要性,专用时钟引脚、PLL、全局时钟,解释全局时钟 的目的,不只是延时小,更重要的是保证时钟沿到各个寄存器的一致性。 可编程IO:主要介绍常用的电平,LVTTL、LVCMOS、LVDS重点介绍,基 于电流源的驱动、速度快 2.5硬件测试:主要介绍JTAG技术,以及在实际应用中JTAG如何使用,4 根信号含义 2.6大规模PLD产品概述(本部分几句带过,自学) 2.7 CPLD/FPGA的编程与配置 对教材的三种分类作了修正,将EEPROM和flash分开,共4种 介绍CPLD和FPGA的配置电路,FPGA脱机运算外部需要加配置芯片或单 片机等 注意TAG可以级联 强调CPLD的编程与FPGA的配置之间概念的区别,7种配置方式 2.7.3FPGA专用配置器件(简略介绍) Altera的可重复编程配置器件:EPC系列,EPCS系列2.7.4使用单片机配置 FPGA(自学) 2.7.5使用CPLD配置FPGA(自学)
14 2.3 CPLD 的结构原理 以 MAX3000A 结构为例,首先是整体介绍,然后讲授其五个主要部分:逻 辑阵列块(LAB)、宏单元、扩展乘积顶(共享和并联)、可编程连线阵列和 IO 控制块。 2.4 FPGA 的结构原理 首先介绍 FPGA 的主要生产厂家,然后引入查找表(LUT)结构让学生建立查 找表的概念 介绍 LE 的结构,基本与 CPLD 类似,只是前面的与或阵列变成了 LUT。多 个 LE 又组成了 LAB 介绍 M9K,详细介绍 RAM 的发展,异步 RAM,同步 RAM,动态 RAM, 静态 RAM,可画时序图及结构图,引入同步时钟的概念。 嵌入式乘法器:介绍必要性,内部结构不作要求 时钟:强调时钟的重要性,专用时钟引脚、PLL、全局时钟,解释全局时钟 的目的,不只是延时小,更重要的是保证时钟沿到各个寄存器的一致性。 可编程 IO:主要介绍常用的电平,LVTTL、LVCMOS、LVDS 重点介绍,基 于电流源的驱动、速度快 2.5 硬件测试:主要介绍 JTAG 技术,以及在实际应用中 JTAG 如何使用,4 根信号含义 2.6 大规模 PLD 产品概述(本部分几句带过,自学) 2.7 CPLD/FPGA 的编程与配置 对教材的三种分类作了修正,将 EEPROM 和 flash 分开,共 4 种 介绍 CPLD 和 FPGA 的配置电路,FPGA 脱机运算外部需要加配置芯片或单 片机等 注意 JTAG 可以级联 强调 CPLD 的编程与 FPGA 的配置之间概念的区别,7 种配置方式 2.7.3 FPGA 专用配置器件(简略介绍) Altera 的可重复编程配置器件:EPC 系列,EPCS 系列 2.7.4 使用单片机配置 FPGA (自学) 2.7.5 使用 CPLD 配置 FPGA (自学)
第3章组合电路的Verilog设计 教学目的:在第2章的学习基础上,从典型的组合逻辑电路出发,正式引入 Verilog设计方法学,学会常用的assign语句和always语句用法。 教学基本要求:掌握Verilog的程序典型框架,学会模块化设计准则。 教学内容:组合电路的Verilog描述、半加器电路的Verilog描述、多路选择 器的Verilog描述、Verilog加法器设计、组合逻辑乘法器设计、RTL的概念。 教学提示:注意引导学生逐步建立硬件电路思维,学习Verilog语法的同时 与C语言进行对比,找出二者的本质区别。 教学重点和难点:子模块实例化与C语言子程序的联系和区别、g型变量 和wire型变量区别 学法指导:积极互动,随时与C语言对比,尽快建立硬件思维。 作业:设计三种基础逻辑门电路的Verilog程序。 小结:从本章开始,学习的重点转向Verilog设计,由于学生的编程功底较 弱,需要在讲解时注意控制进度,尽可能使绝大多数同学消化吸引关键知识点, 并掌握常见组合逻辑电路的设计方式。 详细大纲 引言:介绍Verilog的整体特点,学习方法,要求学生用硬件电路的角度理 解Verilog. 3.1组合电路的Verilog描述 以简单的二选一数据选择器设计为例,分析其结构框图及逻辑表达式,然后 给出Verilog代码,介绍Verilog的模块、端口、assign语句 在例3-1的基础上,总结Verilog模块设计的基本框架,与C语言作类比, 方便学生理解。并继续例3-2的学习,引入always过程(Begin end块)、reg型 变量、Case的概念。强调reg型并非一定是寄存器。并初步讲授reg型与wire 型各自的主要应用范围。 介绍逻辑状态01XZ,Verilog数据位宽的表达、以及位拼接运算符。 自例3-2之后的例子不再一一细讲,以学生自学主主,课堂上以基础语法为 主,包括:按位逻辑操作、等式表达、注释、条件判断、阻塞与非阻塞、数据位 宽、模块实例化
15 第 3 章 组合电路的 Verilog 设计 教学目的:在第 2 章的学习基础上,从典型的组合逻辑电路出发,正式引入 Verilog 设计方法学,学会常用的 assign 语句和 always 语句用法。 教学基本要求:掌握 Verilog 的程序典型框架,学会模块化设计准则。 教学内容:组合电路的 Verilog 描述、半加器电路的 Verilog 描述、多路选择 器的 Verilog 描述、Verilog 加法器设计、组合逻辑乘法器设计、RTL 的概念。 教学提示:注意引导学生逐步建立硬件电路思维,学习 Verilog 语法的同时 与 C 语言进行对比,找出二者的本质区别。 教学重点和难点:子模块实例化与 C 语言子程序的联系和区别、reg 型变量 和 wire 型变量区别 学法指导:积极互动,随时与 C 语言对比,尽快建立硬件思维。 作业:设计三种基础逻辑门电路的 Verilog 程序。 小结:从本章开始,学习的重点转向 Verilog 设计,由于学生的编程功底较 弱,需要在讲解时注意控制进度,尽可能使绝大多数同学消化吸引关键知识点, 并掌握常见组合逻辑电路的设计方式。 详细大纲 引言:介绍 Verilog 的整体特点,学习方法,要求学生用硬件电路的角度理 解 Verilog。 3.1 组合电路的 Verilog 描述 以简单的二选一数据选择器设计为例,分析其结构框图及逻辑表达式,然后 给出 Verilog 代码,介绍 Verilog 的模块、端口、assign 语句。 在例 3-1 的基础上,总结 Verilog 模块设计的基本框架,与 C 语言作类比, 方便学生理解。并继续例 3-2 的学习,引入 always 过程(Begin end 块)、reg 型 变量、Case 的概念。强调 reg 型并非一定是寄存器。并初步讲授 reg 型与 wire 型各自的主要应用范围。 介绍逻辑状态 01XZ,Verilog 数据位宽的表达、以及位拼接运算符。 自例 3-2 之后的例子不再一一细讲,以学生自学主主,课堂上以基础语法为 主,包括:按位逻辑操作、等式表达、注释、条件判断、阻塞与非阻塞、数据位 宽、模块实例化
第5章时序电路的Verilog设计 教学目的:在第3章的学习基础上,逐步从组合逻辑电路推广至时序电路设 计。 教学基本要求:掌握基础触发器、锁存器的描述方式,学会计数器设计手段。 教学内容:基本时序元件的Verilog表述、二进制计数器及其Verilog表述、 移位寄存器的Verilog表述与设计、可预置型计数器设计。 教学提示:时序电路和组合电路的Verilog描述从形式上看比较相似,需要 学生从敏感信号量形式和条件分支是否完整的角度判断,应逐步做到看到的是代 码,心中想的是电路图。 教学重点和难点:同步复位与异步复位的区别、锁存器与触发器的描述差异 学法指导:先介绍应用实例,再详解具体语法,要求学握每一种语法背后的 硬件电路含义。 作业:设计简单的计数器Verilog程序。 小结:时序电路的描述比组合电路更为灵活,需要学生多加练习,并逐步具 备自行编写代码的能力。 详细大纲 5.1时序电路设计 从基本的D触发器引入,介绍边沿触发理念,然后以锁存器为例,对比二者 的差异,要求学生尽量避免锁存器的使用。为D触发器引入异步复位和使能端, 强调异步复位的重要性,针对时序电路,分支描述可以不完整。 介绍同步复位与异步复位区别,分析同步复位代码的实现,并深入理解异步 复位形式上虽然是边沿触发,但实质上是电平触发的概念。 异步复位锁存器不再介绍,同学自学 关于异步时序电路,首先介绍同步时序电路,并对比二者,强调同步时序电 路的优点。尽量在实际设计中保证同步设计。 5.2完整的模10计数器设计 完整分析一个功能齐全的代码,其中新概念是关系比较运算,与C语言一样。 注意:=可以同时表示非阻塞赋值或者是小于等于,具体是哪一种含义则要看 它的所处位置。 16
16 第 5 章 时序电路的 Verilog 设计 教学目的:在第 3 章的学习基础上,逐步从组合逻辑电路推广至时序电路设 计。 教学基本要求:掌握基础触发器、锁存器的描述方式,学会计数器设计手段。 教学内容:基本时序元件的 Verilog 表述、二进制计数器及其 Verilog 表述、 移位寄存器的 Verilog 表述与设计、可预置型计数器设计。 教学提示:时序电路和组合电路的 Verilog 描述从形式上看比较相似,需要 学生从敏感信号量形式和条件分支是否完整的角度判断,应逐步做到看到的是代 码,心中想的是电路图。 教学重点和难点:同步复位与异步复位的区别、锁存器与触发器的描述差异 学法指导:先介绍应用实例,再详解具体语法,要求掌握每一种语法背后的 硬件电路含义。 作业:设计简单的计数器 Verilog 程序。 小结:时序电路的描述比组合电路更为灵活,需要学生多加练习,并逐步具 备自行编写代码的能力。 详细大纲 5.1 时序电路设计 从基本的 D 触发器引入,介绍边沿触发理念,然后以锁存器为例,对比二者 的差异,要求学生尽量避免锁存器的使用。为 D 触发器引入异步复位和使能端, 强调异步复位的重要性,针对时序电路,分支描述可以不完整。 介绍同步复位与异步复位区别,分析同步复位代码的实现,并深入理解异步 复位形式上虽然是边沿触发,但实质上是电平触发的概念。 异步复位锁存器不再介绍,同学自学 关于异步时序电路,首先介绍同步时序电路,并对比二者,强调同步时序电 路的优点。尽量在实际设计中保证同步设计。 5.2 完整的模 10 计数器设计 完整分析一个功能齐全的代码,其中新概念是关系比较运算,与 C 语言一样。 注意:<=可以同时表示非阻塞赋值或者是小于等于,具体是哪一种含义则要看 它的所处位置