《Verilog HDL设计与实战》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘福奇编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2012
  • ISBN:9787512409194
  • 页数:533 页
图书介绍:本书分为四个部分:Quartus II软件与ModelSim的基本操作、Verilog HDL语法介绍、FPGA设计实例和基于Qsys的Nios II实例设计。

第一部分ModeISim与Quartus II的基本操作 2

第1章ModeISim仿真工具与Quartus II开发工具的基本操作 2

1.1 ModelSim仿真操作 2

1.1.1新建ModelSim工程及源代码 2

1.1.2 ModelSim工程及代码编译 7

1.1.3 ModelSim工程的仿真运行 8

1.2 Quartus II开发工具的基本操作 12

1.2.1 Quartus II工程的新建 12

1.2.2 Quartus II源代码设计 15

1.2.3 Quartus II工程的编译与综合 16

1.2.4 Quartus II工程的功能仿真 17

1.2.5 Quartus II工程的时序仿真 22

1.2.6 Quartus II工程的FPGA引脚分配 22

1.2.7 Quartus Ⅱ工程的三种下载配置方式 23

1.3 Quartus Ⅱ与ModelSim联合开发的基本操作 27

1.3.1 Quartus Ⅱ代码设计与工程编译 27

1.3.2 Quartus II调用ModelSim仿真 29

1.4 Quartus Ⅱ自带逻辑分析仪的基本操作 32

1.4.1新建SignalTap II Logic Analyzer逻辑分析仪文件 32

1.4.2 SignalTap工具的基本操作 37

1.5本章知识点总结 39

第二部分Verilog HDL的语法介绍 42

第2章Verilog HDL的简要介绍 42

2.1什么是Verilog HDL 42

2.2 Verilog HDL的发展历史 43

2.3 Verilog HDL的主要功能 44

2.4 Verilog HDL与VHDL的异同比较 45

2.4.1 Verilog HDL与VHDL的相同点 45

2.4.2 Verilog HDL与V HDL的不同点 45

2.4.3如何对待Verilog HDL与VHDL 46

2.5 Verilog HDL代码的词法标记 46

2.5.1 Verilog HDL的标识符 46

2.5.2 Verilog HDL的空白符 48

2.5.3 Verilog HDL的注释 49

2.5.4 Verilog HDL的值集 50

2.5.5 Verilog HDL的数 50

2.5.6 Verilog HDL的字符串 51

2.5.7 Verilog HDL的文本宏 52

2.5.8 Verilog HDL的系统函数 52

2.5.9 Verilog HDL的关键字 53

2.6 Verilog HDL代码的基本结构 54

2.7本章知识点总结 55

第3章Verilog HDL的数据对象 56

3.1线网型数据对象 56

3.1.1线网型数据对象的种类 56

3.1.2线网型数据对象的定义 57

3.1.3线网型数据对象的多驱动源操作 57

3.1.4线网型数据对象的使用 59

3.1.5线网型数据对象的向量与标量 59

3.2寄存器型数据对象 60

3.2.1寄存器型数据对象的定义 60

3.2.2寄存器型数据对象的使用 61

3.2.3寄存器型数据对象的向量与标量 61

3.3存储器型数据对象 62

3.3.1存储器型数据对象的定义 62

3.3.2存储器型数据对象的使用 62

3.4整型数据对象 62

3.5时间型数据对象 63

3.6实型数据对象 63

3.7参数型数据对象 63

3.8字符串型数据对象 64

3.9本章知识点总结 64

第4章Verilog HDL操作符 66

4.1 Verilog HDL操作数 66

4.2 Verilog HDL操作符的意义与使用 67

4.2.1赋值操作符 67

4.2.2算术操作符 68

4.2.3逻辑操作符 70

4.2.4关系操作符 71

4.2.5相等操作符 72

4.2.6位操作符 74

4.2.7缩减操作符 77

4.2.8移位操作符 78

4.2.9条件操作符 79

4.2.10拼接操作符 80

4.3 Verilog HDL操作符优先级 80

4.4本章知识点总结 81

第5章Verilog HDL的并行语句 83

5.1 Verilog HDL并行语句在Verilog HDL…程序中的位置 83

5.2 Verilog HDL并行语句的并行意义 84

5.3 assign连续赋值语句 87

5.4模块实例化语句 90

5.4.1 Verilog HDL自带模块的实例化语句 90

5.4.2 Verilog HDL自定义模块的实例化语句 101

5.5 initial初始化语句 110

5.6 always进程语句 112

5.7本章知识点总结 115

第6章Verilog HDL的顺序语句 117

