注重体验与质量的电子书资源下载网站
分类于: 其它 计算机基础
简介
目录
目 录
序言一
序言二
前 言
第1章 集成电路设计与HDL / 1
1.1 集成电路设计基础 / 1
1.1.1 集成电路的概念 / 1
1.1.2 IC设计的本质 / 5
1.1.3 IC设计流程 / 9
1.2 Verilog HDL快速入门 / 16
1.2.1 Verilog HDL简介 / 16
1.2.2 Verilog的表达能力 / 17
1.2.3 个Verilog程序:通用加法器 / 18
1.2.4 第二个Verilog程序:多路选择器与运算操作 / 20
1.2.5 第三个Verilog程序:D触发器和多路延迟 / 27
1.2.6 第四个Verilog程序:function与时序电路组合 / 34
1.2.7 第五个Verilog程序:有限状态机 / 47
1.2.8 第六个Verilog程序:写testbench / 64
1.2.9 第七个Verilog程序:SPI总线 / 85
1.2.10 第八个Verilog程序:异步UART / 92
1.2.11 一些有用的Verilog程序 / 99
1.2.12 Verilog不同版本的差异 / 108
1.2.13 Verilog语法小结 / 108
1.3 复杂逻辑模块的设计 / 110
1.3.1 结构化的设计 / 110
1.3.2 数据流的设计 / 114
1.3.3 控制流的设计 / 132
1.3.4 重要接口部件的设计 / 135
1.4 数的表示与基本运算 / 144
1.4.1 数的表示方法 / 145
1.4.2 定点数的计算规则 / 149
1.4.3 定点计算举例 / 149
1.4.4 定点数的移位规则 / 152
1.5 Verilog HDL编程规范 / 155
1.5.1 文档规范 / 156
1.5.2 编程规范 / 156
1.5.3 文件头定义格式 / 156
1.5.4 格式规则 / 157
1.5.5 命名规则 / 157
1.5.6 整体编码规则 / 158
1.5.7 全局信号编码规则 / 166
1.5.8 模块编码规则 / 166
1.5.9 可综合性设计 / 167
1.5.10 可重用设计 / 168
1.5.11 编程规范小结 / 168
1.6 HDL电路设计技巧 / 168
1.6.1 芯片设计的核心目标 / 168
1.6.2 如何提高电路运行速度 / 170
1.6.3 如何降低电路规模(使用面积) / 173
1.6.4 如何优化时序 / 187
总结 / 194
第2章 FPGA设计与进阶 / 195
2.1 FPGA简介 / 196
2.1.1 FPGA功能强大的秘密 / 200
2.1.2 FPGA具备可编程能力的原因 / 201
2.1.3 其他的FPGA内部单元 / 205
2.1.4 FPGA的应用方向 / 205
2.1.5 FPGA的设计流程 / 207
2.1.6 FPGA的层次提升 / 217
2.2 FPGA与ASIC的差异 / 220
2.3 FPGA的基本构成 / 221
2.3.1 FPGA的RAM资源 / 222
2.3.2 DSP资源 / 232
2.3.3 PLL资源 / 239
2.3.4 I/O引脚资源 / 244
2.4 FPGA的调试 / 251
2.4.1 在线存储器内容编辑工具 / 251
2.4.2 内嵌逻辑分析仪 / 253
2.4.3 虚拟JTAG / 260
2.4.4 LogicLock / 267
2.4.5 调试设计的指导原则 / 268
2.5 FPGA的设计方法 / 269
2.5.1 FPGA的设计规范 / 270
2.5.2 FPGA的整体结构设计 / 270
2.6 FPGA电路的优化 / 285
2.6.1 整体优化原则 / 287
2.6.2 FPGA优化举例 / 288
2.7 FPGA可综合的概念 / 290
2.7.1 可综合与不可综合的归纳 / 291
2.7.2 always可综合的概念 / 292
2.7.3 有限状态机可综合的概念 / 293
2.7.4 可综合模块举例 / 294
2.8 FPGA设计的注意事项 / 301
2.8.1 外部接口 / 302
2.8.2 时钟电路 / 302
2.8.3 复位电路 / 305
2.8.4 FPGA的设计规则 / 307
附录 开发流程与应用环境快速搭建 / 310
总结 / 338
第3章 通信系统基础部件设计 / 339
3.1 通信模型的构架 / 340
3.1.1 通信电路的组成结构 / 340
3.1.2 常见的算法单元模块 / 341
3.2 通信系统的基本算法 / 342
3.3 通信系统芯片设计的基本套路 / 344
3.3.1 芯片设计的整体流程 / 345
3.3.2 需求类别分析 / 345
3.3.3 高速通信芯片的实现方案 / 346
3.3.4 中速通信芯片的实现方案 / 347
3.3.5 低速通信芯片的实现方案 / 349
3.3.6 传统终端基带芯片的实现方案 / 350
3.4 数字滤波器设计 / 352
3.4.1 FIR滤波器的基本概念 / 352
3.4.2 FIR滤波器的基本硬件实现 / 354
3.4.3 FIR滤波器硬件实现结构概述 / 357
3.4.4 基于分布式算法的FIR滤波器 / 366
3.4.5 IIR滤波器设计 / 373
3.4.6 滤波器设计中的量化问题 / 376
3.4.7 数字滤波器的扩展应用——相关 / 385
3.5 FFT原理与硬件设计 / 389
3.5.1 概述 / 389
3.5.2 FFT算法概述 / 392
3.5.3 FFT实现面临的问题 / 396
3.5.4 FFT硬件实现方案 / 398
3.5.5 适用于WLAN发射机的64点FFT设计 / 404
3.5.6 适用于WLAN接收机的64点FFT设计 / 411
3.5.7 FFT与FIR的关系 / 414
3.5.8 离散余弦变换 / 415
3.6 CORDIC算法 / 418
3.6.1 CORDIC简介 / 418
3.6.2 一个求角度反正切的例子 / 419
3.6.3 CORDIC算法原理 / 422
3.6.4 CORDIC通用算法原理 / 424
3.6.5 CORDIC算法的硬件实现结构 / 426
3.7 NCO与DDS / 432
3.7.1 NCO与DDS简介 / 432
3.7.2 NCO设计原理 / 432
3.7.3 NCO硬件设计 / 434
3.7.4 DDS硬件设计 / 435
3.7.5 DDS实现通信调制 / 437
3.8 数字信号处理的集成案例1:数字中频 / 439
3.8.1 概述 / 439
3.8.2 数字下变频 / 440
3.8.3 数字上变频 / 457
3.8.4 数字上下变频的系统级设计 / 461
3.8.5 数字中频的各种设计案例 / 468
3.9 数字信号处理的集成案例2:FM收音机 / 482
3.9.1 FM收音机原理 / 483
3.9.2 FM收音机的解调思路 / 485
3.9.3 FM的中频处理 / 486
3.9.4 FM单声道收音机的ESL设计 / 491
3.9.5 FM立体声收音机的硬件实现 / 493
3.9.6 FM收音机相关的一些话题 / 499
附录 数字信号处理算法实现的部分技巧 / 505
总结 / 519
第4章 通信系统的信道编解码 / 520
4.1 通信编解码的基本框架 / 521
4.1.1 编码的基础知识 / 521
4.1.2 编码的几个基本概念 / 522
4.1.3 信道编码间的关系 / 523
4.1.4 级联码 / 523
4.1.5 逼近容量极限的编码 / 524
4.1.6 信道编解码芯片实现的基本套路 / 525
4.2 8B/10B编码与译码 / 525
4.2.1 8B/10B编码过程 / 526
4.2.2 8B/10B解码过程 / 530
4.2.3 8B/10B编码与解码的Verilog实现 / 531
4.3 有限域的运算基础 / 534
4.3.1 有限域的基本概念 / 535
4.3.2 有限域多项式的运算规则 / 536
4.3.3 GF(2)域的多项式运算 / 538
4.3.4 适合硬件实现的有限域运算方法 / 539
4.4 CRC冗余校验码简介 / 547
4.4.1 CRC算法的基本原理 / 548
4.4.2 几个基本概念 / 549
4.4.3 CRC算法实现 / 550
4.5 RS码 / 555
4.5.1 RS的编码算法 / 556
4.5.2 RS的译码算法 / 560
4.6 BCH码 / 579
4.6.1 BCH编码 / 580
4.6.2 BCH译码方法简介 / 582
4.7 卷积码简介 / 585
4.7.1 卷积码的相关概念 / 585
4.7.2 卷积码编码通用表述 / 585
4.7.3 卷积码的变形以及特殊处理 / 589
4.7.4 卷积码的译码原理 / 590
4.7.5 Viterbi译码的硬件实现 / 604
4.7.6 Viterbi的引申话题 / 606
4.8 信道编解码集成案例 / 609
4.8.1 编码方案 / 609
4.8.2 整体编码流程 / 610
4.8.3 硬件方案的整体概述 / 612
4.8.4 信道编码 / 618
4.8.5 信道解码 / 626
4.8.6 芯片实现中的几个关键问题 / 634
总结 / 644
序言一
序言二
前 言
第1章 集成电路设计与HDL / 1
1.1 集成电路设计基础 / 1
1.1.1 集成电路的概念 / 1
1.1.2 IC设计的本质 / 5
1.1.3 IC设计流程 / 9
1.2 Verilog HDL快速入门 / 16
1.2.1 Verilog HDL简介 / 16
1.2.2 Verilog的表达能力 / 17
1.2.3 个Verilog程序:通用加法器 / 18
1.2.4 第二个Verilog程序:多路选择器与运算操作 / 20
1.2.5 第三个Verilog程序:D触发器和多路延迟 / 27
1.2.6 第四个Verilog程序:function与时序电路组合 / 34
1.2.7 第五个Verilog程序:有限状态机 / 47
1.2.8 第六个Verilog程序:写testbench / 64
1.2.9 第七个Verilog程序:SPI总线 / 85
1.2.10 第八个Verilog程序:异步UART / 92
1.2.11 一些有用的Verilog程序 / 99
1.2.12 Verilog不同版本的差异 / 108
1.2.13 Verilog语法小结 / 108
1.3 复杂逻辑模块的设计 / 110
1.3.1 结构化的设计 / 110
1.3.2 数据流的设计 / 114
1.3.3 控制流的设计 / 132
1.3.4 重要接口部件的设计 / 135
1.4 数的表示与基本运算 / 144
1.4.1 数的表示方法 / 145
1.4.2 定点数的计算规则 / 149
1.4.3 定点计算举例 / 149
1.4.4 定点数的移位规则 / 152
1.5 Verilog HDL编程规范 / 155
1.5.1 文档规范 / 156
1.5.2 编程规范 / 156
1.5.3 文件头定义格式 / 156
1.5.4 格式规则 / 157
1.5.5 命名规则 / 157
1.5.6 整体编码规则 / 158
1.5.7 全局信号编码规则 / 166
1.5.8 模块编码规则 / 166
1.5.9 可综合性设计 / 167
1.5.10 可重用设计 / 168
1.5.11 编程规范小结 / 168
1.6 HDL电路设计技巧 / 168
1.6.1 芯片设计的核心目标 / 168
1.6.2 如何提高电路运行速度 / 170
1.6.3 如何降低电路规模(使用面积) / 173
1.6.4 如何优化时序 / 187
总结 / 194
第2章 FPGA设计与进阶 / 195
2.1 FPGA简介 / 196
2.1.1 FPGA功能强大的秘密 / 200
2.1.2 FPGA具备可编程能力的原因 / 201
2.1.3 其他的FPGA内部单元 / 205
2.1.4 FPGA的应用方向 / 205
2.1.5 FPGA的设计流程 / 207
2.1.6 FPGA的层次提升 / 217
2.2 FPGA与ASIC的差异 / 220
2.3 FPGA的基本构成 / 221
2.3.1 FPGA的RAM资源 / 222
2.3.2 DSP资源 / 232
2.3.3 PLL资源 / 239
2.3.4 I/O引脚资源 / 244
2.4 FPGA的调试 / 251
2.4.1 在线存储器内容编辑工具 / 251
2.4.2 内嵌逻辑分析仪 / 253
2.4.3 虚拟JTAG / 260
2.4.4 LogicLock / 267
2.4.5 调试设计的指导原则 / 268
2.5 FPGA的设计方法 / 269
2.5.1 FPGA的设计规范 / 270
2.5.2 FPGA的整体结构设计 / 270
2.6 FPGA电路的优化 / 285
2.6.1 整体优化原则 / 287
2.6.2 FPGA优化举例 / 288
2.7 FPGA可综合的概念 / 290
2.7.1 可综合与不可综合的归纳 / 291
2.7.2 always可综合的概念 / 292
2.7.3 有限状态机可综合的概念 / 293
2.7.4 可综合模块举例 / 294
2.8 FPGA设计的注意事项 / 301
2.8.1 外部接口 / 302
2.8.2 时钟电路 / 302
2.8.3 复位电路 / 305
2.8.4 FPGA的设计规则 / 307
附录 开发流程与应用环境快速搭建 / 310
总结 / 338
第3章 通信系统基础部件设计 / 339
3.1 通信模型的构架 / 340
3.1.1 通信电路的组成结构 / 340
3.1.2 常见的算法单元模块 / 341
3.2 通信系统的基本算法 / 342
3.3 通信系统芯片设计的基本套路 / 344
3.3.1 芯片设计的整体流程 / 345
3.3.2 需求类别分析 / 345
3.3.3 高速通信芯片的实现方案 / 346
3.3.4 中速通信芯片的实现方案 / 347
3.3.5 低速通信芯片的实现方案 / 349
3.3.6 传统终端基带芯片的实现方案 / 350
3.4 数字滤波器设计 / 352
3.4.1 FIR滤波器的基本概念 / 352
3.4.2 FIR滤波器的基本硬件实现 / 354
3.4.3 FIR滤波器硬件实现结构概述 / 357
3.4.4 基于分布式算法的FIR滤波器 / 366
3.4.5 IIR滤波器设计 / 373
3.4.6 滤波器设计中的量化问题 / 376
3.4.7 数字滤波器的扩展应用——相关 / 385
3.5 FFT原理与硬件设计 / 389
3.5.1 概述 / 389
3.5.2 FFT算法概述 / 392
3.5.3 FFT实现面临的问题 / 396
3.5.4 FFT硬件实现方案 / 398
3.5.5 适用于WLAN发射机的64点FFT设计 / 404
3.5.6 适用于WLAN接收机的64点FFT设计 / 411
3.5.7 FFT与FIR的关系 / 414
3.5.8 离散余弦变换 / 415
3.6 CORDIC算法 / 418
3.6.1 CORDIC简介 / 418
3.6.2 一个求角度反正切的例子 / 419
3.6.3 CORDIC算法原理 / 422
3.6.4 CORDIC通用算法原理 / 424
3.6.5 CORDIC算法的硬件实现结构 / 426
3.7 NCO与DDS / 432
3.7.1 NCO与DDS简介 / 432
3.7.2 NCO设计原理 / 432
3.7.3 NCO硬件设计 / 434
3.7.4 DDS硬件设计 / 435
3.7.5 DDS实现通信调制 / 437
3.8 数字信号处理的集成案例1:数字中频 / 439
3.8.1 概述 / 439
3.8.2 数字下变频 / 440
3.8.3 数字上变频 / 457
3.8.4 数字上下变频的系统级设计 / 461
3.8.5 数字中频的各种设计案例 / 468
3.9 数字信号处理的集成案例2:FM收音机 / 482
3.9.1 FM收音机原理 / 483
3.9.2 FM收音机的解调思路 / 485
3.9.3 FM的中频处理 / 486
3.9.4 FM单声道收音机的ESL设计 / 491
3.9.5 FM立体声收音机的硬件实现 / 493
3.9.6 FM收音机相关的一些话题 / 499
附录 数字信号处理算法实现的部分技巧 / 505
总结 / 519
第4章 通信系统的信道编解码 / 520
4.1 通信编解码的基本框架 / 521
4.1.1 编码的基础知识 / 521
4.1.2 编码的几个基本概念 / 522
4.1.3 信道编码间的关系 / 523
4.1.4 级联码 / 523
4.1.5 逼近容量极限的编码 / 524
4.1.6 信道编解码芯片实现的基本套路 / 525
4.2 8B/10B编码与译码 / 525
4.2.1 8B/10B编码过程 / 526
4.2.2 8B/10B解码过程 / 530
4.2.3 8B/10B编码与解码的Verilog实现 / 531
4.3 有限域的运算基础 / 534
4.3.1 有限域的基本概念 / 535
4.3.2 有限域多项式的运算规则 / 536
4.3.3 GF(2)域的多项式运算 / 538
4.3.4 适合硬件实现的有限域运算方法 / 539
4.4 CRC冗余校验码简介 / 547
4.4.1 CRC算法的基本原理 / 548
4.4.2 几个基本概念 / 549
4.4.3 CRC算法实现 / 550
4.5 RS码 / 555
4.5.1 RS的编码算法 / 556
4.5.2 RS的译码算法 / 560
4.6 BCH码 / 579
4.6.1 BCH编码 / 580
4.6.2 BCH译码方法简介 / 582
4.7 卷积码简介 / 585
4.7.1 卷积码的相关概念 / 585
4.7.2 卷积码编码通用表述 / 585
4.7.3 卷积码的变形以及特殊处理 / 589
4.7.4 卷积码的译码原理 / 590
4.7.5 Viterbi译码的硬件实现 / 604
4.7.6 Viterbi的引申话题 / 606
4.8 信道编解码集成案例 / 609
4.8.1 编码方案 / 609
4.8.2 整体编码流程 / 610
4.8.3 硬件方案的整体概述 / 612
4.8.4 信道编码 / 618
4.8.5 信道解码 / 626
4.8.6 芯片实现中的几个关键问题 / 634
总结 / 644