出版时间:2010-11 出版社:北京航空航天大学 作者:周兴华//李玉丽//傅飞峰 页数:293
前言
CPLD/FPGA是什么样的器件?它起什么作用?它与单片机是怎样的关系?为什么学会了单片机的设计,还要再学习CPLD/FPGA的设计?刚接触本书的读者,很可能会有这些疑问。·CPLD(Complex Prograromable Logic Device),复杂可编程逻辑器件的英语缩写。·FPGA(Field Programmable Gate Array),现场可编程门阵列的英语缩写。尽管CPLD与FPGA的结构不同,但从应用的角度来看均属于可编程逻辑器件(Programmable Logic Device,PLD)的范畴。接下来的问题是:可编程逻辑器件PLD有什么用(或者起什么作用)?它与单片机是怎样的关系?为了说清楚这件事,先举一个例子:如果需要制作一个50 MHz的频率计,仅使用单片机显然是不可能实现的,因为单片机无法对高达50 MHz的频率信号进行计数及处理。那怎么办呢?比较可行的方法是:先用数字逻辑电路对高达50 MHz的频率信号进行分频、计数、锁存,然后将测得的信号再交给单片机进行运算处理、显示、输出控制等。因为数字逻辑电路的工作频率比较高,可以满足几十至几百MHz的信号处理。但还有问题:完成这些工作的数字逻辑电路,需要十几片至几十片的通用数字逻辑集成电路芯片,显然结构太复杂了,可靠性也低。这个时候,可编程逻辑器件(CPLD或FPGA)就可以大显身手了,可以直接使用PLD芯片进行数字电路系统的设计,将分频、计数、锁存等功能通过软件编程的方法设计在PLD的芯片内部,使得从原来的印板级设计上升到芯片级设计,大大缩小了印板的体积,提高了可靠性。而单片机的特长是使用方便,运算精确灵活,控制能力强,将CPLD/FPGA与单片机结合起来应用之后,充分发挥了它们各自的特长,使其优势互补。这样整个系统的结构简单、功能强大、性价比非常高。刚才只是举了一个很小的例子,实际上PLD所能完成的工作远不止这些,小至各种门电路、计数器、触发器、锁存器,大到雷达信号处理器、激光控制器,都可以用PLD来实现,甚至还可以用PLD直接构造出CPIJ内核。现在明白了吧,可编程逻辑器件PLD主要应用于单片机无法胜任的高频数字逻辑领域。因此,学会单片机之后,还需要学习CPLD/FPGA的设计。
内容概要
作者从2009年1月起,在《电子世界》杂志上连载了《手把手教你学CPLD/FPGA设计》讲座。本书以此为蓝本,另外增加了大量的篇幅与实验例子进行充实。此外,为了帮助读者掌握单片机与CPLD/FPGA的联合设计,还介绍了51单片机的基本知识及单片机c语言编程的基础知识,并通过实例设计进行详解。本书以实践(实验)为主线,以生动短小的实例为灵魂,穿插介绍了Verilog HDL语言的语法及Altera公司的EPM7128S(或Atmel公司的ATFl508A5)设计开发编程。本书理论与实践紧密结合,由浅入深、循序渐进地引导读者进行学习、实验,这样读者学得进、记得牢,不会产生畏难情绪,无形之中就掌握了CPLD/FPGA的联合设计。 本书贯彻《手把手教你学系列丛书》的教学方式。书中附有光盘,含本书所有的程序设计文件。本书可用作大学本科或专科、中高等职业技术学校、电视大学等的教学用书,也可作为CPLD/FPGA爱好者的自学用书。
书籍目录
第1章 可编程逻辑器件概述 1.1 可编程逻辑器件简介 1.1.1 可编程逻辑器件的基本结构 1.1.2 可编程逻辑器件的分类及特点 1.1.3 可编程逻辑器件的逻辑表示方法 1.2 CPLD/FPGA的结构与特性 1.2.1 基于乘积项的CPLD原理与结构 1.2.2 基于乘积项的CPLD逻辑实现方式 1.2.3 基于查找表的FPGA原理与结构 1.2.4 基于查找表的FPGA逻辑实现方式 1.2.5 CPLD与FPGA器件的差别 1.3 Altera公司的MAX7000系列(2PLD特性介绍 1.3.1 逻辑阵列块(LAB) 1.3.2 宏单元 1.3.3 扩展乘积项 1.3.4 可编程连线阵列 1.3.5 I/O控制块 1.3.6 其他特性第2章 可编程逻辑器件的设计流程及学习开发器材 2.1 可编程逻辑器件的设计流程 2.1.1 设计输入 2.1.2 综合 2.1.3 CPLD/FPGA器件适配 2.1.4 仿真 2.1.5 编程下载 2.2 CPLD/FPGA与单片机联合设计的学习器材介绍 2.2.1 Altera公司的集成开发软件MAX+plusII及QuartusII 2.2.2 KeiIC51Windows集成开发环境 2.2.3 MCU&CPLDDEMO综合试验板 2.2.4 ByteBlasterMV并口下载器 2.2.5 单片机USB程序下载器 2.2.6 9V高稳定专用稳压电源第3章 开发软件的安装 3.1 KeilC51集成开发软件安装 3.2 MAX+plusⅡ集成开发软件安装 3.3 QuartusⅡ集成开发软件安装 3.4 USBasp下载器的安装与使用 3.4.1 USBasp下载器的安装 3.4.2 USBasp下载器的使用 3.5 Atmel并口下载软件atmelisp的安装 3.6 POF to JED转换软件Pof2jed的安装第4章 第一个CPLD/FPGA入门实验程序 4.1 使用Max+plusⅡ集成开发软件进行入门实验 4.1.1 建立项目 4.1.2 设计输入(原理图或硬件描述语言) 4.1.3 选择器件并锁定引脚 4.1.4 编译器件 4.1.5 仿真 4.1.6 编程下载 4.1.7 应用 4.2 使用QuartusⅡ集成开发软件进行入门实验 4.2.1 建立项目 4.2.2 设计输入(原理图或硬件描述语言) 4.2.3 设计编译 4.2.4 仿真 4.2.5 引脚分配 4.2.6 编程下载 4.2.7 立用第5章 VerilogHDL硬件描述语言 5.1 VerilogHDL模块的基本结构 5.1.1 模块声明 5.1.2 端口定义 5.1.3 信号类型说明 5.1.4 逻辑功能描述 5.1.5 实验程序1——缓冲器 5.1.6 实验程序2——反相器(非门) 5.2 VerilogHDL语法要素 5.2.1 标识符与关键字 5.2.2 常量、变量及数据类型 5.2.3 实验程序3——与门 5.2.4 实验程序4——与非门 5.2.5 实验程序5——LED的闪烁 5.2.6 运算符 5.2.7 运算符的优先级 5.2.8 实验程序6——或门 5.2.9 实验程序7——或非门 5.2.10 实验程序8——异或门 5.2.11 实验程序9——异或非门 5.2.12 实验程序10——三态门 5.3 VerilogHDL的行为语句 5.3.1 赋值语句 5.3.2 过程语句 5.3.3 块语句 5.3.4 条件语句 5.3.5 循环语句 5.3.6 编译预处理 5.3.7 任务和函数 5.4 VerilogHDL数字逻辑单元结构的设计 5.4.1 结构描述方式 5.4.2 实验程序——门级结构描述设计的基本门电路 5.4.3 数据流描述方式 5.4.4 行为描述方式第6章 组合逻辑电路的设计实验第7章 触发器的设计实验第8章 时序逻辑电路的设计实验第9章 CPLD/FPGA的设计应用第10章 51单片机的基本知识第11章 单片机C语言基础知识第12章 CPLD/FPGA与单片机的接口及数据传输第13章 CPLD/FPGA与单片机的联合设计实例——液晶显示频率计参考文献
章节摘录
插图:适配器(Fitter)有时也称为结构综合器,它的功能是将综合器产生的网表文件配置到指定的目标器件中,并产生最终的可下载文件。如对CPLD器件而言,产生熔丝图文件,即JEDEC文件;对FPGA器件则产生Bitstream位流数据文件。利用适配器可将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化、布局布线等。映射是把设计分为多个适合器件内部逻辑资源实现的逻辑小块的过程。适配器产生以下一些重要的文件:①适配报告,它包括芯片内部资源耗用情况,设计的布尔方程描述情况等。②面向其他EDA工具的输出文件,如EDIF文件等。③适配后的仿真模型,包括延时信息等,以便进行精确的时序仿真。因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能精确地预测未来芯片的实际性能。如果仿真结果达不到设计要求,就需要修改源代码或选择不同速度的器件,直至满足设计要求。④器件编程文件,如用于CPLD编程的JEDEC、POF等格式的文件;用于FPGA配置的SOF、JAM、BIT等格式的文件。
编辑推荐
《手把手教你学CPLD/FPGA与单片机联合设计》:手把手教你学系列丛书
图书封面
评论、评分、阅读与下载
手把手教你学CPLD/FPGA与单片机联合设计 PDF格式下载