Verilog高级数字系统设计技术与实例分析PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(美)KishoreMishra著;乔庐峰等译
- 出 版 社:北京:电子工业出版社
- 出版年份:2018
- ISBN:9787121334832
- 页数:395 页
第1章 绪论 1
第2章 寄存器传输语言(RTL) 2
第3章 可综合的Verilog——用于电路设计 3
3.1什么是Verilog 3
3.2 Verilog的发展历史 3
3.3 Verilog的结构 4
3.4硬件RTL代码的执行 7
3.5 Verilog模块分析 7
3.6 Verilog中的触发器 11
3.6.1带RST复位引脚的触发器 12
3.6.2没有复位引脚的触发器 12
3.7组合逻辑 12
3.7.1 always块语句 12
3.7.2 case和if-else语句 13
3.7 3赋值语句 14
3.8 Verilog操作符 14
3.8.1操作符描述 14
3.8.2操作符的执行顺序 20
3.8.3 Verilog中的注释 20
3.9可重用和模块化设计 21
3.9.1参数化设计 21
3.9.2 Verilog函数 23
3.9.3 Venlog中的generate结构 26
3.9.4 Verilog中的ifdef 27
3.9.5数组、多维数组 29
第4章 用于验证的Verilog语法 30
4.1 Verilog的测试平台 30
4.2 initial语句 30
4.3 Verilog系统任务 31
4.3.1 $finish/$stop 31
4.3.2 $display/$monitor 31
4.3.3 $time,$realtime 32
4.3.4 $random/$random(seed) 33
4.3.5 $save 35
4.3.6 $readmemh/$writememh 35
4.3.7 $fopen/$fclose 36
4.4任务 37
4.5存储器建模 37
4.6其他Verilog语法结构 39
4.6.1 while循环 39
4.6.2 for循环、repeat 39
4.6.3 force/release 40
4.6.4 fork/join 40
4.7一个简单的testbench 41
第5章 数字电路设计——初级篇 46
5.1组合逻辑门 46
5.1.1逻辑1和逻辑0 46
5.1.2真值表 46
5.1.3晶体管 47
5.1.4反相器 47
5.1.5与门 48
5.1.6或门 49
5.1.7与非门 49
5.1.8或非门 49
5.1.9 XOR(异或)、XNOR(异或非) 49
5.1.10缓冲门 50
5.1.11复用器 50
5.1.12通用逻辑门——NAND、 NOR 52
5.1.13复杂门电路 52
5.1.14噪声容限 53
5.1.15扇入和扇出 54
5.2德摩根定理 55
5.3通用D触发器 56
5.3.1 D触发器时序图 56
5.4建立和保持时间 57
5.4.1建立时间 57
5.4.2保持时间 57
5.4.3亚稳态 58
5.5单比特信号同步 58
5.5.1两个触发器构成的同步器 58
5.5.2信号同步规则 59
5.6关于时序 60
5.7事件/边沿检测 62
5.7.1同步上升沿检测 62
5.7.2同步下降沿检测 63
5.7.3同步上升/下降沿检测 63
5.7.4异步输入上升沿检测 64
5.8数值系统 64
5.8.1十进制数值系统 64
5.8.2二进制数 66
5.8.3十进制数到二进制数的转换 66
5.8.4十六进制数值系统 67
5.8.5十六进制数和二进制数的转换 67
5.9加法和减法 68
5.9.1行波进位加法器 68
5.9.2超前进位加法 69
5.9.3累加器 69
5.10乘和除 70
5.10.1乘以一个常数 70
5.10.2除以常数(2的整数次幂) 71
5.11计数器 71
5.11.1加法/减法计数器 71
5.11.2 LFSR(线性反馈移位寄存器)计数器 73
第6章 数字设计———基础模块 75
6.1 LFSR 75
6.1.1引言 75
6.1.2斐波那契 LFSR与伽罗瓦LFSR 75
6.1.3 LFSR反馈多项式 76
6.1.4 LFSR的用法 77
6.2扰码与解扰 77
6.2.1什么是扰码与解扰 77
6.2.2扰码的作用 78
6.2.3串行扰码器 78
6.2.4并行扰码器 78
6.2.5扰码电路设计要点 79
6.2.6 PCIe扰码电路 79
6.2.7 Verilog RTL-PCIe扰码器 80
6.3检错与纠错 82
6.3.1检错 82
6.3.2错误纠正 82
6.3.3纠错编码 83
6.3.4汉明码 84
6.3.5汉明码应用举例——DDR ECC 86
6.3.6 BCH编码 87
6.3.7里德-所罗门编码 87
6.3.8 LDPC编码 88
6.3.9卷积码 88
6.3.10卷积译码 89
6.3.11软判决与硬判决 90
6.4奇偶校验 90
6.4.1偶校验和奇校验 90
6.4.2奇偶校验位的生成 90
6.4.3奇偶校验的应用 91
6.5 CRC(循环冗余校验) 91
6.5.1 CRC介绍 91
6.5.2串行CRC计算 92
6.5.3并行CRC计算 93
6.5.4部分数据CRC计算 94
6.5.5常用CRC类型 100
6.6格雷编码/解码 102
6.6.1二进制码转换为格雷编码的通用电路 104
6.6.2格雷码转换为二进制码的通用电路 105
6.7译码器(7段数码显示实例) 105
6.8优先级编码 107
6.8.1常规编码器的Verilog代码 107
6.8.2优先级编码器的Verilog代码 108
6.9 8b/ 1 0b编码/解码 108
6.9.1 8b/ 1 0b编码方式 108
6.9.2多字节8b/ 1 0b编码 109
6.9.3 disparity选择8b/10b编码方案 109
6.10 64b/66b编码/解码 110
6.10.1 64b/66b编码机制 110
6.10.2 128b/ 130b编码机制 111
6.11 NRZ、NRZI编码 111
6.12移位寄存器与桶形移位器 112
6.12.1左移位与右移位 112
6.12.2左循环移位与右循环移位 112
6.12.3桶形移位器 113
6.13数据转换器 115
6.13.1由宽到窄数据转换 115
6.13.2由窄到宽数据转换 116
6.14同步技术 118
6.14.1使用FIFO进行的数据同步 118
6.14.2握手同步方式 118
6.14.3脉冲同步器 122
6.14.4相位、频率关系固定时的跨时钟域数据传输 124
6.14.5准同步时钟域 125
6.15计时(微秒、毫秒和秒)脉冲的产生 125
6.16波形整形电路 127
第7章 数字设计先进概念(第1部分) 128
7.1时钟 128
7.1.1频率和时钟周期 128
7.1.2不同的时钟机制 128
7.1.3同步时钟 129
7.1.4源同步时钟 129
7.1.5嵌入式时钟 130
7.1.6准同步时钟 131
7.1.7异步系统 132
7.1.8扩频时钟 132
7.1.9时钟抖动 132
7.2复位方法 133
7.2.1非同步复位(异步复位) 133
7.2.2复位同步电路 133
7.2.3同步复位 134
7.2.4异步复位和同步复位的选择 134
7.3吞吐率 135
7.3.1增加吞吐率的方法 135
7.3.2更高的频率 135
7.3.3更宽的数据通道 135
7.3.4流水线 136
7.3.5并行处理 136
7.3.6无序执行(乱序执行) 136
7.3.7高速缓存(cache) 137
7.3.8预读取 138
7.3.9多核 138
7.4时延 138
7.4.1降低时延的方法 138
7.5流控 139
7.5.1介绍 139
7.5.2数据转发:data valid和data ack 140
7.5.3基于信用的流控:PCIe 141
7.5.4 SATA流控机制 142
7.5.5吉比特以太网流控 143
7.5.6 TCP滑动窗流控机制 144
7.6流水线操作 144
7.6.1流水线介绍 144
7.6.2流水线的简单实例 145
7.6.3 RISC——流水线处理器 146
7.6.4流水线结构和并行操作 146
7.6.5流水线加法器 147
7.6.6并行加法器 150
7.6.7系统设计中的流水线 152
7.7 out-of-order执行(乱序执行) 153
7.7.1现代处理器:out-of-order执行 153
7.7.2 SATA NCQ : out-of-order执行 154
第8章 数字设计先进概念(第2部分) 155
8.1状态机 155
8.1.1引言 155
8.1.2状态机泡泡图 156
8.1.3状态机:推荐方式 157
8.1.4二进制编码的状态机 157
8.1.5独热码编码的状态机 160
8.1.6二进制编码和独热码比较 163
8.1.7米里型和摩尔型状态机 164
8.1.8子状态机 165
8.2 FIFO 165
8.2.1引言 165
8.2.2 FIFO操作 166
8.2.3同步FIFO 167
8.2.4同步FIFO 167
8.2.5异步FIFO的工作机制 170
8.2.6异步FIFO的实现 172
8.3 FIFO高级原理 178
8.3.1 FIFO的大小 178
8.3.2 FIFO的深度 178
8.3.3辅助数据或标签 179
8.3.4快照/回退操作 179
8.3.5直通交换和存储转发模式 180
8.3.6 FIFO指针复位 180
8.3.7不同的写入、读取数据宽度 181
8.3.8使用FIFO的缺点 181
8.3.9基于触发器或者SRAM的FIFO 181
8.4仲裁 182
8.4.1关于仲裁 182
8.4.2常规仲裁方案 182
8.4.3严格优先级轮询 182
8.4.4公平轮询 185
8.4.5公平轮询(仲裁w/o死周期) 189
8.4.6带权重的轮询(WRR) 190
8.4.7权重轮询(WRR):第二种方法 193
8.4.8两组轮询 199
8.5总线接口 204
8.5.1总线仲裁 205
8.5.2 split-transaction(分割处理)总线 207
8.5.3流水线式总线 207
8.6链表 207
8.7近期最少使用(LRU)算法 208
8.7.1 LRU的矩阵实现 209
8.7.2采用矩阵法实现LRU的Verilog代码 210
第9章 设计ASIC/SoC 212
9.1设计芯片——如何开展 212
9.2结构和微结构 212
9.2.1尽可能保持简单 213
9.2.2善于平衡 213
9.2.3处理好错误和异常 213
9.3数据路径 213
9.3.1数据流 213
9.3.2时钟 214
9.4控制单元 214
9.4.1关注边界条件 214
9.4.2注意细节 215
9.4.3多输入点 215
9.4.4正确理解规范 215
9.5其他考虑 215
9.5.1门数 215
9.5.2焊盘受限与内核受限 216
9.5.3时钟树和复位树 216
9.5.4 EEPROM、配置引脚 216
第10章设计经验 218
10.1文档 218
10.1.1可读性 218
10.1.2注释 218
10.1.3命名规则 218
10.2在编写第一行代码之前 219
10.2.1直到你脑海里有了蓝图才开始 219
10.2.2脑海中的模拟 219
10.3一些建议 219
10.3.1哪种风格——数据流或算法 219
10.3.2寄存器型输出 220
10.3.3使用状态机而不是松散的控制逻辑 221
10.3.4综合和仿真不匹配 221
10.3.5设计的模块化和参数化 222
10.3.6加法器、减法器的有效使用 222
10.4需要避免的情况 223
10.4.1不要形成组合逻辑环路 223
10.4.2避免意外生成锁存器 223
10.4.3不要采用基于延迟的设计 224
10.4.4不要对一个变量多次赋值 224
10.5初步完成RTL代码之后 225
10.5.1初步完成代码之后的回顾 225
10.5.2目测RTL代码 226
10.5.3对发现bug感到惊喜 226
10.6设计要面向未来使用需求 226
10.6.1易于实现的寄存器结构 226
10.6.2考虑将来需求 226
10.7高速设计 226
10.7.1使用独热码进行状态编码 227
10.7.2使用互斥的数据选择器而不是优先级编码器 227
10.7.3避免大量散乱的组合逻辑电路 227
10.7.4复制或克隆 227
10.7.5使用同步复位时要小心 227
10.7.6将后到的信号放在逻辑的前面 227
10.8 SoC设计经验 228
10.8.1使用双触发器同步电路 228
10.8.2将所有复位电路放在一起 228
第11章系统概念(第1部分) 229
11.1 PC系统结构 229
11.2存储器 230
11.2.1存储器层次结构 230
11.2.2 CPU使用高速缓存的方法 231
11.2.3 cache的架构 231
11.2.4 cache的组织方式 232
11.2.5虚拟存储器(Virtual Memory) 234
11.2.6动态随机访问存储器(DRAM) 235
11.2.7静态随机访问存储器(SRAM) 236
11.2.8内容可寻址存储器(CAM) 237
11.2.9 CAM的Verilog模型 238
11.2.10 ROM、PROM、EPROM和EEPROM 245
11.2.11闪存 246
11.3中断 247
11.3.1中断不同部分 247
11.3.2中断向量表 248
11.3.3 I/O设备产生的中断 249
11.3.4高级可编程中断控制器 249
11.3.5 INTx中断共享 250
11.3.6 MSI中断 250
11.3.7 MSI-X中断 252
11.3.8中断聚合 252
11.3.9中断产生的RTL示例 252
11.4 PIO(Programmed IO)模式的数据传送 254
11.5直接存储器访问 255
11.5.1什么是DMA 255
11.5.2第三方、第一方 DMA和RDMA 256
11.5.3分/集式DMA 256
11.5.4 DMA描述符 257
11.5.5环形描述符结构 257
11.5.6链表描述符结构 258
11.5.7 DMA控制器的设计 259
11.5.8 DMA控制器的Verilog RTL模型 260
第12章系统概念(第2部分) 270
12.1永久存储器——硬盘 270
12.1.1磁盘结构 270
12.1.2磁盘寻址 271
12.1.3硬盘控制器 271
12.1.4硬盘的类型:SATA硬盘和基于SAS的硬盘 272
12.1.5 RAID(独立磁盘冗余阵列) 272
12.2永久存储设备——固态盘 274
12.2.1闪存的组织 275
12.2.2闪存写入、擦除 275
12.2.3逻辑地址到物理地址的转换 276
12.2.4无用存储空间回收 276
12.2.5耗损均衡 276
12.2.6写放大及其缓解方法 277
12.2.7超量供给 277
12.2.8 SSD中的高速缓存 278
12.2.9 ECC和RAID 278
12.2.10闪存的一些重要指标 279
12.2.11 NVM总线 279
12.3 DDR存储器 280
12.3.1 DDR存储器命令 281
12.3.2 DDR的初始化和校准 283
12.3.3 DDR存储器术语 285
12.4软硬件协同 287
12.4.1设备驱动 287
12.4.2软件层 288
12.4.3 BIOS 288
12.4.4内核模式和用户模式 289
12.4.5控制/状态寄存器、RO、粘着位 289
第13章嵌入式系统 290
13.1 AMBA总线架构 290
13.1.1 AMBA模块图 291
13.1.2 AHB总线 291
13.1.3 AXI总线 292
13.2其他总线(OCP、Avalon、Wishbone和IBM Core Connect) 293
13.3非透明桥接 294
第14章ASIC/SoC的可测试性 296
14.1简介 296
14.1.1为什么测试很重要 296
14.1.2故障类型 296
14.2 ATPG 297
14.3扫描 298
14.3.1内部扫描 298
14.3.2边界扫描 299
14.3.3 IDDQ测试 300
14.4 SoC测试策略 300
14.4.1 SoC的内部结构 300
14.4.2可测性设计(DFT) 302
14.4.3 DFT设计准则 302
14.4.4测试层面和测试向量 303
第15章芯片开发流程与工具 304
15.1简介 304
15.1.1芯片设计的不同阶段 304
15.2前端设计过程所使用的工具 306
15.2.1代码分析工具 306
15.2.2仿真工具 307
15.3后端设计过程使用的工具 307
15.3.1综合工具 307
15.3.2静态定时分析及常用工具 308
15.3.3 SDC约束文件 310
15.3.4 Max Cap/Maxtrans检查 312
15.3.5门级仿真 312
15.4 tape-out和相关工具 313
15.4.1不同类型的tape-out 313
15.4.2等效性检查 313
15.4.3网表ECO 314
15.4.4 FIB操作 318
15.5在硅片调试 319
第16章功率节约技术 321
16.1简介 321
16.2功耗分析基础 321
16.3通过控制工作频率降低功耗 322
16.3.1降低频率、增大数据路径宽度 322
16.3.2动态频率调整 322
16.3.3零频率/门控时钟 323
16.4减少电容负载 324
16.5降低工作电压 325
16.5.1动态改变工作电压 325
16.5.2零操作电压 325
16.5.3电源阱与隔离 325
第17章功率管理 327
17.1功率管理的基础知识 327
17.2系统级功率管理与ACPI 327
17.3 CPU功率状态——C状态 328
17.4设备级功率管理与D状态 328
17.5系统、设备和链路间的关系 328
第18章串行总线技术 330
18.1串行总线结构 330
18.1.1串行总线的出现 330
18.1.2串行总线的优缺点 331
18.1.3串行总线结构 331
18.1.4串行总线时钟 333
18.1.5发送路径的微结构 333
18.1.6接收路径的微结构 334
18.2串行总线中的先进设计理念 336
18.2.1字节分割/链路聚合 336
18.2.2通道绑定与去偏移 337
18.2.3极性翻转 337
18.2.4线路翻转 338
18.2.5锁相环(PLL) 339
18.3串行总线的PMA层功能 340
18.3.1发送均衡 340
18.3.2接收均衡 341
18.3.3端接电阻 341
第19章串行协议(第1部分) 342
19.1 PCIe 342
19.1.1 PCIe功能特性 342
19.1.2 PCIe带宽 343
19.1.3 PCIe交换结构 343
19.1.4 PCIe配置空间寄存器 344
19.1.5 PCIe的交换机制 347
19.2 SATA 351
19.2.1引言 351
19.2.2 SATA架构 351
19.2.3 SATA的其他变种 352
19.3通用串行总线 353
19.3.1引言 353
19.3.2全速、高速和超高速USB 353
19.3.3 USB的显著功能特性 353
19.3.4 USB 3.0(超高速USB) 354
19.4雷电接口 354
19.4.1雷电接口介绍 354
19.4.2雷电接口架构 354
第20章串行协议(第2部分) 356
20.1以太网简介 356
20.2 OSI和以太网协议层次 356
20.3以太网帧格式 357
20.4 10 Mbps以太网 357
20.5快速以太网(100 Mbps) 358
20.6千兆位以太网( 1 Gbps) 360
20.7万兆位以太网( 10 Gbps) 361
20.8 40 G和100 G以太网 363
20.9以太网桥接器、交换机与路由器 363
附录A资源 364
附录B FPGA 101 367
附录C用于验证的测试平台(testbench) 373
附录D System Verilog断言(SVA) 381
缩略词 386
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《分析化学》陈怀侠主编 2019
- 《数字影视特效制作技法解析》王文瑞著 2019
- 《影响葡萄和葡萄酒中酚类特征的因素分析》朱磊 2019
- 《仪器分析技术 第2版》曹国庆 2018
- 《全国普通高等中医药院校药学类专业十三五规划教材 第二轮规划教材 分析化学实验 第2版》池玉梅 2018
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《行测资料分析》李永新主编 2019
- 《药物分析》贡济宇主编 2017
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017