第1章绪论 1
1.1电子计算机概述 1
1.2数字系统设计方法 2
第2章 可编程逻辑器件 5
2.1概述 5
2.1.1可编程逻辑器件发展历史 5
2.1.2 FPGA与CPLD 6
2.2简单可编程逻辑器件 7
2.2.1可编程只读存储器 7
2.2.2可编程逻辑阵列 8
2.2.3通用阵列逻辑 10
2.3复杂可编程逻辑器件 10
2.3.1 CPLD原理 11
2.3.2 CPLD的逻辑实现 13
2.4现场可编程门阵列 15
2.4.1 FPGA内部结构 15
2.4.2 FPGA工作原理 16
2.4.3 CPLD与FPGA比较 18
2.5典型的FPGA芯片 19
2.5.1 Xilinx公司的FPGA 19
2.5.2 Altera公司的FPGA 20
2.5.3 Cyclone系列FPGA结构原理 21
2.6 FPGA设计流程 25
习题 27
第3章Verilog硬件描述语言基础 28
3.1概述 28
3.1.1硬件描述语言发展历史 28
3.1.2 Verilog HDL与V HDL的比较 29
3.1.3 Verilog语言和C语言 29
3.2 Verilog语言的基本概念 31
3.2.1基本程序结构 31
3.2.2标识符和关键字 32
3.2.3注释方法 32
3.2.4参数声明 32
3.2.5编译指令 32
3.3数据类型与表达式 34
3.3.1逻辑值 34
3.3.2常量 34
3.3.3变量 35
3.3.4变量的物理含义 38
3.4运算符 38
3.4.1算术运算符 39
3.4.2逻辑运算符 39
3.4.3关系运算符 39
3.4.4相等运算符 39
3.4.5位运算符 39
3.4.6归约运算符 41
3.4.7移位运算符 41
3.4.8条件运算符 41
3.4.9连接运算符 41
3.5模块的结构化描述 41
3.5.1模块结构 41
3.5.2结构化描述 42
3.6数据流描述 45
3.6.1连续赋值语句 45
3.6.2时延的概念 46
3.6.3数据流描述实例 46
3.7行为描述方式 48
3.7.1语句块 48
3.7.2事件控制 49
3.7.3过程赋值语句 50
3.7.4编程语句 52
3.7.5混合描述方式 54
3.8任务和函数 55
3.8.1任务 55
3.8.2函数 56
3.8.3系统任务和系统函数 57
3.9仿真验证 59
3.9.1编写测试程序 59
3.9.2测试激励编程 61
3.10 Verilog-2001新增功能 62
习题 64
第4章Quartus Ⅱ集成开发环境 65
4.1概述 65
4.2 Quartus Ⅱ的安装 66
4.2.1计算机配置要求 66
4.2.2安装步骤 66
4.2.3授权文件安装 71
4.3 Quartus Ⅱ使用方法 72
4.3.1 Quartus Ⅱ设计流程 72
4.3.2 Quartus Ⅱ使用步骤 73
习题 81
第5章 设计实例与实践 82
5.1组合逻辑电路设计 82
5.1.1可综合设计 82
5.1.2加法器 83
5.1.3比较器 84
5.1.4多路器 85
5.1.5编码器 86
5.1.6译码器 87
5.1.7三态缓冲器 87
5.1.8总线设计 88
5.2时序逻辑电路设计 88
5.2.1分频器 89
5.2.2移位寄存器 90
5.2.3计数器 90
5.2.4 FIFO 90
5.2.5有限状态机 92
5.3简单CPU设计 93
5.3.1指令系统设计 93
5.3.2体系结构设计 94
5.3.3基本组成部件设计 95
5.3.4顶层模块设计 104
5.3.5仿真验证 105
习题 106
附录A Verilog HDL的关键字 107
附录B FPGA实验开发平台简介 108
参考文献 111