《Verilog HDL高级数字设计》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)Michael D.Ciletti著;张雅绮,李锵等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2005
  • ISBN:7505399179
  • 页数:711 页
图书介绍:本书特色:用HDL(硬件描述语言)进行行为建模是现代ASIC(专用集成电路)设计的关键。要想成为某个杰出设计团队的一员,必须掌握设计流关键阶段中HDL的使用。本书内容并不囿于基本原理和方法,比较适合数字设计入门课程之后较深入些的课程。本书重点讨论使用HDL进行数字设计的方法。如果读者学过逻辑设计的入门课程,将对阅读本书有很大帮助。作者希望通过以下手段逐步实现重点目标:.复习组合和时序逻辑的基本原理.介绍在设计中如何使用硬件描述语言.提供大量翔实的讲解,使读者能很快上手进行ASIC和/或FPGA(现场可编程门阵列)设计.提供较深入的、使用现代设计工具的实例,引导读者简化、验证自己的设计并使其更明晰本书使用Verilog硬件描述语言作为通用的框架来支持所讲述的设计活动,但本书的重点是开发、验证并合成数字电路的设计,而不是Verilog语言。大多数选过数字设计方面两门以上课程的学生都应该熟悉至少一门编程语言,而且能够在阅读本书时进行相关的绘图工作。本书附有辅助软件包,可到电子工业出版社网站(www.phei.com.cn)资源下载栏目浏览下载,或以书名为关键字搜索下载。本书通过大量完整的实例

第1章 数字设计方法概论 1

1.1设计方法简介 1

1.1.1设计规范 3

1.1.2设计划分 3

1.1.3设计输入 3

1.1.4仿真与功能验证 4

1.1.5设计整合与验证 4

1.1.6预综合结束 5

1.1.7门级综合与工艺映射 5

1.1.8后综合设计确认 5

1.1.9后综合定时验证 6

1.1.10测试生成与故障模拟 6

1.1.11布局与布线 6

1.1.12校验物理和电气设计规则 6

1.1.13提取寄生参量 7

1.1.14设计结束 7

1.2 IC工艺选择 7

1.3后续内容概览 8

参考文献 8

第2章 组合逻辑设计回顾 9

2.1组合逻辑与布尔代数 9

2.1.1 ASIC库单元 10

2.1.2布尔代数 11

2.1.3狄摩根定律 12

2.2布尔代数化简定理 14

2.3组合逻辑的表示 15

2.3.1积之和表示法 16

2.3.2和之积表示法 18

2.4布尔表达式的化简 19

2.4.1异或表达式的化简 24

2.4.2卡诺图(积之和形式) 25

2.4.3卡诺图(和之积形式) 26

2.4.4卡诺图与任意项 27

2.4.5扩展的卡诺图 28

2.5假信号与冒险 29

2.5.1静态冒险的消除(积之和形式) 31

2.5.2小结:消除两级电路中的静态冒险 33

2.5.3多级电路中的静态冒险 33

2.5.4小结:消除多级电路中的静态冒险 35

2.5.5动态冒险 35

2.6逻辑设计模块 37

2.6.1与非-或非结构 37

2.6.2多路复用器 40

2.6.3多路解复用器 42

2.6.4编码器 42

2.6.5优先编码器 43

2.6.6译码器 43

2.6.7优先译码器 45

参考文献 45

习题 45

第3章 时序逻辑设计基础 47

3.1存储单元 47

3.1.1锁存器 47

3.1.2透明锁存器 48

3.2触发器 49

3.2.1 D触发器 49

3.2.2主从触发器 50

3.2.3 J-K触发器 51

3.2.4 T触发器 53

3.3总线与三态器件 53

3.4时序机设计 55

3.5状态转移图 57

3.6设计举例:BCD码到余3码转换器 57

3.7数据传输的串行线码转换器 62

3.7.1用米利型FSM实现串行线码转换 63

3.7.2用摩尔型FSM实现串行线码转换 65

3.8状态化简与等价状态 67

参考文献 69

习题 69

第4章 Verilog逻辑设计介绍 71

4.1组合逻辑的结构化模型 71