6.1顺序语句在Verilog HDL程序中的位置 117

6.2顺序语句的并行执行 118

6.3顺序赋值语句 120

6.4 if条件选择语句 122

6.4.1单分支if条件选择语句 123

6.4.2双分支if条件选择语句 125

6.4.3多分支if条件选择语句 126

6.5 case条件选择语句 129

6.5.1普通case条件选择语句 129

6.5.2 casez条件选择语句 132

6.5.3 casex条件选择语句 133

6.6循环语句 134

6.6.1 for循环语句 135

6.6.2 repeat循环语句 136

6.6.3 while循环语句 137

6.6.4 forever循环语句 139

6.7本章知识点总结 140

第7章Verilog HDL的自定义原语UDP 141

7.1 UDP的定义 141

7.2组合电路UDP建模 142

7.3时序UDP建模 143

7.3.1电平触发的时序UDP建模 144

7.3.2边沿触发的时序UDP建模 145

7.3.3混合触发的时序UDP建模 146

7.4 UDP模块的实例化 147

7.5本章知识点总结 148

第8章Verilog HDL的任务与函数 150

8.1 Verilog HDL的任务 150

8.1.1 Verilog HDL任务的定义 150

8.1.2 Verilog HDL任务的调用 151

8.2 Verilog HDL的函数 155

8.2.1 Verilog HDL函数的定义 155

8.2.2 Verilog HDL函数的调用 156

8.3 Verilog HDL任务与函数的静态与动态的区别 158

8.4 Verilog HDL的系统任务与函数 163

8.4.1显示类系统任务 164

8.4.2文件输入/输出类系统任务与函数 170

8.4.3时间标度类系统任务 177

8.4.4仿真控制类系统任务 179

8.4.5仿真时间类系统任务 179

8.4.6类型转换类系统函数 180

8.4.7随机分布类系统函数 180

8.4.8其他系统任务与函数 181

8.5本章知识点总结 181

第9章Verilog HDL的其他语法知识 182

9.1阻塞赋值与非阻塞赋值的比较分析 182

9.2 Verilog HDL的预编译指令 196

9.2.1 define,undef 197

9.2.2 ifdef,else,endif 197

9.2.3 include 198

9.2.4 timescale 199

9.2.5 resetall 200

9.2.6 default_ nettype 200

9.2.7 unconnected drive与’nounconnected_ drive 200

9.2.8 celldefine与’endcelldefine 200

9.3延时 201

9.3.1赋值延时 201

9.3.2门延时 201

9.4 Verilog HDL的事件 202

9.4.1边沿事件 202

9.4.2电平事件 204

9.5强度 204

9.5.1驱动强度 205

9.5.2电荷强度 205

9.5.3强度顺序 206

9.6本章知识点总结 207

第10章Verilog HDL的测试平台编写 208

10.1测试平台的格式 208

10.2产生激励信号 209

10.2.1一次特定的序列 209

10.2.2重复的信号 210

10.3实例化待测模块 212

10.4观察和保存信号波形与值 213

10.5本章知识点总结 215

第11章Verilog HDL书写与设计规范 216

11.1 Verilog HDL代码的书写规范 216

11.1.1 Verilog HDL标识符的命名规范 216

11.1.2 Verilog HDL空白符的使用 219

11.1.3 Verilog HDL统一的排版风格 221

11.1.4 Verilog HDL统一的模块实例化格式 221

11.1.5 Verilog HDL统一的注释风格 221

11.1.6 Verilog HDL统一的向量位宽定义格式 222

11.1.7 Verilog HDL统一的单条语句多行书写格式 222

11.2 Verilog HDL不可综合的语法语句 223

11.3 Verilog HDL一些推荐的设计规范 223

11.4本章知识点总结 224

第三部分FPGA实例设计 226

第12章Verilog HDL基本组合电路建模 226

12.1门电路建模 226

12.2编码器与译码器 237

12.2.1 10-4编码器建模 237

12.2.2 4-10译码器建模 240

12.2.3编码器应用之7段数码管编码器建模 243

12.3数据选择器与数据分配器 247

12.3.1 4-1数据选择器建模 247

12.3.2 1-4数据分配器建模 251

12.4本章知识点总结 256

第13章Verilog HDL基本时序电路建模 257

13.1 D触发器建模 257

13.2锁存器建模 264

13.3 JK触发器建模 267

13.4本章知识点总结 271

第14章 信道加密与解密 272

14.1信号的加密 272

14.2信号的解密 275

14.3本章知识点总结 279

第15章CRC编码 280

15.1循环冗余校验码原理 280

