图书介绍

Verilog高级数字系统设计技术与实例分析【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Verilog高级数字系统设计技术与实例分析
  • (美)KishoreMishra著;乔庐峰等译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121334832
  • 出版时间:2018
  • 标注页数:395页
  • 文件大小:61MB
  • 文件页数:413页
  • 主题词:硬件描述语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Verilog高级数字系统设计技术与实例分析PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 绪论1

第2章 寄存器传输语言(RTL)2

第3章 可综合的Verilog——用于电路设计3

3.1什么是Verilog3

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中的ifdef27

3.9.5数组、多维数组29

第4章 用于验证的Verilog语法30

4.1 Verilog的测试平台30

4.2 initial语句30

4.3 Verilog系统任务31

4.3.1 $finish/$stop31

4.3.2 $display/$monitor31

4.3.3 $time,$realtime32

4.3.4 $random/$random(seed)33

4.3.5 $save35

4.3.6 $readmemh/$writememh35

4.3.7 $fopen/$fclose36

4.4任务37

4.5存储器建模37

4.6其他Verilog语法结构39

4.6.1 while循环39

4.6.2 for循环、repeat39

4.6.3 force/release40

4.6.4 fork/join40

4.7一个简单的testbench41

第5章 数字电路设计——初级篇46

5.1组合逻辑门46

5.1.1逻辑1和逻辑046

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、 NOR52

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 LFSR75

6.1.1引言75

6.1.2斐波那契 LFSR与伽罗瓦LFSR75

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 ECC86

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 ack140

7.5.3基于信用的流控:PCIe141

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 FIFO165

8.2.1引言165

8.2.2 FIFO操作166

8.2.3同步FIFO167

8.2.4同步FIFO167

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的FIFO181

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/SoC212

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和EEPROM245

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什么是DMA255

11.5.2第三方、第一方 DMA和RDMA256

11.5.3分/集式DMA256

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和RAID278

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 BIOS288

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 ATPG297

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-out313

15.4.2等效性检查313

15.4.3网表ECO314

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系统级功率管理与ACPI327

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 PCIe342

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 SATA351

19.2.1引言351

19.2.2 SATA架构351

19.2.3 SATA的其他变种352

19.3通用串行总线353

19.3.1引言353

19.3.2全速、高速和超高速USB353

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 101367

附录C用于验证的测试平台(testbench)373

附录D System Verilog断言(SVA)381

缩略词386

热门推荐