4.1.1 Verilog原语和设计封装 72

4.1.2 Verilog结构化模型 73

4.1.3模块端口 74

4.1.4一些语言规则 74

4.1.5自顶向下的设计和嵌套模块 74

4.1.6设计层次和源代码结构 77

4.1.7 Verilog矢量 78

4.1.8结构化连接 78

4.2逻辑系统,设计验证与测试方法 81

4.2.1 Verilog中的四值逻辑和信号解析 82

4.2.2测试方法 83

4.2.3测试平台信号发生器 84

4.2.4事件驱动仿真 85

4.2.5测试平台模板 86

4.2.6有符号数 86

4.3传播延时 86

4.3.1惯性延时 89

4.3.2传播延时 90

4.4组合与时序逻辑的Verilog真值表模型 90

参考文献 95

习题 95

第5章 用组合与时序逻辑的行为级模型进行逻辑设计 97

5.1行为建模 97

5.2行为级建模的数据类型 98

5.3基于布尔方程的组合逻辑行为级模型 98

5.4传播延时与连续赋值 100

5.5 Verilog中的锁存器和电平敏感电路 101

5.6触发器和锁存器的周期性行为模型 103

5.7周期性行为和边沿检测 103

5.8行为建模方式的比较 105

5.8.1连续赋值模型 105

5.8.2数据流/寄存器传输级模型 106

5.8.3基于算法的模型 109

5.8.4端口名称:风格问题 110

5.8.5用行为级模型仿真 110

5.9多路复用器,编码器和译码器的行为模型 111

5.10线性反馈移位寄存器的数据流模型 117

5.11用重复算法模拟数字机 118

5.11.1智能复用和参数化模型 121

5.11.2时钟发生器 122

5.12多循环操作状态机 123

5.13包含函数和任务的设计文件:是成果还是愚蠢行为 125

5.13.1任务 125

5.13.2函数 126

5.14行为建模的算法状态机图 127

5.15算法状态机和数据通道图 130

5.16计数器,移位寄存器和寄存器组的行为级模型 132

5.16.1计数器 132

5.16.2移位寄存器 136

5.16.3寄存器组和寄存器(存储器)阵列 139

5.17用于异步信号的去抖动开关,亚稳定性和同步装置 141

5.18设计实例:键盘扫描器和编码器 145

参考文献 152

习题 152

第6章 组合逻辑与时序逻辑的综合 159

6.1关于综合的介绍 159

6.1.1逻辑综合 160

6.1.2 RTL综合 166

6.1.3高级综合 166

6.2组合逻辑综合 168

6.2.1优先级结构的综合 171

6.2.2使用逻辑无关紧要条件的情况 172

6.2.3 ASIC单元与资源共享 175

6.3带锁存器的时序逻辑综合 177

6.3.1锁存器的无意识综合 178

6.3.2锁存器的有意识综合 181

6.4三态器件的综合和总线接口 184

6.5带有触发器的时序逻辑综合 186

6.6确定状态机的综合 188

6.6.1 BCD码到余3码转换器的综合 188

6.6.2 Mealy型NRZ码到Manchester线性码转换器的综合 192

6.6.3 Moore型NRZ到Manchester线性码的转换器综合 193

6.6.4序列检测器的综合 195

6.7寄存器逻辑 203

6.8状态编码 207

6.9模糊状态机,寄存器以及计数器的综合 209

6.9.1模糊状态机 209

6.9.2计数器综合 210

6.9.3寄存器综合 211

6.10复位 215

6.11门控时钟与时钟使能综合 218

6.12可预期的综合结果 219

6.12.1数据类型综合 219

6.12.2运算符分组 219

6.12.3表达式替代 220

6.13循环的综合 223

6.13.1不带内嵌定时控制的静态循环 223

6.13.2带内嵌定时控制的静态循环 226

6.13.3不带内嵌定时控制的非静态循环 228

6.13.4带内嵌定时控制的非静态循环 229

6.13.5用状态机替代不可综合的循环 231

6.14能够避免的设计陷阱 237

6.15 分割与合并:设计划分 237

参考文献 238