15.2 CRC编码方法一 281

15.3 CRC编码方法二 285

15.4 CRC编码方法三 290

15.5本章知识点总结 293

第16章 数字钟设计 294

16.1简单的时间显示 294

16.2带闪烁功能的时间显示 305

16.3带调时功能的时间显示 308

16.4本章知识点总结 320

第17章HDB3编码与译码 321

17.1 HDB3的编码协议 321

17.2 HDB3编码的插V模块 322

17.3 HDB3编码的插B模块 327

17.4 HDB3编码的极性转换 332

17.5 HDB3译码模块 337

17.6本章知识点总结 341

第18章SPI数据通信 342

18.1 SPI数据通信协议 342

18.2 SPI从端数据通信模块 344

18.3 SPI主端数据通信模块 350

18.4本章知识点总结 358

第19章UART数据通信 359

19.1 UART数据通信协议 359

19.2 UART数据发送模块 360

19.3 UART数据接收模块 366

19.4本章知识点总结 373

第20章 交通灯控制器建模 374

20.1交通灯的运行逻辑 374

20.2一段式状态机交通灯控制器建模 375

20.3两段式状态机交通灯控制器建模 383

20.4三段式状态机交通灯控制器建模 389

20.5本章知识点总结 402

第四部分 基于Qsys的NiOsⅡ实例设计 404

第21章 基于Qsys的第一个NiosⅡ系统 404

21.1 Nios II处理器的基本特征 404

21.2基于Qsys的第一个Nios Ⅱ系统的硬件环境搭建 405

21.3基于Qsys的第一个Nios Ⅱ系统的软件设计 424

21.4本章知识点总结 429

第22章PIO核的应用 431

22.1 PIO核的功能与特点 431

22.1.1 PIO核的功能描述 431

22.1.2 PIO核的配置选项 432

22.1.3 PIO核的寄存器描述 434

22.2基于Qsys的PIO核应用系统的硬件设计 435

22.3基于Qsys的PIO核应用系统的软件设计 450

22.3.1输出PIO核的应用 450

22.3.2输入PIO核的应用 453

22.3.3中断输入PIO核的应用 454

22.3.4三态双向PIO核的应用 456

22.4本章知识点总结 467

第23章UART核的应用 469

23.1通用异步收发器(UART)核的功能与特点 469

23.1.1 UART核的功能描述 469

23.1.2 UART核的配置选项 470

23.1.3 UART核的寄存器描述 471

23.2基于Qsys的UART核应用系统的硬件设计 473

23.3基于Qsys的UART核应用系统的软件设计 478

23.3.1基于文件操作的UART核数据收/发 478

23.3.2基于寄存器查询的UART核数据收/发 480

23.3.3基于中断服务的UART核数据收/发 481

23.4本章知识点总结 483

第24章Interval Timer核的应用 484

24.1 Interval Timer核的功能与特点 484

24.1.1 Interval Timer核的功能描述 484

24.1.2 Interval Timer核的配置选项 485

24.1.3 Interval Timer核的寄存器描述 486

24.2基于Qsys的Interval Timer核应用系统的硬件设计 487

24.3基于Qsys的Interval Timer核应用系统的软件设计 492

24.3.1 Interval Timer核超时中断的应用 492

24.3.2 Interval Timer核时间戳的应用 494

24.3.3 Interval Timer核计时快照的应用 496

24.3.4 Interval Timer核看门狗的应用 497

24.4本章知识点总结 499

第25章SPI核的应用 500

25.1串行外围设备接口(SPI)的功能与特点 500

25.1.1 SPI核的功能描述 500

25.1.2 SPI核的配置选项 501

25.1.3 SPI核的寄存器描述 502

25.2基于Qsys的SPI核应用系统的硬件设计 504

25.3基于Qsys的SPI核应用系统的软件设计 510

25.4本章知识点总结 512

第26章 基于Qsys的自定义外设与指令 514

26.1基于Qsys的自定义外设 514

26.1.1 Avalon总线介绍 514

26.1.2 Avalon总线接口 514

26.1.3 Avalon总线读/写时序 516

26.1.4自定义外设的HDL代码设计 518

26.1.5基于Qsys的自定义外设应用系统的硬件设计 521

26.1.6基于Qsys的自定义外设应用系统的软件设计 525

26.2基于Qsys的自定义指令 527

26.2.1设计自定义指令的 HDL文件 528

26.2.2基于Qsys的自定义指令应用系统的硬件设计 529

26.2.3基于Qsys的自定义指令应用系统的软件设计 530

26.3本章知识点总结 532

参考文献 533