《EDA技术实用教程_前言》由会员分享,可在线阅读,更多相关《EDA技术实用教程_前言(5页珍藏版)》请在金锄头文库上搜索。
1、11EDA 技术实用教程技术实用教程潘松潘松 黄继业黄继业 编著编著科科 学学 出出 版版 社社()(本书有完全配套的多媒体教学软件,免费赠送,联系方式在最后。购书需直接与出版社联系:010-82672033) 前前 言言尽管将 EDA 技术作为一门重要的专业基础课,在大多数高校的相关学科中已成为共识,但就其教学内容和实验安排上,当今尚有诸多不同看法,这里列出几点,以供探讨:课程应分三个层次来教学,即将诸如 EWB、PSPICE 和Protel 的学习作为 EDA 的最初级内容;VHDL 和 FPGA 开发等作为中级;ASIC 设计为最高级;认为 EDA 技术学习中,VHDL 的学习需要花费半
2、年乃至一年的时间才能完成;EDA 技术只是数字电路课的延续和补充,因此,实验内容应该具有一致性,即只需以 EDA 的手段完成与数字电路实验相近的实验项目即可。以上的看法值得商榷,我们认为关键的问题在于怎样紧紧把握课程教学中最实质的东西,即必须突出要点:首先是明确最基本的教学内容。EDA 技术的教学必须围绕这样一个核心内容来展开,即学习一种通过软件的方法来高效地完成硬件设计的计算机技术,尽量略去其他没有直接联系的内容,如 EWB、PSPICE、Protel 等,因为这些工具仅属 CAD 的范畴,它们没有现代自动化设计中关于行为与结构综合的概念,没有自顶向下设计理论的内容。此外,因为无论是 ASI
3、C 还是 FPGA,都只是 EDA 最后的实现目标。EDA 的特性决定了其实现方式具有很大的自由度。而最实质,最能体现创造性的是利用 EDA 技术完成某一项目的设计方案。因为基于 FPGA 的实现几乎如同软件一样可以随心所欲,而 ASIC 的前端设计与 FPGA 十分相近,可以利用 ASIC 设计 EDA 软件来完成,其最终的实现通常类似于交付 PCB 制作文件一样,可将最终的网表文件交付专业厂家来负责。今天的 EDA 技术已经使得“从事 IP 开发的无芯片 EDA公司”和“无生产线的 IC 企业”成为可能,而且将可能成为我国现代电子技术的重要产业。我们认为,对于教学内容如果要分层次的话,从实
4、现的方法和内容上去分比从实现的工具和工艺上去分更为合理。例如可以将逻辑行为的实现作为最低层,即用 EDA 工具完成数字电路实验中的部分内容,如红绿灯控制、数码译码显示、逻辑表决等;将控制与通信的实现作为第二层次,如 A/D 高速采样、工业自动化控制、接口与通信模块的设计等;而将算法的实现作为最高层次,如 FIR、FFT、CPU 的设计等。因为这样能使教学效果更好地反映 EDA 技术最本质的内容。其次是改善教学方法。考虑到目前的本科课程门类已大为增加,任何一门非公共课的学时都不会很多。显然,突出要点才能有效控制学时。建议这门课可安排 52 学时左右,包括实验课学时。这就要求主要以引导性教学为主。
5、例如对 VHDL 的教学就不能像 C 或汇编语言那样逐条语句讲授,而是应结合具体实例讲解最基本的语句现象及其使用方法。再次就是注重教学实效。数字电路与 EDA 技术课程的侧重点不同,前者侧重于逻辑行为的认知和验证;后者则侧重于实用电子系统的设计,因此该课程具有很强的实践性。针对性强的实验应该是教学的重要环节,EDA 实验更应注重实验的质量,而决非仅仅使用了什么 EDA 软件。在初级阶段,用 EDA 工具重复一些数字电路课中的实验是必须的,但这远非 EDA 实验的全部。因为数字电路实验的重点是逻辑行为和功能的验证,因而可用手工插线方式来完成“设计” ,而不涉及任何技术指标和规模。众所周知,电子系
6、统技术指标是十分重要的,这包括速度、面积(芯片资源) 、可靠性、容错性、电磁兼容性等。有时往往指标要求决定了所使用的技术,指标要求推动技术的发展。全国大学生电子设计竞赛题中从来不提使用何种工具或技术来完成赛题,但参赛者不得不根据给出的技术指标做出选择。因此,EDA 课程的实验,除了必须完成的基础性项目外,引导学生完成一些传统电子设计技术(包括单片机)不能实现的内容,从而突出这一现代电子设计技术的优势。例如 UART、PS/2 或 USB 接口的设计突出自主知识产权的概念;VGA 显示器的控制或状态机控制A/D 采样突出了高速性能指标的实现;FIR 设计表现了基于 EDA技术特有的 IP 应用技
7、术;纯硬件奏乐电路的设计体现了 EDA 工具面对复杂逻辑电路设计的突出优势等。在这些实践过程中,会使学生发现,诸如 ISP 下载方式、FPGA、ASIC 乃至 EDA 软件等设计手段本身都成了配角,而唯有对更高质地完成实验项目而不懈追求的设计能动性和创造性成了主角,从而有效地提高这门以培养工程实践能力为主的课程的教学效果。基于以上的认识,我们对本书各章节作了相应的安排。本书具有如下 3 个特点:1. 注重实践与实用在各章中都安排了许多习题。除第 1 章、第 2 章外,其它各章都安排了针对性较强的实验,使学生对每一章的课堂的教学效果能及时通过实验得到强化。第 3 章除对 FPGA、CPLD 器件
8、结构原理作了一般性介绍外,还介绍了与开发相关的内容;第 10章介绍了 EDA 工具的优化技术;第 11 章以数个 EDA 工具间的接口方法,为读者展示了典型的 EDA 设计流程中十分重要和实用的环节;第 12 章更具体地介绍了 6 个设计课题,这些课题即可作为 EDA 实验的补充内容,也可用于电子设计或毕业设计项目的参考题目。各章设置的中大部分的实验除给出详细的实验目的、实验原理、实验思考题和实验报告要求外,还包含 2 至 4 个实验项目(层次) ,即:第一实验项目(层次)是与该章内容相关的验证性实验,课本提供了详细的并验证的设计程序和实验方法,学生只须将提供的设计程序深入计算机,并按要求进行
9、编译仿真,并在实验系统上实现即可;第二实验项目(层次)是在上一实验基础上进一步发挥性实验;第三、四实验项目(层次)属于自主设2计或创新性质的实验。教师可以根据实验学时数和教学实验的要求布置不同层次的实验项目。2. 注重速成一般认为 EDA 技术难点和学习费时的根源在于 VHDL 语言。对此,全书作了有针对性的安排:根据电子类专业的特点,放弃流行的计算机语言的教学模式,打破目前 VHDL 教材通用的编排形式,以电子线路设计为基点,从实例的介绍中引出 VHDL 语句语法内容,通过少数几个简单、直观、典型的实例,将 VHDL 中最核心、最基本的内容解释清楚,使读者在很短的时间内就能有效地把握 VHD
10、L 的主干内容,而不必花费大量的时间去“系统地”学习语法书。这里以第 5 章为基点,包括第 6 章和第 7 章中的主要内容,集中体现了这一教学思想和教学方法,一般读者可直接进入这些章节的学习,迅速掌握要点,并能顺利地进行相关习题的解答和实验,为进一步的学习与实践奠定一个良好的基础。通常,这些内容可分别在约 8 个授课学时加 8 个实验学时内完成,即约三个整天的时间。其教学效果在过去与许多高校联合举办的 EDA 研习班上已得到了充分的证明。3. 注重系统性、完整性与独立性相结合全书力争在不增加课时的情况下保持内容的系统性和完整性,使读者通过本书的学习和推荐的实验,初步掌握 EDA 技术最基本的内
11、容。另一方面,书中大部分章节具有相对独立性,读者可根据自己的情况有针对性地选读某一章或几章,这有利于学时的按排和不同专业或学制的选用。此外,第 4 章以向导性方式,通过几个典型实用示例的设计介绍,使读者在只有数字电路基础知识的条件下即能迅速学会使用原理图或波形输入设计方法和学会利用大规模可编程逻辑器件完成较复杂的数字系统的设计实验。该章内容适合于普通数字电路课程中关于可编程逻辑器件章节的实验指导。第 8、第 9 章对实用 VHDL 的语句与语法规则作了概括。现代电子设计技术是发展的,相应的教学内容和教学方法也应不断改进,其中一定有许多问题值得深入探讨,也包括以上提出的有关 EDA 教学的一家之
12、言。我们真诚地欢迎读者对书中的错误与有失偏颇之处给予批评指正。目目 录录第 1 章 概述概述1.1 EDA 技术及其发展 1.2 EDA 技术实现目标 1.3 硬件描述语言 VHDL 1.4 VHDL 综合 1.5 基于 VHDL 的自顶向下设计方法 1.6 EDA 与传统电子设计方法的比较 1.7 EDA 的发展趋势 【习题】第 2 章 EDAEDA 设计流程及其工具设计流程及其工具2.1 FPGACPLD 设计流程 2.1.1 原理图HDL 文本编辑 2.1.2 综合 2.1.3 适配 2.1.4 时序仿真与功能仿真 2.1.5 编程下载 2.1.6 硬件测试 2.2 ASIC 及其设计流
13、程 2.2.1 ASIC 设计方法 2.2.2 一般 ASIC 设计的流程 2.3 常用 EDA 工具 2.3.1 设计输入编辑器 2.3.2 HDL 综合器 2.3.3 仿真器 2.3.4 适配器(布局布线器) 2.3.5 下载器(编程器) 2.4 MAX+PLUSII 概述 2.5 IP 核 【习题】第 3 章 FPGAFPGACPLDCPLD 结构与应用结构与应用3.1 概述 3.1.1 可编程逻辑器件的发展历程 3.1.2 可编程逻辑器件的分类 3.2 简单 PLD 原理 3.2.1 电路符号表示 3.2.2 PROM 3.2.3 PLA 3.2.4 PAL 3.2.5 GAL 3.3
14、 CPLD 结构与工作原理 3.4 FPGA 结构与工作原理 3.4.1 查找表 3.4.2 FLEX10K 系列器件 3.5 FPGA/CPLD 测试技术 3.5.1 内部逻辑测试 3.5.2 JTAG 边界扫描测试 3.6 FPGA/CPLD 产品概述 3.6.1 Lattice 公司 CPLD 器件系列 3.6.2 Xilinx 公司 FPGA 和 CPLD 器件系列 3.6.3 Altera 公司 FPGA 和 CPLD 器件系列 3.6.4 Altera 公司 FPGA 配置方式与器件系列 3.7 CPLD 和 FPGA 的编程与配置 3.7.1 CPLD 的 ISP 方式编程 3.
15、7.2 使用 PC 并行口配置 FPGA 3.7.3 用专用配置器件配置 FPGA 3.7.4 使用单片机配置 FPGA 【习题】 【实验 3-1】 单片机和 EPROM 配置 FPGA 电路设计第 4 章 原理图输入设计方法原理图输入设计方法334.1 1 位全加器设计向导 4.1.1 基本设计步骤 4.1.2 设计流程归纳 4.1.3 补充说明 4.2 2 位十进制数字频率计设计 4.2.1 设计有时钟使能的两位十进制计数器 4.2.2 频率计主结构电路设计 4.2.3 测频时序控制电路设计 4.2.4 频率计顶层电路设计 4.2.5 设计项目的其它信息和资源配置 4.3 参数可设置 LP
16、M 兆功能块 4.3.1 基于 LPM_COUNTER 的数控分频器设计 4.3.2 基于 LPM_ROM 的 4 位乘法器设计 4.4 波形输入设计方法 【习题】 【实验 4-1】 原理图输入设计 8 位全加器 【实验 4-2】 原理图输入设计 8 位十进制频率计 【实验 4-3】 LPM 模块使用第 5 章 VHDLVHDL 设计初步设计初步5.1 多路选择器 VHDL 描述 5.1.1 2 选 1 多路选择器的 VHDL 描述 5.1.2 VHDL 相关语句说明 5.1.3 VHDL 设计基本概念和语句小节 5.2 寄存器描述及其 VHDL 语言现象 5.2.1 D 触发器的 VHDL 描述 5.2.2 D 触发器 VHDL 描述的语言现象说明 5.2.3 实现时序电路的 VHDL 不同表达方式 5.2.4 异步时序电路设计 5.2.5