EDA技术与Verilog HDL
2010-4
清华大学
潘松//黄继业//陈龙
398
随着EDA技术的发展,其在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。与此同时,随着技术市场与人才市场对EDA技术需求的不断提高,产品的市场效率和技术要求也必然会反映到教学和科研领域中来。以最近10届的全国大学生电子设计竞赛为例,涉及EDA技术的赛题从未缺少过。对诸如斯坦福大学、麻省理工学院等美国一些著名院校的电子与计算机实验室建设情况的调研表明,其EDA技术的教学与实践得到了高度的关注与重视,内容安排紧凑、科学。在其本科和研究生教学中有两个明显的特点:其一,各专业中EDA教学实验课程的普及率和渗透率极高;其二,几乎所有实验项目都部分或全部融入了EDA技术,其中包括数字电路、计算机组成与设计、计算机接口技术、数字通信技术、嵌入式系统、DSP等实验内容,并且更多地注重创新性实验。这显然是科技发展和市场需求双重影响下自然的结果。 为了适应EDA技术在就业中的需求和高校教学的要求,突出EDA技术的实用性,以及面向工程实际的特点和自主创新能力的培养,作者力图将EDA技术最新的发展成果、现代电子设计最前沿的理论和技术、国际业界普遍接受和认可的EDA公司新近推出的EDA软/硬件开发平台的使用方法通过本书合理地综合和萃取,奉献给各位读者。本书所有的理论阐述和实践精解,包括示例和实验所基于的EDA软/硬件平台分别是Quartus II 9.x、Synplify、ModelSim、SOPC Builder等和Cyclone III系列FPGA;硬件描述语言是Verilog HDL。其中的SystemVerilog和VHDL仅是为了比较而介绍。 在业界,目前似乎有3个关键词与大学生的就业和发展关系密切,即数字技术、创新精神和实践能力。为了阐明本书的宗旨,在此不妨讨论一番。 近年来,我国大学生特别是本科生就业形势一直难有起色,其中自有诸多因素,但有一点值得关注,即高职专科类和研究生毕业生的就业情况都好于本科。其中原因十分明显也值得深究:社会就业市场更青睐有实践能力的人才。高职专科虽只有3年,但专业设置定位明确,完全根据就业市场设计教学与实践,大比例课时数放在既定专业的实践训练和技能培训上,许多学校在第一年就完成了诸如高数、数字电路、EDA技术类基础和专业基础类课程,此后两年时间几乎都用于工程实践训练。至于研究生,除了学历高外,在实践训练的环境条件、时间、内容、强度、层次以及与工程实际的结合度上都明显优于本科生。相比之下,本科生的就业劣势便显得十分明显了,因为他们大部分时间都在应付不断增加的各类课程的课堂学习上,实践安排少之又少。要论动手能力和实践经验,本科生自然屈居第三,就业形势必然严峻,所以就业的大军仍然是本科生!如何来破解这一难题呢?所谓“以管窥豹,只见一斑”,这里仅以本科数字电路课程教学为例,来窥视分析本科就业问题之一斑。 在本科电子、计算机、通信等专业的课程中,实质上的专业基础课大都是实践性强且须通过大量实践活动的反馈才能真正学好的课程,其中数字电路及其后续的EDA技术课程的教学和实践安排具有一定的典型性和代表性。统计表明,目前多数高校的数字电路课程授课课时数是64,实验课时数是16,实践课与理论课的比例是1:3;课程安排多为二年级下或三年级上。不难看出这里就存在两个问题: ·重理论讲授轻实践训练(许多其他同类课都存在相同问题)。这个1:3的比例最终导致多数学生只会并只注重书面应试。 ·课程安排的时间太晚。在现代数字技术高速发展的今天,本科电子、计算机、通信等专业的大量重要课程都是以数字电路为基础课。也就是说,诸如EDA技术、硬件描述语言、单片机技术、DSP技术、嵌入式系统应用技术、计算机组成与设计技术、计算机接口技术、数字通信技术等公共专业基础课,以及与具体专业直接相关的课程,如工业自动化、网络安全、软件无线电、蓝牙技术、仪器仪表、生物信息工程、数字电子对抗、神经网络系统、数字电磁兼容技术等,统统都必须放在数字电路课之后。然而目前的现状令人无法乐观,待数字电路课学完(还谈不上已学好),已经是三年级了,而四年级后半段基本属于四面出击求职求人的一年,多数学生已无心向学已是不争的事实。 美国斯坦福大学Nigel P.Cook教授在其Practical Digital Electronics一书中指出:第二次世界大战以来,电子学对世界的发展所做的贡献超过了其他所有学科,电子工业已超越汽车和石油工业成为世界上最大的工业,而且这个巨型工业的一个重要的发展趋势便是从模拟技术向数字技术的转化,数字技术将曾经毫不相干的领域融为一体,导致90%以上电子产品采用了数字技术,数字电子技术还将继续整合整个工业体系,促进人类在各个不同领域的进步。这个90%说明什么?这不就是告诉我们,即在业界,与数字技术相关的就业领域的口径占整个就业领域的90%之宽!然而我们想问,以上的那些与数字技术相关的、极其重要且与未来的深造、发展、创业、就业甚至再就业(考虑下岗)关系重大的课程能在一年甚至不到的时间内学完吗?如果可能,那也只能停留在课堂上听听课而已,至于实践机会恐已成了奢望,更不用提什么融会贯通、培养自主创新能力了。其结果一定是常从毕业学生口中听到的那句让人愕然又无奈的话:老师,我感到什么都学了,但却什么都不会。因为他们在求职的道路上,除了一张似是而非的成绩单,对招聘者的盘问基本没有底气去接招。 何谓学术?就是学有所长,术有专攻。仅仅是听听讲课,动动笔头,敲敲键盘,无论是理论还是实践都是蜻蜓点水、浅尝辄止,致使学不深、业不精,就业自然困难。 显然,这一现象从根本上的改变必须抓住核心课程,解决3个问题,即什么时候学、学什么以及如何学。核心课程是数字电路课及其后续课——EDA、DSP等。 对于第1个问题,较好的解决方案便是数字电路课程的教学改革。作为我校EDA技术国家级精品课程的延伸内容之一,我们充分认识到将此课程提前上的重要性,通过数年的试点教学实践和经验总结,现已成功地将部分本科学生的数字电路课授课时间从原来的第四学期逐步提前到了第一学期,其他相关课程,如EDA、单片机、计算机接口等也相应提前,使学生到二年级时就有了培养自主开发能力的条件了。 第2个问题涉及教学内容。数字电路课程的大幅提前必定要以改革教学内容为前提,否则一味提前,教学效果也将归于失败。首先是推出适应新需求的教材,对于目前长期作为数字技术教学重点的且已过时的、基于纯手工数字技术的内容仅作现代数字技术教学的阶梯和过渡内容,强化基于现代数字技术的教学和实践训练,并适当引入低层次的EDA技术,如基于原理图的输入设计方法,不涉及HDL,使教学和实践训练的内容更有效地面向后续课程。而传统数字电路的内容是纯手工技术,根本无法适应如今高速变化的各实际工程专业相关课程的需求。 第3个问题最重要,如何学包括如何教,这既是个方法问题,更是个认识问题。以我校的数字电子技术和EDA技术的授课情况为例,对于前者不仅仅是提前课程设置,更重要的是瞄准人才市场的需求和电子科技发展的现状,强化实践训练,强调工程实际与基础理论相结合,重点鼓励学生的自主设计意识和首创精神。我们将授课学时数缩减到40,而实验学时数相应增加为80,其中包括与之相关的课内实验(16)、独立实验(32)和课程设计实验(32)。具体内容包括验证性实验、基础实验、自主设计性实验和综合创新性实验,最后一类实验要求学生必须给出可硬件验收的设计项目和论文,然后参加答辩。 作为后续课程的EDA技术课总学时数是48,实验与授课学时数之比是1:1。同时为了有效倍增学生的实践和自主设计的时间,每一个上EDA课的学生都可借出一套EDA实验开发板,使他们能利用自己的计算机在课余时间完成自主设计项目,强化学习效果。实践表明,这种安排使得实验与授课的等效学时数之比达到3:1,成效自然明显。基于同样重视实践能力和创新意识培养的理念,单片机教学实验和授课学时数之比已近x:0,即不单独安排授课学时数,第一课就在实验室中进行,边讲授、边学习、边实践。 基于以上的讨论和认识,我们对本书各章节做了相应的安排。其特点有三: 1. 注重实践、实用和创新能力的培养 除在各章中安排了许多习题外,绝大部分章节都安排了针对性较强的实验与设计项目,使学生对每一章的课堂教学内容和教学效果能及时通过实验得以消化和强化,并尽可能地从学习一开始就有机会将理论知识与实践和自主设计紧密联系起来。 全书共给出了60多个实验与设计项目,这些项目涉及的技术领域宽、知识涉猎广、针对性强,而且自主创新意识的启示性好。与本书的示例一样,所有的实验项目都通过了EDA工具的仿真测试并通过FPGA平台的硬件验证。每一个实验项目除给出详细的实验目的、实验原理和实验报告要求外,都含2~5个子项目或子任务。它们通常分为:第一层次的实验任务是与该章某重点阐述内容相关的验证性实验,并通常提供详细的并被验证的设计程序和实验方法,学生只需将提供的设计程序输入计算机,并按要求进行编译仿真,在实验系统上实现即可,目的是使学生有一个初步的感性认识,提高实验的效率;第二层次的实验任务是要求在上一实验的基础上进行一些改进和发挥;第三层次的实验通常是提出自主设计的要求和任务;第四、五层次的实验则在仅给出一些提示的情况下提出自主创新性设计的要求。教师可以根据学时数、教学实验的要求以及不同的学生对象,布置不同层次、含不同任务的实验项目。 2. 注重速成和学习效率 一般认为EDA技术的难点和学习费时的根源在于硬件描述语言,对此本书做了有针对性的安排。我们根据相关专业的特点,放弃了流行的计算机语言的教学模式,打破了目前HDL教材通行的编排形式,而以电子线路设计为基点,从实例的介绍中引出Verilog语法内容。同时为了尽快进入EDA技术的实践阶段,熟悉EDA开发工具及其相关软硬件的使用方法;尽早进入数字系统工程设计经验的积累和能力提高阶段,并能通过这些面向实际的实践和实验活动,快速深化对硬件描述语言的理解和把握对应的设计技巧,本书通过数则简单而典型的Verilog设计示例(电路情景)和电路模型,从具体电路和实用背景下引出相关的可综合的Verilog语言现象和语法规则,并加以深入浅出的说明,使读者仅通过1~2章的学习便能迅速了解并掌握Verilog HDL与逻辑电路间的基本关系和描述方法,从而极大地降低Verilog的学习难度,大幅提高学习效率,快速实现学以致用的目的。过去多年的实践证明这是一种高效学习硬件描述语言和EDA技术的好方法。这种学习流程也是目前国外比较流行的基于情景和工作过程的教学和学习模式,是一种自顶向下的、高效的学习模型。
本书根据课堂教学和实验操作的要求,以提高实际工程设计能力为目的,深入浅出地对EDA技术、Verilog HDL硬件描述语言、FPGA开发应用及相关知识做了系统和完整的介绍,使读者通过本书的学习并完成推荐的实验,能初步了解和掌握EDA的基本内容及实用技术。 全书包括4部分:第一部分介绍EDA的基本知识、常用EDA工具的使用方法和目标器件的结构原理;第二部分以向导的形式和实例为主的方法介绍多种不同的设计输入方法;第三部分介绍Verilog的设计优化;第四部分详述基于EDA技术的典型设计项目。各章都安排了习题和针对性较强的实验与设计。书中列举的大部分Verilog设计实例和实验示例实现的EDA工具平台是Quartus II 9.x,硬件平台是Cyclone III系列FPGA,并在EDA实验系统上通过了硬件测试。 本书对于EDA技术和硬件描述语言的介绍具有系统性、完整性和相对独立性,故其定位既是EDA课程的课本,也是面向对应专业就业和深造而必需的EDA技术速成教程。 本书可作为高等院校电子工程、通信、工业自动化、计算机应用技术、电子对抗、仪器仪表、数字信号或图像处理等专业的本科生或研究生的电子设计、EDA技术课程和Verilog硬件描述语言的教材及实验指导书,同时也可作为相关专业技术人员的自学参考书。 本书提供相关的重要资料,包括授课课件、实验指导课件、实验示例源文件和设计,读者可以通过清华大学出版社网站(www.tup.com.cn)下载或作者的网站(www.kx-soc.com)索取。
第1章 概述 1.1 EDA技术及其发展 1.2 EDA技术实现的目标 1.3 硬件描述语言Verilog HDL 1.4 其他常用硬件描述语言 1.5 HDL综合 1.6 基于HDL的自顶向下设计方法 1.7 EDA技术的优势 1.8 EDA的发展趋势 习题 第2章 EDA设计流程及其工具 2.1 FPGA/CPLD开发流程 2.1.1 设计输入(原理图/HDL文本编辑) 2.1.2 综合 2.1.3 适配 2.1.4 时序仿真与功能仿真 2.1.5 编程下载 2.1.6 硬件测试 2.2 ASIC及其设计流程 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 Quartus II简介 2.5 IP核简介 习题 第3章 FPGA/CPLD结构与应用 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 CPLD的结构与工作原理 3.4 FPGA结构与工作原理 3.4.1 查找表逻辑结构 3.4.2 Cyclone III系列器件的结构与原理 3.5 硬件测试技术 3.5.1 内部逻辑测试 3.5.2 JTAG边界扫描测试 3.5.3 嵌入式逻辑分析仪 3.6 FPGA/CPLD产品概述 3.6.1 Lattice公司的CPLD器件系列 3.6.2 Xilinx公司的FPGA和CPLD器件系列 3.6.3 Altera公司的FPGA和CPLD器件系列 3.6.4 Actel公司的FPGA器件 3.6.5 Altera公司的FPGA配置方式与配置器件 3.7 编程与配置 3.7.1 使用JTAG的CPLD在系统编程 3.7.2 使用JTAG在线配置FPGA 3.7.3 FPGA专用配置器件 3.7.4 使用单片机配置FPGA 3.7.5 使用CPLD配置FPGA 习题 第4章 Verilog HDL设计初步 4.1 组合电路的Verilog HDL描述 4.1.1 选1多路选择器及其Verilog HDL描述1 4.1.2 选1多路选择器及其Verilog HDL描述2 4.1.3 选1多路选择器及其Verilog HDL描述3 4.1.4 选1多路选择器及其Verilog HDL描述4 4.1.5 简单加法器及其Verilog HDL描述 4.2 时序电路的Verilog HDL描述 4.2.1 边沿触发型D触发器及其Verilog描述 4.2.2 电平触发型锁存器及其Verilog描述 4.2.3 含异步清0和时钟使能结构的D触发器及其Verilog描述 4.2.4 含同步清0结构的D触发器及其Verilog描述 4.2.5 含异步清0的锁存器及其Verilog描述 4.2.6 Verilog的时钟过程描述注意要点 4.2.7 异步时序电路 4.3 计数器的Verilog HDL设计 4.3.1 位二进制加法计数器及其Verilog描述 4.3.2 功能更全面的计数器设计 习题 第5章 Quartus II应用初步 第6章 Verilog HDL设计进阶 第7章 宏功能模块与IP应用 第8章 Verilog有限状态机设计 第9章 Verilog HDL基本要素与语句 第10章 系统优化、时序分析和Synplify应用 第11章 Verilog仿真验证 第12章 SOPC技术 附录A EDA开发系统相关软硬件简介 参考文献
在计算机技术的推动下,电子技术在20世纪末获得了飞速的发展,现代电子产品几乎渗透于社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时又促使现代电子产品性能的进一步提高,产品更新换代的节奏也越来越快。 电子技术发展的根基是微电子技术的进步,它表现在大规模集成电路加工技术,即半导体工艺技术的发展上。表征半导体工艺水平的线宽已经达到45nm以下,并还在不断地缩小;在硅片单位面积上集成了更多的晶体管;集成电路设计在不断地向超大规模、极低功耗和超高速的方向发展;同时,这些专用集成电路(Application Specific Integrated Circuit,ASIC)的设计成本还在不断降低,而在功能和结构上,现代的集成电路已能实现单片电子系统(System on a Chip,SoC)。 作为现代电子设计技术的核心,EDA(Electronic DesignAutomation)技术依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言(Hardware Description Language,HDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线)以及逻辑优化和仿真测试等功能,直至实现既定性能的电子线路系统。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和。EDA软件来完成对系统硬件功能的实现。 在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此严格地说,EDA技术应该是这两者的结合,是这两个技术领域共同孕育的奇葩。 在硬件实现方面,EDA技术融合了大规模集成电路制造技术、IC版图设计技术、ASIC测试和封装技术、FPGA(Field Programmable Gate Array)和CPLD(Complex ProgrammableLogic Device)编程下载技术、自动测试技术等;在计算机辅助工程方面,EDA融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;在现代电子学方面,EDA容纳了更多的内容,如电子线路设计理论、数字信号处理技术、嵌入式系统和计算机设计技术、数字系统建模和优化技术及微波技术等。因此,EDA技术为现代电子理论和设计的表达与实现提供了可能性。在现代技术的所有领域中,许多得以飞速发展的科学技术多属计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域是电子技术,这就是为什么电子技术始终处于所有科学技术发展最前列的原因之一。
《EDA技术与Verilog HDL》特色:注重实践、实用和创新能力的培养。给出了约60个实验与设计项目,这些项目涉及的技术领域宽,知识涉猎密集,针对性强,而且自主创新意识的启示性好。 注重速成和学习效率 通过简单而典型的Verl 10g设计示例(电路情景)和电路模型,从具体电路和实用背景下引出相关的可综合的VerolOg语言现象和语句规则,并加以深入浅出地说明,有助于读者迅速了解并掌握Verl]Og HDL与逻辑电路间的基本关系和描述方法。 注重相对独立性和系统性、完整性的有机结合 《EDA技术与Verilog HDL》之于印A技术构建了一个不容割裂和裁剪的有机整体,保证了EDA技术与HDL知识构架内在的系统性和完整性,同时各章节的理论讲述安排和实验配置,既具有很好的内在联系性,也具有相对独立性,教师可根据学时设置情况、专业特点和具体的教学要求选择讲授。 配套服务:提供相关的重要资料,包括授课课件、实验指导课件、实验示例源文件和设计,读者可以通过清华大学出版社网站下载或作者的网站索取。
潘松一贯的风格,写verilog也同VHDL一样
很不错,很适合做教材
潘松老师的书一定要看,很有帮助,也可以当工具书查
送货速度很快,而且送货的阿姨人也很好。呵呵,当当网的服务蛮不错的嘛~
着重于verilog的EDA应用,很实用的教材,除了理论外,有很多应用的解说,包含HDL设计软件和设计流程的解说,实战性很强。
我们大学计算机硬件技术的教材书,主要是讲EDA技术的,总体还不错,能深入简出地介绍硬件技术。有时老师上课时讲得听不大懂,回去后自己自学倒是懂了,主要是因为书的内容比较详细。不过计算机硬件的实用性还是值得商榷的,想学的话就买吧。
书的内容比较充实,也有实际案例的分析,主要还是围绕Altera公司的FPGA来写的。
买这本书,本来是看重有好多例子的,可发邮件给作者,让他寄书后的习题答案,杳无音信!真的,太失望了,本是看重作者的名气上才买的,没想到。。。书的内容就没什么价值了