计算机系列教材-可编程逻辑器件原理与设计 本书特色
本书由浅入深、循序渐进地介绍可编程逻辑器件的基本原理、内部结构和设计方法,系统地介绍了用于CPLD/FPGA开发的VHDL语言。对于可编程器件的基本原理,首先从基本逻辑门出发,讲述控制逻辑函数表达式的设计与分解,然后详细介绍SPLD(包括PLA和PAL)、CPLD和FPGA的组成原理及其区别。对于VHDL语言,则先从VHDL基本元素、基本语法、描述模型开始,依次讲解并行语句、顺序语句、元件、库和包、有限状态机等,并配有丰富的实例,有助于学习者对概念的理解和用法的掌握。
本书适合于学习芯片设计的理工科学生和VHDL初学者,可作为高等学校电子类专业的选修教材或有志于研发数字集成电路芯片的工程技术人员的参考书。
计算机系列教材-可编程逻辑器件原理与设计 内容简介
本书从硬件电路的角度介绍了可编程逻辑器件的基本原理和用于开发应用的VHDL语言。结合数字逻辑电路的基础知识,由浅入深地联系具体器件介绍了简单可编程逻辑器件、复杂可编程逻辑器件和现场可编程门阵列的结构原理,重点讲解了现场可编程门阵列中的逻辑块设计原理、可编程开关的设计原理,以及不同逻辑功能的编程实现方法。结合具体的电路实例,讲述了VHDL中的基本概念和编程语法。全书体现了VHDL语言作为并行语言在电路设计中的模块化、层次化、“各尽其责、相互独立”的设计思想,是引导有志于学习可编程逻辑器件设计与开发设计的学生和技术人员的一本值得推荐的入门教材和学习手册。
计算机系列教材-可编程逻辑器件原理与设计 目录
目录
第1章绪论/1
1.1可编程逻辑器件与数字电路设计/1
1.2可编程逻辑器件的发展/2
1.3可编程逻辑器件设计/7
1.3.1电子设计自动化/7
1.3.2电子设计自动化的发展/8
1.3.3EDA工具的主要特征/9
1.3.4有代表性的EDA软件/11
1.3.5设计方法/13
1.3.6设计流程/14
思考题/17第2章数字逻辑/18
2.1基本逻辑门及其运算/18
2.2基本扩展逻辑门/19 目录
第1章绪论/1
1.1可编程逻辑器件与数字电路设计/1
1.2可编程逻辑器件的发展/2
1.3可编程逻辑器件设计/7
1.3.1电子设计自动化/7
1.3.2电子设计自动化的发展/8
1.3.3EDA工具的主要特征/9
1.3.4有代表性的EDA软件/11
1.3.5设计方法/13
1.3.6设计流程/14
思考题/17第2章数字逻辑/18
2.1基本逻辑门及其运算/18
2.2基本扩展逻辑门/19
2.3逻辑门的扩展/20
2.4基本逻辑门的实现/23
2.4.1MOS管/23
2.4.2非门的CMOS实现/25
2.4.3基本与非门的实现/25
2.4.4基本或非门的实现/26
2.4.5逻辑函数表达式的CMOS实现/26
思考题/28第3章可编程逻辑器件原理/29
3.1简单可编程逻辑器件/29
3.1.1可编程逻辑阵列/29
3.1.2可编程阵列逻辑/30
3.2复杂可编程逻辑器件/32
3.2.1Altera MAX系列CPLD/333.2.2AMD
MACH系列CPLD/34
3.2.3Lattice pLSI和ispLSI系列CPLD/35
3.2.4Xilinx XC 7000系列CPLD/36
3.2.5Altera FlashLogic/36
3.3现场可编程逻辑门阵列/37
3.3.1逻辑块/39
3.3.2可编程开关/43
3.3.3典型FPGA内部结构/48
3.4CPLD和FPGA比较/51
思考题/53第4章图形和文本输入/54
4.1Altera Quartus Ⅱ 9.0工作环境/54
4.1.1基于工程的管理环境/54
4.1.2工程设计工具/55
4.2图形输入法/56
4.2.14?1选择器/56
4.2.2建立工程/56
4.2.3电路设计/60
4.2.4利用4?1选择器设计8?1选择器/66
4.3文本输入法/69
4.4配置文件下载/69
思考题/71第5章VHDL基础/72
5.1对象/72
5.1.1对象命名规则/72
5.1.2对象声明规则/72
5.1.3常量/73
5.1.4信号/74
5.1.5变量/75
5.1.6别名/76
5.2标准数据类型/77
5.2.1bit/77
5.2.2bit_vector/77
5.2.3boolean/78
5.2.4boolean_vector/78
5.2.5integer/78
5.2.6natural/79
5.2.7positive/79
5.2.8integer_vector/79
5.2.9character/79
5.2.10string/80
5.3标准逻辑数据类型/80
5.4数值表达方法/82
5.5数据类型转换/83
5.6自定义数据类型/84
5.6.1自定义整数类型/84
5.6.2枚举类型/85
5.6.3子数据类型/85
5.6.4数组类型/85
5.7预定义属性/86
5.7.1标量数据类型的预定义属性/86
5.7.2数组类型的预定义属性/87
5.7.3信号的预定义属性/88
5.8VHDL中的运算/88
5.8.1赋值运算符/89
5.8.2逻辑运算符/89
5.8.3算术运算符/90
5.8.4关系运算符/90
5.8.5移位运算/91
5.8.6合并运算符/91
5.8.7运算符的优先级/92
思考题/92
第6章VHDL语言的程序结构/93
6.1VHDL设计模型/93
6.1.1数据流模型/93
6.1.2行为模型/93
6.1.3结构化模型/94
6.2VHDL程序结构/94
6.2.1实体/95
6.2.2架构/97
6.2.3库和包/98
6.2.4配置/100
6.3简单的例子/100
思考题/104第7章并行语句/105
7.1简单信号赋值语句/105
7.2条件信号赋值语句/110
7.3选择信号赋值语句/114
7.4产生语句/118
7.5块语句/121
7.6多驱动源赋值问题/123
思考题/124第8章顺序语句/125
8.1锁存器和触发器/125
8.2进程/127
8.3IF语句/128
8.3.1IF…THEN…END IF/128
8.3.2IF…THEN…ELSE…END IF/129
8.3.3IF…THEN…ELSIF…THEN…
END IF/129
8.3.4IF…THEN…ELSIF…THEN…
ELSE…END IF/130
8.3.5嵌套式IF语句/133
8.4CASE语句/138
8.5WAIT语句/141
8.6LOOP语句/143
8.6.1无条件循环/143
8.6.2FOR…LOOP循环/143
8.6.3WHILE…LOOP循环/146
8.6.4LOOP…EXIT循环/146
8.6.5LOOP…NEXT循环/147
8.7寄存器的引入问题/147
8.8信号和变量的再讨论/148
思考题/155第9章元件/156
9.1元件的声明/156
9.2元件例化/157
9.3元件声明和例化方法/157
思考题/172第10章库、包与子函数/173
10.1库/173
10.2包/174
10.3子程序/177
10.3.1函数/178
10.3.2过程/181
10.4过程、函数和进程讨论/185
10.4.1子程序与进程/185
10.4.2函数与过程/186
思考题/186第11章有限状态机/187
11.1FSM的系统图和状态图/187
11.2FSM的编程框架/188
11.3Moore型FSM设计/189
11.3.1系统图设计/189
11.3.2状态机描述/189
11.3.3编程实现/190
11.4Mealy型FSM设计/191
11.5综合设计/193
11.6FSM中的问题/200
思考题/201附录AVHDL中的保留字/202附录B缩略语/203参考文献/204信息