书籍详情
现代数字电路设计与实践
作者:陆广 著
出版社:北京航空航天大学出版社
出版时间:2020-01-01
ISBN:9787512431140
定价:¥145.00
购买这本书可以去
内容简介
本书介绍摩尔周期时代的数字电路基础理论及其设计方法,并给出几个采用现代理论和工具的FPGA设计例子。基础理论部分介绍一些重要且又新颖的观点、理论和方法,包括基于有限自动机基础理论、同步电路基础理论以及硬件描述语言的综合理论。设计实例给出一个精简指令集CPU 的“造芯”例子,一个直接序列扩频通信的完整设计例子和一个数字图像中值滤波处理的完整设计例子。 本书适合数字电子专业的现场工程师和高等学校学生作为参考或教程。
作者简介
陆广,原北京北方格林电子技术有限责任公司总经理,高级工程师,现为北京至芯(Intel/Altera全球培训合作伙伴)首席教师。
目录
第1章 现代数字电路设计导论 1
1.1 硬件平台 1
1.2 软件平台 17
第2章 现代数字电路基础 22
2.1 基本逻辑门和CMOS电路 22
2.1.1 反相器和CMOS电路 23
2.1.2 基本逻辑单元 26
2.2 输入和输出 30
2.2.1 端口I/O标准 30
2.2.2 逻辑值和噪声容限 39
2.2.3 漏极开路输出(OD)和集电极开路输出(OC) 40
2.2.4 端口的上拉和下拉电阻 41
2.3 布尔代数 45
2.3.1 基础知识 45
2.3.2 德摩根定律 48
2.3.3 异或逻辑 48
2.3.4 香农扩展 50
2.3.5 布尔空间 50
2.3.6 积之和与和之积以及非全配逻辑 53
2.3.7 逻辑化简 55
2.4 习 题 81
2.5 参考文献 83
第3章 硬件描述语言入门 84
3.1 数字电子设计概述 84
3.2 硬件描述语言 87
3.3 自上而下和层次化 96
3.4 数据流—行为—结构化 106
3.4.1 组合逻辑例一:二选一多路器的数据流描述 107
3.4.2 组合逻辑例二:二选一多路器的行为描述 109
3.4.3 组合逻辑例三:二选一多路器的结构化描述 112
3.4.4 时序逻辑例一:锁存器和触发器的结构化描述 115
3.4.5 时序逻辑例二:锁存器和触发器的行为描述 121
3.5 信号延迟 125
3.6 内部信号 128
3.7 可定参设计 132
3.8 数据类型 136
3.9 代码模型分析 147
3.9.1 代码模型分析例一:七段数码管驱动电路和Verilog显式建模 148
3.9.2 代码模型分析例二:七段数码管驱动电路和VHDL显式建模 156
3.10 顺序框架 166
3.11 循环框架和循环语句 171
3.12 验 证 180
3.12.1 验证的理论和方法 180
3.12.2 验证工具和操作流程 181
3.13 习 题 188
3.14 参考文献 191
第4章 有限状态机 193
4.1 有限状态机理论 193
4.2 有限状态机中的同步电路背景知识 197
4.3 有限状态机的编码描述 198
4.3.1 有限状态机的一段式描述 199
4.3.2 有限状态机的二段式描述 200
4.3.3 有限状态机的三段式描述 201
4.4 状态转移图 203
4.5 有限状态机设计例子:参数可定制分频器 208
4.5.1 基于转移观点的FSM_1S编码米利机设计方案 209
4.5.2 基于状态观点的FSM_1S编码米利机设计方案 212
4.5.3 基于转移观点的FSM_3S编码米利机设计方案 216
4.5.4 基于转移观点的FSM_2S编码米利机外置计数方案 220
4.5.5 基于状态观点的FSM_2S编码米利机外置计数方案 223
4.5.6 基于转移观点的FSM_1S编码米利机外置计数方案 227
4.5.7 基于转移观点的FSM_1S编码摩尔机外置计数方案 231
4.6 有限状态机设计例子:自动售货机 235
4.6.1 采用CN_Mealy_EBD方案的设计例子 236
4.6.2 采用CN_Mealy_NBD方案的设计例子 241
4.6.3 采用CN_Moore_NBD方案的设计例子 244
4.6.4 采用ON_Mealy_NBD方案的设计例子 246
4.6.5 采用ON_Moore_NBD方案的设计例子 249
4.7 多种方案的总结 251
4.8 状态转移表(键盘去抖电路设计例子) 253
4.9 算法机和算法流程图 259
4.10 线性序列机 265
4.10.1 线性序列机例子:周期信号发生器 269
4.10.2 线性序列机例子:LPM 分频器 271
4.10.3 线性序列机例子:UART接收器 273
4.11 习 题 277
4.12 参考文献 280
第5章 同步电路基础 281
5.1 同步电路的概念 281
5.1.1 提高速度 281
5.1.2 避免毛刺 284
5.2 激励和响应 284
5.3 同步机制 286
5.4 同步翻转噪声和功耗 287
5.5 时钟偏斜和时钟抖动 288
5.6 同步电路的节点 289
5.6.1 使用行为语句描述节点 290
5.6.2 闭节点 291
5.6.3 开节点 292
5.6.4 空节点 292
5.6.5 节点的等效 293
5.7 同步信号 301
5.8 同步电路的离散信号分析 302
5.8.1 原则和概念 303
5.8.2 应用例子 304
5.8.3 使用节拍流程图进行节拍分析 308
5.8.4 单拍矢量的闭节点分析和零拍矢量的开节点分析 312
5.8.5 节拍间隔控制 320
5.8.6 使用TPS的设计例子:脉冲宽度调制器 335
5.9 同步电路的连续信号分析 351
5.9.1 节点中的电平敏感逻辑与工作速度的关系 351
5.9.2 节点中的寄存器与工作速度的关系 352
5.9.3 时序设计概述 353
5.9.4 约会谜题和静态时序定律 355
5.9.5 静态时序分析 358
5.9.6 节点的时钟输出延迟tco 358
5.9.7 基于节点的最短周期与最高频率 360
5.9.8 基于节点的建立时间tsu 和保持时间th 361
5.9.9 时序检查 362
5.9.10 相同时钟域的时序检查 363
5.9.11 相关时钟域的时序检查 381
5.9.12 无关时钟域和亚稳定性 385
5.10 使用TimeQuest的时序检查和时序约束 400
5.11 流水线设计 409
5.11.1 流水线的均衡 412
5.11.2 流水线的设计方法 413
5.11.3 流水线设计的例子:流水线加法器 415
5.12 习 题 419
5.13 参考文献 422
第6章 数字逻辑通信 423
6.1 基本概念 424
6.2 流传输 426
6.2.1 无反制的流式传输 427
6.2.2 具有反制功能的流式传输(SAB,SFB,SPB) 430
6.2.3 下游主动反制模式 432
6.2.4 下游快速反制模式 450
6.3 主从传输 468
6.3.1 从机请求等待模式 470
6.3.2 从机数据完成模式 486
6.4 习 题 509
6.5 参考文献 510
第7章 可综合性编码 511
7.1 编写综合友好的代码 511
7.2 并发语句和顺序语句的可综合性 512
7.3 循环语句的可综合性 拾'3515
7.4 行为语句的可综合性 520
7.5 条件语句的可综合性 523
7.6 锁存器和开节点 531
7.7 状态机的可综合性 536
7.7.1 显式米利状态机设计例子:曼彻斯特编码器 539
7.7.2 显式摩尔状态机设计例子:曼彻斯特编码器 542
7.8 Verilog的阻塞赋值和非阻塞赋值 546
7.9 参考文献 552
第8章 开漏输出和I2C控制器设计实践 554
8.1 线与驱动和开漏输出 554
8.2 基于开漏输出和线与的验证 557
8.3 I2C的命令 558
8.3.1 启动命令 558
8.3.2 停止命令 558
8.3.3 读命令 558
8.3.4 写命令 559
8.4 具有开漏输出的I2C控制器设计 559
8.4.1 设计需求 559
8.4.2 顶层设计(主机驱动器) 561
8.4.3 顶层架构(含开漏和驱动源) 561
8.4.4 开漏驱动源设计 562
8.4.5 开漏驱动源的验证 571
8.5 应用例子 573
8.5.1 顶层设计 573
8.5.2 具有开漏驱动源的顶层架构 574
8.5.3 设计例子中主控制器的状态转移图和验证 576
第9章 精简指令集CPU设计实践 578
9.1 分段序列机和控制的管理模式 578
9.2 需求和指令 579
9.3 顶层设计和顶层架构 581
9.4 中断设计和系统层次结构 582
9.5 RISC_SPM 的数据通道设计 585
9.5.1 通用寄存器模块reg_model 585
9.5.2 存储器模块mem_model 586
9.5.3 程序指针模块pc_model 586
9.5.4 多路器模块 587
9.5.5 算术逻辑单元模块alu_model 588
9.5.6 零标志寄存器模块z_model 589
9.6 主控制器设计MFSM 589
9.6.1 取指周期 589
9.6.2 运算指令周期 591
9.6.3 读指令周期 593
9.6.4 写指令周期 595
9.6.5 无条件转移指令周期 596
9.6.6 空操作指令周期 5999.6.7 零标志转移指令周期 599
9.6.8 端口输出指令周期 600
9.6.9 立即数指令周期 601
9.6.10 中断返回指令周期 603
9.6.11 中断进入周期 604
9.6.12 基于PSM 的状态转移图 605
9.7 测试程序一:简单的循环 606
9.7.1 程序流程框图和数据区 606
9.7.2 手编机器码表 607
9.7.3 测试程序TXT文件 607
9.7.4 测试平台和仿真波形 608
9.8 测试程序二:流水灯程序 609
9.8.1 程序流程框图和数据区 610
9.8.2 手编机器码表 610
9.8.3 测试程序TXT文件 612
9.8.4 测试平台和仿真波形 613
9.9 测试程序三:Fibonacci序列中断 614
9.9.1 程序流程框图和数据区 614
9.9.2 手编机器码表 614
9.9.3 测试程序TXT文件 616
9.9.4 测试平台和仿真波形 616
9.10 参考文献 618
第10章 数字扩频通信设计实践 619
10.1 理解扩频和直接序列扩频 620
10.2 线性反馈移位寄存器的M 序列 624
10.3 汉明码和汉明码编译码器 628
10.4 最小二乘法判决和解扩 634
10.5 串行通信收发器的管理架构 636
10.6 串行通信的同步 637
10.6.1 串行通信的比特位同步 638
10.6.2 帧同步 639
10.6.3 串行通信的串并转换 640
10.7 直接扩频收发器的流式管理架构实践 641
10.7.1 帧格式设计 641
10.7.2 发送器设计 642
10.7.3 接收器设计 652
10.7.4 收发器的ABV验证 673
10.8 参考文献 680
第11章 数字图像中值滤波的设计实践 681
11.1 概念和方法 682
11.2 流水线吞吐量 684
11.3 中值滤波器的架构设计 685
11.3.1 顶层设计 685
11.3.2 顶层架构设计 686
11.3.3 中值算法的硬件实现 689
11.3.4 中值计算流水线 696
11.3.5 地址发生器 698
11.4 节拍分析 699
11.4.1 地址发生器信号节拍分析 701
11.4.2 行缓冲器和流水线缓冲器的信号节拍分析 701
11.4.3 计算阵列信号节拍分析 701
11.4.4 中值计算信号节拍分析 703
11.4.5 目标字装配寄存器信号节拍分析 703
11.4.6 边界设置信号节拍分析 704
11.4.7 存储器写入信号节拍分析 704
11.4.8 信号冲突检查 705
11.5 控制器设计 706
11.6 中值滤波器的可视化验证 711
11.6.1 中值滤波器的可视化验证平台 712
11.6.2 源图像的Photoshop处理 713
11.6.3 使用MATLAB的M 函数处理 718
11.6.4 源图像加噪并转换为TXT文件 719
11.6.5 通过仿真得到硬件处理的目标图像数据文件 720
11.6.6 显示硬件仿真得到的目标图像 721
11.7 参考文献 725
附 录 726
附录一 英文缩写对照 726
附录二 电路逻辑符号对照表 731
附录三 代码模型框图/架构图绘制规则 732
1.1 硬件平台 1
1.2 软件平台 17
第2章 现代数字电路基础 22
2.1 基本逻辑门和CMOS电路 22
2.1.1 反相器和CMOS电路 23
2.1.2 基本逻辑单元 26
2.2 输入和输出 30
2.2.1 端口I/O标准 30
2.2.2 逻辑值和噪声容限 39
2.2.3 漏极开路输出(OD)和集电极开路输出(OC) 40
2.2.4 端口的上拉和下拉电阻 41
2.3 布尔代数 45
2.3.1 基础知识 45
2.3.2 德摩根定律 48
2.3.3 异或逻辑 48
2.3.4 香农扩展 50
2.3.5 布尔空间 50
2.3.6 积之和与和之积以及非全配逻辑 53
2.3.7 逻辑化简 55
2.4 习 题 81
2.5 参考文献 83
第3章 硬件描述语言入门 84
3.1 数字电子设计概述 84
3.2 硬件描述语言 87
3.3 自上而下和层次化 96
3.4 数据流—行为—结构化 106
3.4.1 组合逻辑例一:二选一多路器的数据流描述 107
3.4.2 组合逻辑例二:二选一多路器的行为描述 109
3.4.3 组合逻辑例三:二选一多路器的结构化描述 112
3.4.4 时序逻辑例一:锁存器和触发器的结构化描述 115
3.4.5 时序逻辑例二:锁存器和触发器的行为描述 121
3.5 信号延迟 125
3.6 内部信号 128
3.7 可定参设计 132
3.8 数据类型 136
3.9 代码模型分析 147
3.9.1 代码模型分析例一:七段数码管驱动电路和Verilog显式建模 148
3.9.2 代码模型分析例二:七段数码管驱动电路和VHDL显式建模 156
3.10 顺序框架 166
3.11 循环框架和循环语句 171
3.12 验 证 180
3.12.1 验证的理论和方法 180
3.12.2 验证工具和操作流程 181
3.13 习 题 188
3.14 参考文献 191
第4章 有限状态机 193
4.1 有限状态机理论 193
4.2 有限状态机中的同步电路背景知识 197
4.3 有限状态机的编码描述 198
4.3.1 有限状态机的一段式描述 199
4.3.2 有限状态机的二段式描述 200
4.3.3 有限状态机的三段式描述 201
4.4 状态转移图 203
4.5 有限状态机设计例子:参数可定制分频器 208
4.5.1 基于转移观点的FSM_1S编码米利机设计方案 209
4.5.2 基于状态观点的FSM_1S编码米利机设计方案 212
4.5.3 基于转移观点的FSM_3S编码米利机设计方案 216
4.5.4 基于转移观点的FSM_2S编码米利机外置计数方案 220
4.5.5 基于状态观点的FSM_2S编码米利机外置计数方案 223
4.5.6 基于转移观点的FSM_1S编码米利机外置计数方案 227
4.5.7 基于转移观点的FSM_1S编码摩尔机外置计数方案 231
4.6 有限状态机设计例子:自动售货机 235
4.6.1 采用CN_Mealy_EBD方案的设计例子 236
4.6.2 采用CN_Mealy_NBD方案的设计例子 241
4.6.3 采用CN_Moore_NBD方案的设计例子 244
4.6.4 采用ON_Mealy_NBD方案的设计例子 246
4.6.5 采用ON_Moore_NBD方案的设计例子 249
4.7 多种方案的总结 251
4.8 状态转移表(键盘去抖电路设计例子) 253
4.9 算法机和算法流程图 259
4.10 线性序列机 265
4.10.1 线性序列机例子:周期信号发生器 269
4.10.2 线性序列机例子:LPM 分频器 271
4.10.3 线性序列机例子:UART接收器 273
4.11 习 题 277
4.12 参考文献 280
第5章 同步电路基础 281
5.1 同步电路的概念 281
5.1.1 提高速度 281
5.1.2 避免毛刺 284
5.2 激励和响应 284
5.3 同步机制 286
5.4 同步翻转噪声和功耗 287
5.5 时钟偏斜和时钟抖动 288
5.6 同步电路的节点 289
5.6.1 使用行为语句描述节点 290
5.6.2 闭节点 291
5.6.3 开节点 292
5.6.4 空节点 292
5.6.5 节点的等效 293
5.7 同步信号 301
5.8 同步电路的离散信号分析 302
5.8.1 原则和概念 303
5.8.2 应用例子 304
5.8.3 使用节拍流程图进行节拍分析 308
5.8.4 单拍矢量的闭节点分析和零拍矢量的开节点分析 312
5.8.5 节拍间隔控制 320
5.8.6 使用TPS的设计例子:脉冲宽度调制器 335
5.9 同步电路的连续信号分析 351
5.9.1 节点中的电平敏感逻辑与工作速度的关系 351
5.9.2 节点中的寄存器与工作速度的关系 352
5.9.3 时序设计概述 353
5.9.4 约会谜题和静态时序定律 355
5.9.5 静态时序分析 358
5.9.6 节点的时钟输出延迟tco 358
5.9.7 基于节点的最短周期与最高频率 360
5.9.8 基于节点的建立时间tsu 和保持时间th 361
5.9.9 时序检查 362
5.9.10 相同时钟域的时序检查 363
5.9.11 相关时钟域的时序检查 381
5.9.12 无关时钟域和亚稳定性 385
5.10 使用TimeQuest的时序检查和时序约束 400
5.11 流水线设计 409
5.11.1 流水线的均衡 412
5.11.2 流水线的设计方法 413
5.11.3 流水线设计的例子:流水线加法器 415
5.12 习 题 419
5.13 参考文献 422
第6章 数字逻辑通信 423
6.1 基本概念 424
6.2 流传输 426
6.2.1 无反制的流式传输 427
6.2.2 具有反制功能的流式传输(SAB,SFB,SPB) 430
6.2.3 下游主动反制模式 432
6.2.4 下游快速反制模式 450
6.3 主从传输 468
6.3.1 从机请求等待模式 470
6.3.2 从机数据完成模式 486
6.4 习 题 509
6.5 参考文献 510
第7章 可综合性编码 511
7.1 编写综合友好的代码 511
7.2 并发语句和顺序语句的可综合性 512
7.3 循环语句的可综合性 拾'3515
7.4 行为语句的可综合性 520
7.5 条件语句的可综合性 523
7.6 锁存器和开节点 531
7.7 状态机的可综合性 536
7.7.1 显式米利状态机设计例子:曼彻斯特编码器 539
7.7.2 显式摩尔状态机设计例子:曼彻斯特编码器 542
7.8 Verilog的阻塞赋值和非阻塞赋值 546
7.9 参考文献 552
第8章 开漏输出和I2C控制器设计实践 554
8.1 线与驱动和开漏输出 554
8.2 基于开漏输出和线与的验证 557
8.3 I2C的命令 558
8.3.1 启动命令 558
8.3.2 停止命令 558
8.3.3 读命令 558
8.3.4 写命令 559
8.4 具有开漏输出的I2C控制器设计 559
8.4.1 设计需求 559
8.4.2 顶层设计(主机驱动器) 561
8.4.3 顶层架构(含开漏和驱动源) 561
8.4.4 开漏驱动源设计 562
8.4.5 开漏驱动源的验证 571
8.5 应用例子 573
8.5.1 顶层设计 573
8.5.2 具有开漏驱动源的顶层架构 574
8.5.3 设计例子中主控制器的状态转移图和验证 576
第9章 精简指令集CPU设计实践 578
9.1 分段序列机和控制的管理模式 578
9.2 需求和指令 579
9.3 顶层设计和顶层架构 581
9.4 中断设计和系统层次结构 582
9.5 RISC_SPM 的数据通道设计 585
9.5.1 通用寄存器模块reg_model 585
9.5.2 存储器模块mem_model 586
9.5.3 程序指针模块pc_model 586
9.5.4 多路器模块 587
9.5.5 算术逻辑单元模块alu_model 588
9.5.6 零标志寄存器模块z_model 589
9.6 主控制器设计MFSM 589
9.6.1 取指周期 589
9.6.2 运算指令周期 591
9.6.3 读指令周期 593
9.6.4 写指令周期 595
9.6.5 无条件转移指令周期 596
9.6.6 空操作指令周期 5999.6.7 零标志转移指令周期 599
9.6.8 端口输出指令周期 600
9.6.9 立即数指令周期 601
9.6.10 中断返回指令周期 603
9.6.11 中断进入周期 604
9.6.12 基于PSM 的状态转移图 605
9.7 测试程序一:简单的循环 606
9.7.1 程序流程框图和数据区 606
9.7.2 手编机器码表 607
9.7.3 测试程序TXT文件 607
9.7.4 测试平台和仿真波形 608
9.8 测试程序二:流水灯程序 609
9.8.1 程序流程框图和数据区 610
9.8.2 手编机器码表 610
9.8.3 测试程序TXT文件 612
9.8.4 测试平台和仿真波形 613
9.9 测试程序三:Fibonacci序列中断 614
9.9.1 程序流程框图和数据区 614
9.9.2 手编机器码表 614
9.9.3 测试程序TXT文件 616
9.9.4 测试平台和仿真波形 616
9.10 参考文献 618
第10章 数字扩频通信设计实践 619
10.1 理解扩频和直接序列扩频 620
10.2 线性反馈移位寄存器的M 序列 624
10.3 汉明码和汉明码编译码器 628
10.4 最小二乘法判决和解扩 634
10.5 串行通信收发器的管理架构 636
10.6 串行通信的同步 637
10.6.1 串行通信的比特位同步 638
10.6.2 帧同步 639
10.6.3 串行通信的串并转换 640
10.7 直接扩频收发器的流式管理架构实践 641
10.7.1 帧格式设计 641
10.7.2 发送器设计 642
10.7.3 接收器设计 652
10.7.4 收发器的ABV验证 673
10.8 参考文献 680
第11章 数字图像中值滤波的设计实践 681
11.1 概念和方法 682
11.2 流水线吞吐量 684
11.3 中值滤波器的架构设计 685
11.3.1 顶层设计 685
11.3.2 顶层架构设计 686
11.3.3 中值算法的硬件实现 689
11.3.4 中值计算流水线 696
11.3.5 地址发生器 698
11.4 节拍分析 699
11.4.1 地址发生器信号节拍分析 701
11.4.2 行缓冲器和流水线缓冲器的信号节拍分析 701
11.4.3 计算阵列信号节拍分析 701
11.4.4 中值计算信号节拍分析 703
11.4.5 目标字装配寄存器信号节拍分析 703
11.4.6 边界设置信号节拍分析 704
11.4.7 存储器写入信号节拍分析 704
11.4.8 信号冲突检查 705
11.5 控制器设计 706
11.6 中值滤波器的可视化验证 711
11.6.1 中值滤波器的可视化验证平台 712
11.6.2 源图像的Photoshop处理 713
11.6.3 使用MATLAB的M 函数处理 718
11.6.4 源图像加噪并转换为TXT文件 719
11.6.5 通过仿真得到硬件处理的目标图像数据文件 720
11.6.6 显示硬件仿真得到的目标图像 721
11.7 参考文献 725
附 录 726
附录一 英文缩写对照 726
附录二 电路逻辑符号对照表 731
附录三 代码模型框图/架构图绘制规则 732
猜您喜欢