第1章EDA技术概述 1
1.1 EDA技术 1
1.2 EDA技术应用对象 2
1.3硬件描述语言Verilog HDL 3
1.4 EDA技术的优势 4
1.5面向FPGA的EDA开发流程 5
1.6可编程逻辑器件 7
1.6.1 PLD的分类 7
1.6.2 PROM可编程原理 8
1.6.3 GAL 10
1.7 CPLD的结构与可编程原理 11
1.8 FPGA的结构与工作原理 13
1.8.1查找表逻辑结构 13
1.8.2 Cyclone Ⅲ系列器件的结构原理 14
1.9硬件测试技术 16
1.10 FPGA/CPLD产品概述 17
1.10.1 Lattice公司的PLD器件 17
1.10.2 Xilinx公司的PLD器件 18
1.10.3 Altera公司的PLD器件 19
1.11编程与配置 21
1.12 Quartus Ⅱ 21
1.13 EDA的发展趋势 23
思考题 24
第2章 组合电路Verilog设计 25
2.1半加器电路的Verilog描述 25
2.1.1半加器的数据流建模描述方式 25
2.1.2半加器的门级原语和UDP结构建模描述方式 29
2.2多路选择器不同形式的Verilog描述 30
2.2.1 4选1多路选择器及其顺序语句表述方式 31
2.2.2 4选1多路选择器及其并行语句表述方式 36
2.2.3 4选1多路选择器及其条件操作语句表述方式 37
2.2.4 4选1多路选择器及其条件语句表述方式 38
2.2.5 4选1多路选择器及其利用UDP元件的结构表述方式 40
2.3 Verilog加法器设计 41
2.3.1全加器设计及例化语句应用 41
2.3.2 8位加法器设计及算术操作符应用 43
2.3.3 BCD码加法器设计 44
2.4组合逻辑乘法器设计 46
2.4.1参数定义关键词parameter和localparam 46
2.4.2整数型寄存器类型定义 46
2.4.3 for语句用法 47
2.4.4移位操作符应用法 47
2.4.5两则乘法器设计示例 48
2.4.6 repeat语句用法 48
2.4.7 while语句用法 49
2.4.8 Verilog循环语句的特点 50
2.4.9 parameter的参数传递功能 50
习题 51
第3章Quartus Ⅱ应用向导 53
3.1 Quartus Ⅱ应用一般流程 53
3.1.1输入设计程序 53
3.1.2创建本项目设计工程 54
3.1.3设置约束项目 55
3.1.4全程编译与逻辑综合 56
3.1.5测试设计项目 57
3.1.6 RTL图观察器应用 60
3.2硬件功能验证及FPGA开发 60
3.2.1引脚锁定 60
3.2.2编译文件下载 61
3.2.3 JTAG间接编程模式 62
3.2.4 USB-Blaster编程配置器件使用方法 63
3.3电路原理图设计流程 64
3.4利用属性表述实现引脚锁定 66
3.5 keep属性应用 67
3.6 SignalProbe使用方法 69
3.7宏模块逻辑功能查询 70
习题 71
EDA实验 72
3-1多路选择器设计实验 72
3-2 8位加法器设计实验 72
3-3十六进制7段数码显示译码器设计 72
第4章 时序电路Verilog设计 74
4.1基本时序元件的Verilog表述 74
4.1.1基本D触发器单元及其Verilog表述 74
4.1.2用UDP表述D触发器 75
4.1.3含异步复位和时钟使能的D触发器及其Verilog表述 75
4.1.4含同步复位控制逻辑的D触发器及其Verilog表述 76
4.1.5基本锁存器及其Verilog表述 77
4.1.6含清0控制的锁存器及其Verilog表述 78
4.1.7异步时序电路的Verilog表述特点 79
4.1.8时钟过程表述的特点和规律 80
4.2二进制计数器及其Verilog表述 81
4.2.1简单加法计数器及其Verilog表述 82
4.2.2实用加法计数器设计 82
4.3移位寄存器的Verilog表述与设计 84
4.3.1含同步预置功能的移位寄存器设计 84
4.3.2模式可控的移位寄存器设计 85
4.3.3使用移位操作符设计移位寄存器 86
4.4时序电路硬件设计与仿真示例 86
4.5 SignalTap Ⅱ的使用方法 87
习题 91
EDA实验 92
4-1数字计数器设计实验 92
4-2十六进制7段数码显示译码器设计 94
4-3数码扫描显示电路设计 94
4-4 模可控计数器设计 94
4-5移位寄存器设计 95
4-6串行静态显示控制电路设计 95
4-7应用宏模块设计频率计 96
第5章 逻辑宏功能模块的应用 100
5.1计数器宏模块调用 100
5.1.1计数器模块文本的调用 100
5.1.2计数器模块程序与参数传递语句 101
5.1.3对计数器进行仿真测试 103
5.2利用属性设置控制乘法器的构建 104
5.3 RAM宏模块的使用方法 105
5.3.1存储器初始化文件 105
5.3.2 RAM宏模块的设置和调用 107
5.3.3仿真测试RAM宏模块 109
5.3.4存储器的Verilog代码描述及初始化文件调用 109
5.3.5存储器设计的结构控制 112
5.4 LPM存储器在系统读写方法 113
5.5嵌入式锁相环使用方法 114
5.6信号在系统测试与控制编辑器用法 117
习题 119
EDA实验与创新实践 119
5-1查表式硬件运算器设计 119
5-2正弦信号发生器设计 121
5-3 DDS正弦信号发生器设计 123
5-4移相信号发生器设计 126
第6章EDA技术深入 128
6.1过程中的两类赋值语句 128
6.1.1未指定延时的阻塞式赋值语句 128
6.1.2指定了延时的阻塞式赋值 129
6.1.3未指定延时的非阻塞式赋值 130
6.1.4指定了延时的非阻塞式赋值 131
6.1.5阻塞与非阻塞式赋值特点的深入讨论 132
6.1.6不同赋值方式的信号赋初值导致不同综合结果 134
6.2过程语句使用深入探讨 135
6.2.1过程语句应用总结 136
6.2.2深入认识不完整条件语句与时序电路的关系 137
6.3更完整地认识if语句 139
6.3.1 if语句的一般表述形式 139
6.3.2关注if语句中的条件指示 141
6.4三态与双向端口设计 142
6.4.1三态控制电路设计 142
6.4.2双向端口设计 143
6.4.3三态总线控制电路设计 144
6.5系统设计优化 146
6.5.1资源优化 146
6.5.2速度优化 149
习题 152
EDA实验与创新实践 154
6-1硬件消抖动电路设计 154
6-2 4×4阵列键盘键信号检测电路设计 155
6-3直流电机综合测控系统设计 156
6-4 VGA彩条信号显示控制电路设计 158
第7章 有限状态机设计技术 162
7.1状态机的一般形式 162
7.1.1状态机的基本结构 162
7.1.2初始控制与表述 165
7.2 Moore型有限状态机 166
7.2.1实用状态机设计示例 167
7.2.2序列检测状态机设计 170
7.3 Mealy型状态机设计 171
7.4不同编码类型状态机 173
7.4.1直接输出型编码 173
7.4.2宏定义语句在状态编码定义中的用法 175
7.4.3宏定义命令语句 176
7.4.4顺序编码型状态机编码 177
7.4.5一位热码编码 177
7.4.6状态编码设置 177
7.5安全状态机设计 179
习题 180
EDA实验与创新实践 181
7-1序列检测器设计 181
7-2 ADC采样控制电路设计 181
7-3数据采集逻辑控制模块设计 182
7-4五功能智能逻辑笔设计 184
7-5 VGA简单图像显示控制模块设计 186
第8章16位实用CPU创新设计 187
8.1 KX9016的结构与特色 187
8.2 KX9016基本硬件系统设计 189
8.2.1单步节拍发生模块 190
8.2.2算术逻辑单元 190
8.2.3比较器COMP 191
8.2.4基本寄存器与寄存器阵列组 191
8.2.5移位器 193
8.2.6程序与数据存储器 194
8.3 KX9016v1指令系统设计 194
8.3.1指令格式 195
8.3.2指令操作码 196
8.3.3软件设计实例 197
8.3.4 KX9016 v1控制器设计 198
8.3.5指令设计实例详解 202
8.4 KX9016的时序仿真与硬件测试 203
8.4.1时序仿真与指令执行波形分析 203
8.4.2 CPU工作情况的硬件测试 205
8.5 KX9016应用程序设计实例和系统优化 207
8.5.1乘法算法及其硬件实现 207
8.5.2除法算法及其硬件实现 208
8.5.3 KX9016v1的硬件系统优化 208
习题 210
EDA实验与创新实践 210
8-1 16位CPU验证性设计综合实验 210
8-2新指令设计及程序测试实验 210
8-3 16位CPU的优化设计与创新 211
8-4 KX9016v1硬件升级CPU创新设计竞赛 212
第9章Verilog语句语法规则补充 213
9.1 Verilog文字规则 213
9.2数据类型 215
9.2.1 net网线类型 215
9.2.2 register寄存器类型 216
9.2.3存储器类型 216
9.3操作符 216
9.4常用语句补充 217
9.4.1 initial过程语句使用示例 217
9.4.2 forever循环语句 218
9.4.3编译指示语句 218
9.4.4任务和函数语句 220
9.5用库元件实现结构描述 222
习题 224
EDA实验与创新实践 224
9-1乐曲硬件演奏电路设计 224
9-2 PS2键盘控制模型电子琴电路设计 228
9-3简易逻辑分析仪设计 230
9-4 SPWM脉宽调制控制系统设计 231
9-5 AM幅度调制信号发生器设计 233
附录A EDA开发系统及相关软件 235
A.1 KX DN5/7系列EDA/SOPC系统 236
A.2部分实验扩展模块简介 237
A.3 MIF文件生成器使用方法 239
参考文献 241