习题 238

第7章 数据通路控制器的设计和综合 244

7.1时序状态机的划分 244

7.2设计举例:二进制计数器 245

7.3 RISC存储程序状态机的设计和综合 250

7.3.1 RISC SPM:处理器 251

7.3.2 RISC SPM:ALU 252

7.3.3 RISC SPM:控制器 252

7.3.4 RISC SPM:指令集 252

7.3.5 RISC SPM:控制器设计 254

7.3.6 RISC SPM:程序的执行 265

7.4设计举例:UART 267

7.4.1 UART的操作 268

7.4.2 UART发射机 269

7.4.3 UART接收机 274

参考文献 285

习题 285

第8章 可编程逻辑器件和存储器件 295

8.1可编程逻辑器件 296

8.2存储器件 296

8.2.1只读存储器 296

8.2.2可编程ROM 298

8.2.3可擦除ROM 299

8.2.4基于ROM的组合逻辑实现 300

8.2.5用于ROM的Verilog系统任务 301

8.2.6 ROM的比较 303

8.2.7基于ROM的状态机 303

8.2.8闪存 306

8.2.9静态随机存取存储器 306

8.2.10铁电非易失性存储器 326

8.3可编程逻辑阵列 326

8.3.1 PLA最小化 328

8.3.2 PLA建模 330

8.4可编程阵列逻辑 332

8.5 PLD的可编程性 333

8.6复杂可编程逻辑器件 334

8.7 Altera MAX 7000 CPLD 334

8.7.1可共享扩展器 336

8.7.2并行扩展器 337

8.7.3 1/O控制模块 338

8.7.4对时序的考虑 338

8.7.5器件资源 339

8.7.6其他 Altera器件系列 339

8.8 Xilir XC9500 CPLD系列 339

8.9现场可编程门阵列 341

8.9.1 FPGA在ASIC市场中的角色 342

8.9.2 FPGA技术 343

8.10 Altera Flex 8000 FPGA 343

8.11 Altera Flex 10 FPGA 344

8.12 Altera Apex FPGA 348

8.13 Altera芯片的可编程性 349

8.14 Xilinx XC4000系列FPGA 349

8.14.1基本结构 350

8.14.2 XC4000可配置逻辑模块 350

8.14.3专用快速进位和借位逻辑 351

8.14.4分布式RAM 351

8.14.5 XC4000互连资源 351

8.14.6 XC4000I/O模块 354

8.14.7 XC4000E和XC4000X系列中的改进 355

8.14.8 Spartan系列中的改进 355

8.15 Xilinx Spartan XL FPGA 356

8.16 Xilinx Spartan FPGA 357

8.17 Xilinx Virtex FPGA 360

8.18片上系统(SoC)的可嵌入可编程IP内核 361

8.19基于Verilog的FPGA设计流程 361

8.20 FPGA综合 362

参考文献 364

相关网站 364

习题 364

第9章 数字处理器的结构和算法 393

9.1算法,嵌套循环程序和数据流图 393

9.2设计实例:中间色调像素图像转换器 396

9.2.1中间色调像素图像转换器的最基本设计 398

9.2.2基于NLP的中间色调像素图像转换器结构 401

9.2.3基于并发ASMD的中间色调像素图像转换器的结构 411

9.2.4中间色调像素图像转换器:设计权衡 422

9.2.5带反馈数据流图的结构 422

9.3数字滤波器和信号处理器 427

9.3.1有限冲激响应滤波器(FIR)滤波器 430

9.3.2数字滤波器设计过程 431

9.3.3无限冲激响应(IIR)滤波器 434

9.4建立信号处理器模块 437

9.4.1积分器 437

9.4.2微分器 440

9.4.3抽选与插值滤波器 440

9.5流水线结构 444

9.5.1设计实例:流水线型加法器 446

9.5.2设计实例:流水线型FIR滤波器 450

9.6环形缓冲器 450

9.7 FIFO以及跨越时钟域的同步问题 455

参考文献 466

习题 466

第10章 算术处理器架构 473

10.1数的表示方法 473

10.1.1负整数的有符号数表示 474

