出版时间:2010-11 出版社:电子工业出版社 作者:李大社 等编著
前言
在现代电子系统设计领域,EDA(Electronic Design Automation,电子设计自动化)已经逐渐成为电子系统的重要设计手段。无论是设计逻辑器件还是数字系统,其设计作业的复杂程度都在不断增加,仅仅依靠手工进行数字系统设计已经不能满足要求,所有的设计工作都需要在计算机上借助EDA工具进行。EDA代替人工完成数字系统的逻辑综合、布局布线和设计仿真,而可编程器件可以按照EDA的设计结果快速形成一个实际的硬件系统,从而可以真实地验证用户的设计。用户可以反复地,如同修改软件一样来修改系统参数与描述,然后载入可编程器件中。在教学领域,以前涉及可编程器件方面的内容比较少,而:EDA方面也只是处于电子辅助设计阶段。随着器件技术与EDA技术的开发,使得EDA在大学本科、研究生教学中成为迫切的需要,目前已经成为电子技术教学中的大纲要求。但是却没有合适的教材,许多有关书籍不是太老就是内容不全,许多书仅仅是技术资料的翻译,或只是大量深入介绍VHDI。语言,而没有把EDA作为学习数字电路或模拟电路的重要工具来讲解。本书共分为8章,第l章介绍了EDA的发展、CPLD/FPGA的基础知识;第2章介绍了利用Quartus II进行FPGA/CPLD设计的开发流程,包括设计输入、综合、布局布线、时序分析、仿真、编程和配置等:第3章主要介绍当前流行的VHDL,语言、Verilog语言的应用;第4~7章列出了大量的实例,如组合逻辑电路、时序逻辑电路等逻辑电路的设计方法;第8章主要介绍了在开发过程和实际应用中遇到的问题,这部分对于需要实际开发产品的读者和初学者有着非常重要的价值。本书由于篇幅的限制,没有全部列出源代码,其中的绝大部分程序源代码对EDA开发人员具有很好的参考价值。本书第1~3章由李大社编写,第4章和第5章由王彬和刘淑娥编写,第6~8章由管绍朋、邹德平和孙文燕编写。全书由李大社统稿、定稿。李军政和常彬参与了本书例子的录入和校对工作。在本书的编写过程中,得到了许多朋友和专家的大力帮助,在此表示由衷的感谢,特别要感谢北京华晟公司的周德兴总工程师。由于编者的能力有限,书中难免存在错误和不足之处,敬请广大读者和专家批评指正。
内容概要
本书以实例精解的方式讲述基于Quartus Ⅱ的FPGA/CPLD设计方法和技巧,主要包括EDA与可编程器件概述、可编程逻辑器件开发环境、硬件描述语言、基本组合逻辑电路设计实例、基本时序逻辑电路设计实例、综合典型实例、小型应用和教学系统的开发和设计系统时应注意的问题。书中所介绍的设计实例均从原理叙述和逻辑分析出发,采用EDA方法进行设计输入、仿真及实现。 本书适合从事FPGA/CPLD设计开发的技术人员阅读,也可作为高等学校相关专业的教学用书。
书籍目录
第1章 EDA与可编程器件概述 1.1 可编程芯片技术的发展 1.2 可编程器件开发 1.3 可编程器件厂商概述 1.4 开发环境与硬件描述语言 1.5 CPLD/FPGA的基本结构 1.5.1 乘积项结构 1.5.2 查找表结构第2章 QuartusⅡ开发指南 2.1 Quartus Ⅱ简介 2.2 Quartus Ⅱ的设计流程 2.2.1 设计输入 2.2.2 综合 2.2.3 布局布线 2.2.4 时序分析 2.2.5 仿真 2.2.6 编程与配置 2.2.7 工程更改管理 2.3 基于Quartus Ⅱ的设计实例第3章 硬件设计语言 3.1 硬件描述语言 3.2 VHDL语言 3.2.1 VHDL语言的基本结构 3.2.2 标志符 3.2.3 数据对象 3.2.4 数据类型 3.2.5 属性 3.2.6 运算符 3.2.7 VHDL的语句和结构体 3.2.8 结构体的子结构描述 3.3 Verilog HDL 3.3.1 Verilog HDL的数据类型 3.3.2 语言要素 3.3.3 表达式 3.3.4 赋值语句 3.3.5 条件语句 3.3.6 循环语句第4章 基本组合逻辑电路设计实例 4.1 基本组合逻辑器件 4.1.1 三态器件 4.1.2 多任务器 4.1.3 全加器设计 4.2 复杂组合逻辑电路 4.2.1 带符号乘法器设计 4.2.2 编码器设计 4.2.3 加法器 4.2.4 表决器第5章 基本时序逻辑电路设计实例 5.1 基本时序逻辑器件 5.1.1 寄存器 5.1.2 触发器 5.2 简单时序逻辑电路 5.2.1 计数器与分频器设计 5.2.2 状态机与通信编码/解码电路 5.2.3 动态扫描电路实现 5.2.4 发光管点阵实验 5.3 复杂时序逻辑电路 5.3.1 信号频率测量 5.3.2 可控脉冲发生器 5.3.3 数控脉宽调制PWM第6章 综合典型实例 6.1 处理器外设 6.1.1 Intel 8255并行接口电路 6.1.2 8251设计/126 6.1.3 A6850 异步通信接口 6.2 存储器接口 6.2.1 存储器 6.2.2 先进先出队列 6.3 数字信号处理 6.3.1 FFT变换 6.3.2 CRC校验 6.3.3 曼彻斯特编解码 6.4 控制类 6.4.1 数码锁设计 6.4.2 步进电动机的控制 6.4.3 电子手表IC设计 6.5 其他实验 6.5.1 键盘接口设计 6.5.2 抢答器 6.5.3 交通灯控制实验第7章 小型应用和教学系统的开发 7.1 教学系统介绍 7.1.1 功能模块 7.1.2 系统功能 7.1.3 器件选择 7.2 电路原理图设计 7.2.1 CPLD单元 7.2.2 单片机和通信单元 7.2.3 数码管发光管单元 7.2.4 输入单元 7.3 单片机程序设计 7.3.1 主程序 7.3.2 定时器和延时函数 7.3.3 获取命令和处理命令 7.3.4 获取配置文件 7.3.5 单片机更新 7.3.6 CPLD配置 7.4 可编程逻辑器件设计 7.4.1 动态扫描显示 7.4.2 综合第8章 系统设计中应注意的问题 8.1 工作条件 8.2 引脚电压 8.3 闭锁(次序上电问题) 8.4 高速设计附录A 本书涉及的专用简写词汇附录B 关于Altera公司下载电缆安装出现问题的解决附录C 开发实验装置介绍 C.1 产品特色与优势 C.2 EDA1000、EDA 2000实验装置模块与技术参数 C.3 EDA 3000、EDA 4000型实验装置说明 C.4 其他类型产品介绍
章节摘录
插图:1.PLD开发软件由于PLD软件已经发展得相当完善,用户甚至可以不用详细了解PLD的内部结构,就能用自己熟悉的方法,如原理图输入或HD[。语言来完成相当优秀的PLD设计。所以对初学者来说,首先应了解PLD开发软件和开发流程。了解PLD的内部结构,将有助于提高我们设计的效率和可靠性。获得PLD开发软件的途径非常多。许多PLD公司都提供免费试用版或演示版(当然商业版大都是收费的),例如可以免费从上下载Altera,公司的MaxplusII(Baseline版或E+MAX版),或向其代理商索取这套软件。Xilinx公司也提供免费软件:WebPack可以从Xilinx网站下载。Lattice、Actel等公司也都有类似的免费软件提供。以上免费软件都需要在网上注册申请License文件。通常这些免费软件已经能够满足一般设计的需要,要想软件功能更强大一些,只能购买商业版软件。如果打算使用VHDL或Verilog HDL硬件描述语言来开发PLD/FPGA,通常还需要使用一些专业的HDL,开发软件,这是因为FPGA厂商提供的软件的HDL综合能力一般都不是很强,需要其他软件来配合使用。对于PLD产品,一般分为两类:(1)基于乘积项(Product-Ferm)技术,一般用于EEPROM(或Flash)工艺的中小规模PLD。(2)基于查找表(L00k-up Table)技术,一般用于SRAM工艺的大规模PLD/FPGA。EEPROM工艺的PLD密度小,多用于5000门以下的小规模设计,适合做复杂的组合逻辑,如译码。SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。
编辑推荐
《基于Quartus II的FPGA/CPLD设计实例精解》:开智慧门,走成功路。在现代电子系统设计领域中,电计自动化(EDA)已经逐渐成为电子系统的重要设计手段无论是设计逻辑器件还是数字系统,其设计作业的复杂程度都在不断增加,现今仅仅依靠手工进行数字系统设计已经不能满足要求,所有的设计工作都需要在计算机上借助EDA工具来进行EDA代替人工完成数字系统的逻辑综合、布局布线和设计仿真,而可编程器件可以按照EDA的设计结果快速形成一个实际的硬件系统,从而可以真实地验证用户的设计。
图书封面
评论、评分、阅读与下载
基于Quartus II的FPGA/CPLD设计实例精解 PDF格式下载