《Verilog HDL应用程序设计实例精讲》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘福奇,刘波编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121095481
  • 页数:518 页
图书介绍:本书从实用的角度出发,通过大量的工程实例,详细、深入地介绍了Verilog HDL应用程序设计的方法与技巧。全书共分2篇12章,第一篇为Verilog HDL基础知识,概要介绍了Verilog HDL的特点、语言要素与表达式、行为级建模、结构级建模、语句的综合、设计与验证,以及代码优化技巧,引导读者技术入门;第二篇为Verilog HDL 应用编程实例,通过30多个实例,循序渐进地介绍了Verilog HDL在逻辑电路、存储器、数字通信、数字控制、信号测量领域的应用编程技术和技巧。

Verilog HDL基础知识 2

第1章VerilogHDL语言概述 2

1.1 HDL概念与发展历史 2

1.2 Verilog HDL语言特点 3

1.3 Verilog HDL语言开发流程 9

1.4 Verilog HDL程序的基本结构 11

1.4.1模块 11

1.4.2模块调用 20

第2章Verilog HDL语法基础 22

2.1程序格式 22

2.2注释 22

2.3间隔符 22

2.4数值 23

2.5字符串 25

2.6标识符 27

2.7系统任务和函数 28

2.8编译指令 34

2.9数据类型 43

2.9.1线网(Net)和变量(Variable) 43

2.9.2标量(Scalar)与矢量(Vector) 47

2.9.3线网(Net)数据类型 48

2.9.4变量(Variable)数据类型 53

2.9.5数组(Array)类型 54

2.9.6参数 56

2.9.7名字空间 59

2.10表达式 60

2.10.1操作符 61

2.10.2操作数 72

2.10.3延迟表达式 76

2.10.4表达式的位宽 77

2.10.5有符号表达式 80

第3章 行为级建模 82

3.1行为级建模的结构 82

3.1.1过程块结构 84

3.1.2 initial过程块 85

3.1.3 always过程块 87

3.2语句块 90

3.2.1顺序语句块(begin-end) 91

3.2.2并行语句块(fork-join) 92

3.2.3顺序块和并行块的混合使用 94

3.3时间控制 97

3.3.1延时控制 98

3.3.2边沿触发事件控制 99

3.3.3电平敏感事件控制(wait语句) 106

3.4赋值语句 108

3.4.1过程赋值语句 109

3.4.2阻塞型赋值语句和非阻塞型赋值语句 114

3.4.3连续赋值语句和过程连续赋值语句 119

3.5分支语句 131

3.5.1 if-else条件分支语句 131

3.5.2 case分支控制语句 136

3.6循环控制语句 141

3.6.1 forever循环语句 141

3.6.2 repeat循环语句 143

3.6.3 while循环语句 145

3.6.4 for循环语句 146

3.7任务(task)和函数(function) 148

3.7.1任务(task) 148

3.7.2函数(function) 152

第4章 结构级建模 160

4.1模块级建模 160

4.1.1模块的定义 160

4.1.2模块的端口 161

4.1.3模块的调用 164

4.1.4在模块调用时对参数值的更改 170

4.2门级建模 174

4.2.1内置基本门级元件 174

4.2.2用户自定义基本元件(UDP) 187

第5章Verilog HDL语句的综合 198

5.1综合概述 198

5.1.1综合的概念 198

5.1.2数值集合与数据类型 200

5.1.3储值单元的综合原则 201

5.2连续赋值语句的综合 201

5.3过程赋值语句的综合 202

5.3.1阻塞赋值语句 202

5.3.2非阻塞赋值语句 203

5.4逻辑运算符的综合 204

5.5算术运算符的综合 205

5.5.1无符号运算 205

5.5.2有符号运算 206

5.5.3进位与位宽 206

5.6关系运算符的综合 207

5.7移位(shift)运算符综合 208

5.8位选择综合 209

5.9条件表达式的综合 211

5.10 always语句的综合 212

5.11 if语句的综合 215

5.12 case语句的综合 216

5.12.1从case语句综合出锁存器 217

5.12.2 casez和casex语句的综合 221

5.12.3并行的case语句 223

5.12.4条件表达式使用常量的case语句 225

5.13锁存器的综合 227

5.14循环语句的综合 230

5.14.1静态循环的综合 231

5.14.2非静态循环的综合 233

5.15 阻塞和非阻塞赋值 234

5.16函数的综合 237

5.17任务的综合 238

5.18任意值/高阻的综合 239

第6章 设计验证 243

6.1后综合设计验证 243

6.1.1基于仿真的验证 244

6.1.2形式化验证 244

6.2面向验证的编码风格 244

6.2.1功能正确性 245

6.2.2时序正确性 248

6.3定时验证 249

6.4时序分析基础 250

6.4.1周期与最大时钟频率 250

6.4.2时钟建立时间 251

6.4.3时钟保持时间 251

6.4.4时钟输出延时 252

6.4.5引脚到引脚延时 252

6.5定时验证的系统任务 252

第7章Verilog HDL代码优化技巧 254

7.1资源共享 254

7.2公共子表达式 257

