第1章 可编程器件及Altera公司可编程器件简介 1
1.1 可编程逻辑器件简介 1
1.1.1 可编程器件的发展历史及前景 1
1.1.2 可编程逻辑器件的基本结构 3
1.1.3 可编程器件的分类 4
1.2 Altera系列器件简介 14
1.2.1 PLD厂商简介 14
1.2.2 Altera公司的复杂可编程器件 14
1.2.3 Altera公司的现场可编门阵列 22
1.3 如何根据项目选择器件 25
第2章 硬件描述语言简介 27
2.1 硬件描述语言的由来和发展 27
2.2.2 Verilog HDL 28
2.2.1 VHDL 28
2.2 各种硬件描述语言的介绍及特点 28
2.2.3 Superlog 29
2.2.4 SystemC 30
2.3 VHDL的基本语法 30
2.3.1 VHDL的基本结构 31
2.3.2 VHDL的基本语句 40
第3章 Altera公司QuartusⅡ介绍 66
3.1 QuartusⅡ简介 66
3.2 QuartusⅡ安装及界面介绍 68
3.2.1 QuartusⅡ安装 68
3.2.2 QuartusⅡ界面简介 69
3.2.3 QuartusⅡ常用的设置 82
4.1.2 组合逻辑电路的分析 85
4.1.1 组合逻辑电路的定义 85
第4章 组合逻辑电路设计 85
4.1 组合逻辑电路概述 85
4.1.3 组合逻辑电路的设计 86
4.2 我在第一个项目中遇到的问题 87
4.3 典型的组合逻辑电路分析 90
4.3.1 译码器 90
4.3.2 加法器 92
4.3.3 只读存储器 95
4.3.4 比较器 96
4.3.5 多路选择器 98
4.3.6 三态总线 102
4.4 工程师们的经验 102
4.4.1 组合逻辑电路的竞争冒险 103
4.4.2 选择器设计和FPGA资源 107
5.1.1 时序逻辑电路的定义 108
5.1.2 时序逻辑电路的分类 108
第5章 时序逻辑电路的设计 108
5.1 时序是一切硬件工作的基础 108
5.1.3 时序逻辑电路的分析 109
5.1.4 时序逻辑电路的设计 113
5.2 设计中应考虑的时序问题 119
5.2.1 时钟信号 119
5.2.2 清零信号和置位信号 122
5.2.3 建立时间和保持时间 123
5.2.4 触发器及其应用 124
5.3 典型的时序逻辑电路分析与描述 133
5.3.1 分频器 133
5.3.2 计数器 135
5.3.3 移位寄存器 138
5.3.4 存储器 141
5.4.1 FPGA/CPLD中的竞争冒险 143
5.4 怎样才能避免潜在的危险 143
5.4.2 时序电路中的竞争冒险 144
5.4.3 如何消除时序电路中的竞争冒险 145
5.5 工程师们的经验 145
5.5.1 毛刺的产生 145
5.5.2 如何消除毛刺 146
5.5.3 计数器设计与FPGA资源 147
第6章 有限状态机 149
6.1 什么是状态机 149
6.2 有限状态机分类及VHDL描述 151
6.2.1 摩尔型状态机 151
6.2.2 米勒型状态机 153
6.3.1 状态机的编码方式 154
6.3 有限状态机的编码 154
6.3.2 状态方程和输出方程 156
6.3.3 剩余状态的处理 157
6.4 有限状态机的VHDL设计 159
6.4.1 有限状态机的设计流程 159
6.4.2 有限状态机的复位 160
6.5 状态机与时序逻辑电路 163
6.6 典型状态机电路的VHDL描述 166
6.7 工程师们的经验 179
6.7.1 状态机速度的优化 179
6.7.2 状态机的容错性设计 180
第7章 典型的VHDL设计解析 182
7.1 分频电路 182
7.1.1 2的幂次分频电路 182
7.1.2 非2的幂次分频电路 187
7.1.3 非整数分频电路 198
7.2 倍频电路 201
7.3 多位加法器电路 205
7.4 伪随机序列发生器 206
7.5 并/串转换器 208
7.6 FIFO存储器 212
7.7 双向数据转换器 214
7.8 数字频率计 216
第8章 电路的仿真 222
8.1 什么是电路的仿真 222
8.2 ModelSim功能介绍 222
8.2.1 ModelSim窗口说明 224
8.2.2 波形窗口调试方法 238
8.3 怎样写VHDL测试基准 242
8.3.1 测试基准常用的VHDL语句 244
8.3.2 测试基准分析 245
8.4 一个功能仿真实例 250
8.4.1 基本仿真流程 250
8.4.2 工程仿真流程 255
第9章 基于FPGA/CPLD的VHDL设计经验总结 257
9.1 养成良好的编程习惯 257
9.2 怎样优化你的程序 266
9.2.1 如何优化VHDL设计 266
9.2.2 如何在VHDL设计中提高综合效率 274
9.3 FPGA/CPLD的设计和优化 276
9.3.1 哪些因素影响电路结构的复杂程度 276
9.3.2 速度和面积的优化 281
9.4 系统级层次式设计 292
参考文献 295