10.1.2负整数的1补表示方法 474

10.1.3正数和负数的2补表示方法 475

10.1.4小数的表示 476

10.2加减法功能单元 476

10.2.1行波进位加法器 476

10.2.2超前进位加法器 476

10.2.3上溢出和下溢出 481

10.3乘法运算功能单元 481

10.3.1组合(并行)二进制乘法器 481

10.3.2时序二进制乘法器 485

10.3.3时序乘法器设计:层次化分解 485

10.3.4基于STG的控制器设计 487

10.3.5基于STG的高效时序二进制乘法器 491

10.3.6基于ASMD的时序二进制乘法器 497

10.3.7基于ASMD的高效时序二进制乘法器 502

10.3.8基于ASMD数据通路和控制器设计的总结 505

10.3.9精简寄存器时序乘法器 506

10.3.10隐式状态机二进制乘法器 510

10.3.11 Booth算法时序乘法器 519

10.3.12比特对编码 527

10.4有符号二进制数乘法 533

10.4.1有符号数的乘积:被乘数为负,乘数为正 533

10.4.2有符号数的乘积:被乘数为正,乘数为负 534

10.4.3有符号数的乘积:被乘数、乘数均为负 534

10.5小数乘法 536

10.5.1有符号小数:被乘数、乘数均为正 536

10.5.2有符号小数:被乘数为负,乘数为正 537

10.5.3有符号小数:被乘数为正,乘数为负 537

10.5.4有符号小数:被乘数、乘数均为负 538

10.6除法功能单元 538

10.6.1无符号二进制数的除法 538

10.6.2无符号二进制数的高效除法 544

10.6.3精简寄存器时序除法器 550

10.6.4有符号二进制数(2补)的除法 556

参考文献 556

习题 556

第11章 后综合设计任务 562

11.1后综合设计验证 562

11.2后综合定时验证 564

11.2.1静态定时分析 566

11.2.2定时指标 567

11.2.3影响定时的因素 569

11.3 ASIC中定时违反行为的消除 574

11.4虚假通路 575

11.5动态敏化通路 576

11.6定时验证的系统任务 577

11.6.1定时验证:建立条件 577

11.6.2定时验证:保持条件 578

11.6.3定时验证:建立和保持条件 579

11.6.4定时验证:脉冲宽度限制 579

11.6.5定时验证:信号时滞限制 580

11.6.6定时验证:时钟周期 580

11.6.7定时验证:恢复时间 581

11.7故障模拟及测试 582

11.7.1电路缺陷和故障 583

11.7.2故障检测和测试 585

11.7.3 D标记 587

11.7.4组合电路的自动测试模板生成 590

11.7.5故障覆盖和缺陷级别 591

11.7.6时序电路的测试生成 591

11.8故障模拟 594

11.8.1故障压缩 594

11.8.2串行故障模拟 595

11.8.3并行故障模拟 595

11.8.4同时故障模拟 595

11.8.5随机故障模拟 595

11.9 Verifault-XL故障模拟 596

11.9.1故障模拟任务 596

11.9.2用Verifault-XL对故障进行压缩和分级 597

11.9.3结构故障和行为故障的传播 598

11.9.4具有Verifault-XL的故障模拟测试平台 598

11.9.5故障描述器 600

11.10 JTAG端口和可测性设计 603

11.10.1边界扫描和JTAG端口 603

11.10.2 JTAG操作模式 604

11.10.3 JTAG寄存器 605

11.10.4 JTAG指令 607

11.10.5 TAP结构 608

11.10.6 TAP控制器状态机 610

11.10.7设计实例:用JTAG进行测试 613

11.10.8设计实例:内置自测试 632

参考文献 644

习题 645

附录AVerilog原语 651

附录BVerilog关键词 659

附录C Verilog数据类型 660

附录D Verilog运算符 664

附录E Backus-Naur形式化语法注释 670

附录F Verilog语言的形式化语法 671

附录G Verilog语言的其他特点 682

附录H 触发器和锁存器 691

附录1 Verilog 2001 692

附录J 编程语言接口 708

附录K 相关网站 709

附录L 网络教程 711