7.3代码调整 258

7.4公因子 260

7.5触发器和锁存器的优化 261

7.6代码大小 263

7.7算术表达式树高度优化 264

7.8运算符强度缩减 266

Veriloq HDL应用编程实例 268

第8章 组合电路设计实例 268

8.1基本门电路 268

8.2组合门电路 271

8.3三态门电路 273

8.4双向门电路 274

8.5数据选择器与数据分配器 276

8.5.1数据选择器 276

8.5.2数据分配器 278

8.6数据比较器 280

8.7各种加法器(减法器)设计 282

8.7.1行波进位加法器 282

8.7.2进位链加法器 283

8.7.3跳跃进位加法器 286

8.8常用乘法器设计 289

8.8.1基本乘法器 289

8.8.2时序乘法器 291

8.8.3阵列乘法器 293

8.9伽罗华域GF(q)乘法器设计 297

8.9.1应用背景 298

8.9.2理论算法 298

8.9.3基于弱对偶基的有限域比特并行乘法器建模 301

8.9.4弱对偶基有限域乘法器程序说明 304

8.10常用除法器设计 307

8.10.1二进制恢复除法器 307

8.10.2时序除法器设计 310

8.11本章小结 314

第9章 时序电路设计实例 315

9.1 D触发器设计 315

9.2四种计数器设计 316

9.2.1通用二进制计数器 316

9.2.2 Gray码计数器 317

9.2.3 Johnson计数器 319

9.2.4可预置加减计数器的设计 320

9.3两种分频器设计 322

9.3.1 Verilog HDL分频器 322

9.3.2 PLL分频器 324

9.4两种移位寄存器设计 329

9.4.1通用移位寄存器 330

9.4.2桶形移位寄存器 330

9.5本章小结 332

第10章 存储器电路设计实例 333

10.1片内ROM的Verilog HDL建模 333

10.2片内ROM的LPM应用 334

10.3片上SRAM的Verilog HDL建模 340

10.4片上SRAM的LPM建模 342

10.5片外SRAM的LPM建模 347

10.5.1 IS61LV25616芯片介绍 347

10.5.2 IS61LV25616控制模块 350

10.5.3 IS61LV25616控制器的测试模块 352

10.5.4 IS61LV25616控制器的仿真 354

10.6同步FIFO的Verilog HDL建模 355

10.7同步FIFO的LPM建模 360

10.8异步FIFO的Verilog HDL设计 364

10.8.1 FIFO“空”/“满”检测 364

10.8.2 FIFO模块结构 366

10.8.3 FIFO源代码说明 367

10.8.4异步FIFO的相关问题 372

10.9本章小结 373

第11章 数字通信与控制设计实例 374

11.1时序状态机的设计 374

11.1.1有限状态机(FSM)的分类 375

11.1.2有限状态机常用的描述、开发方法 375

11.1.3基于状态转移图(STG)的设计 376

11.1.4基于算法状态机(ASM )图的设计 384

11.2伪随机序列应用设计 388

11.2.1应用背景 388

11.2.2理论知识 390

11.2.3 PN序列应用实例 392

11.2.4程序说明 393

11.3积分梳状滤波器(CIC)设计 395

11.3.1应用背景 395

11.3.2理论算法 396

11.3.3三级CIC抽取滤波器建模 398

11.3.4程序说明 401

11.4 CORDIC数字计算机的设计 402

11.4.1应用背景 403

11.4.2理论算法 404

11.4.3用CORDIC计算正弦值、余弦值实例建模 414

11.4.4程序说明 416

11.5 UART收发器设计实例 419

11.5.1 UART界面介绍 419

11.5.2 UART传输时序 420

11.5.3 UART分频器 421

11.5.4 UART发送模块 422

11.5.5 UART接收模块 428

11.5.6 UART的硬件测试 432

11.612C Master控制器设计实例 434

11.6.1 I2C总线协议介绍 434

11.6.2 AT24C02介绍 434

11.6.3 I2C Master控制器代码设计 437

11.6.4I2C Master控制器硬件测试 444

11.7 SPI Master控制器设计实例 446

11.7.1 SPI界面介绍 446

11.7.2 SPI分频模块 447

11.7.3 SPI主端发送数据部分 449

11.7.4 SPI接收数据部分 455

11.8曼彻斯特编码器、译码器设计实例 460

11.8.1曼彻斯特码介绍 460

11.8.2曼彻斯特码编码器 460

11.8.3曼彻斯特译码器 463

11.9 RS编码器、译码器设计实例 465

11.9.1 RS编码器的设计 465

11.9.2 RS(204,188)译码器的设计 472

11.10本章小结 499

第12章 数字频率测量设计实例 500

12.1频率测量的常用方法 500

12.2直接测频法 502

12.2.1闸门产生模块 502

12.2.2计数模块 504

12.3周期测频法 507

12.3.1周期计数模块 508

12.3.2除法运算模块 509

12.4等精度测频法 511

12.4.1预设闸门模块 511

12.4.2实际闸门模块 512

12.4.3计数模块 514

12.4.4频率计算模块 516

12.5本章小结 518