第1章 数字系统设计概述 1
1.1 数字系统的基本概念 1
1.2 数字系统的设计方法 4
1.2.1 三类常用芯片 4
1.2.2 数字系统的设计过程 5
1.3 EDA技术基础 7
1.3.1 硬件描述语言HDL 8
1.3.2 EDA软件开发工具 10
1.3.3 EDA芯片的设计开发流程 11
习题 12
第2章 数字技术基础 13
2.1 数制与编码 13
2.1.1 进位计数制 13
2.1.2 数制转换 15
2.1.3 几种常用的编码 17
2.2 逻辑代数 20
2.2.1 基本逻辑运算 20
2.2.2 复合逻辑运算 23
2.2.3 逻辑函数 27
2.2.4 逻辑代数的基本定律、公式和规则 30
2.2.5 逻辑函数的标准形式 32
2.3 逻辑函数的化简 35
2.3.1 代数法化简逻辑函数 36
2.3.2 卡诺图法(图解法)化简逻辑函数 38
2.3.3 含有任意项的逻辑函数化简 46
2.4 逻辑门电路 48
2.4.1 概述 48
2.4.2 TTL集成逻辑门 52
2.4.3 CMOS电路 60
习题 66
第3章 Verilog HDL的基本语法 70
3.1 Verilog HDL程序的基本结构 70
3.1.1 模块端口定义 70
3.1.2 模块内容 71
3.2 Verilog HDL的数据类型 72
3.2.1 常量 72
3.2.2 变量 74
3.3 Verilog HDL的运算符 76
3.4 Verilog HDL的基本语句 80
3.4.1 赋值语句 80
3.4.2 条件语句 82
3.4.3 循环语句 83
3.4.4 结构声明语句 85
3.4.5 编译预处理语句 89
3.5 模块化程序设计 91
习题 93
第4章 组合逻辑电路 94
4.1 组合逻辑电路概述 94
4.2 组合逻辑电路分析 94
4.2.1 组合逻辑电路分析方法 94
4.2.2 简单组合逻辑电路分析举例 95
4.3 组合逻辑电路设计 97
4.3.1 用中小规模集成电路设计组合逻辑电路 98
4.3.2 用Verilog HDL设计组合逻辑电路的方法 98
4.3.3 组合逻辑电路设计举例 100
4.4 常用组合逻辑电路 108
4.4.1 加法器 108
4.4.2 编码器 113
4.4.3 译码器 119
4.4.4 数据选择器和数据分配器 131
4.4.5 数值比较器 140
4.4.6 奇偶产生/校验电路 144
4.5 组合电路中的竞争与险象 148
4.5.1 竞争与险象的概念 148
4.5.2 险象分类 149
4.5.3 险象的判别 151
4.5.4 险象的消除 152
习题 153
第5章 时序逻辑电路 157
5.1 概述 157
5.1.1 时序逻辑电路的特点 157
5.1.2 时序逻辑电路的分类 158
5.2 集成触发器 158
5.2.1 触发器的工作原理 159
5.2.2 常用触发器 163
5.2.3 各种类型触发器的相互转换 176
5.3 时序逻辑电路分析 178
5.3.1 同步时序逻辑电路分析 179
5.3.2 异步时序逻辑电路分析 182
5.4 时序逻辑电路的设计方法 185
5.4.1 同步时序逻辑电路的传统设计方法 186
5.4.2 异步时序逻辑电路的传统设计方法 200
5.4.3 用Verilog HDL描述时序逻辑电路 203
5.5 常用时序电路及其应用 209
5.5.1 计数器 209
5.5.2 寄存器 230
习题 249
第6章 可编程逻辑器件 254
6.1 概述 254
6.1.1 可编程逻辑器件的概念 254
6.1.2 可编程逻辑器件的发展历程 255
6.1.3 可编程逻辑器件的分类 256
6.2 PLD的编程元件 257
6.2.1 熔丝型开关 257
6.2.2 浮栅型编程元件 258
6.2.3 SRAM编程元件 261
6.3 简单PLD的原理与结构 262
6.3.1 PLD的阵列图符号 262
6.3.2 可编程逻辑阵列PLA 264
6.3.3 可编程阵列逻辑PAL 265
6.3.4 通用阵列逻辑GAL 267
6.4 复杂可编程逻辑器件CPLD 269
6.4.1 CPLD的原理与结构 269
6.4.2 CPLD器件实例 270
6.5 现场可编程门阵列FPGA 275
6.5.1 FPGA的原理与结构 275
6.5.2 FPGA器件实例 277
6.6 CPLD和FPGA的编程 286
6.6.1 在系统可编程技术 286
6.6.2 JTAG边界扫描测试技术 288
习题 292
第7章 Verilog综合设计实例 294
7.1 分频器的设计 294
7.1.1 偶数分频器 294
7.1.2 奇数分频器 298
7.1.3 半整数分频器 302
7.2 乐曲播放器 304
7.2.1 时钟信号发生器模块 305
7.2.2 音频产生器模块 306
7.2.3 乐曲存储模块 309
7.2.4 乐曲控制模块 317
7.2.5 乐曲播放器顶层模块 318
7.3 电子表 319
7.3.1 时钟调校及计时模块 319
7.3.2 整数分频模块 322
7.3.3 时钟信号选择模块 323
7.3.4 七段显示模块 324
7.3.5 顶层模块的实现 326
7.4 VGA控制器 326
7.4.1 VGA显示原理 326
7.4.2 VGA控制信号发生器 329
7.4.3 像素点RGB数据输出模块 341
7.4.4 顶层模块的设计与实现 342
7.4.5 RGB模拟信号的产生 344
7.5 简单模型机设计 344
7.5.1 指令系统设计 344
7.5.2 数据通路设计 349
7.5.3 系统各功能模块设计 351
7.5.4 指令时序设计 361
7.5.5 控制器设计 365
习题 378
第8章 QuartusⅡ开发平台简介 379
8.1 QuartusⅡ开发环境的建立 379
8.1.1 软件的安装 379
8.1.2 驱动程序安装 380
8.2 QuartusⅡ设计流程与步骤 381
8.2.1 创建工程 381
8.2.2 设计输入 385
8.2.3 编译设计文件 389
8.2.4 仿真 390
8.2.5 引脚分配 394
8.2.6 下载验证 395
8.2.7 对配置器件编程 396
习题 397
参考文献 398