图书介绍
精通Verilog HDL语言编程PDF|Epub|txt|kindle电子书版本网盘下载
![精通Verilog HDL语言编程](https://www.shukui.net/cover/43/31748229.jpg)
- 刘波编著 著
- 出版社: 北京:电子工业出版社
- ISBN:7121041278
- 出版时间:2007
- 标注页数:543页
- 文件大小:76MB
- 文件页数:565页
- 主题词:硬件描述语言,Verilog HDL-程序设计
PDF下载
下载说明
精通Verilog HDL语言编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇 Verilog HDL语言设计基础篇2
第1章 Verilog HDL语言设计入门2
1.1 HDL发展概述2
1.2 与VHDL和C语言的比较3
1.3 Verilog HDL语言开发流程9
1.3.1 Verilog HDL语言开发流程图介绍9
1.3.2 常用EDA开发工具介绍10
1.4 Verilog HDL程序的基本结构14
1.4.1 模块14
1.4.2 模块调用23
第2章 Verilog HDL语言要素与表达式25
2.1 程序格式25
2.2 注释25
2.3 间隔符25
2.4 数值26
2.5 字符串28
2.6 标识符29
2.7 系统任务和函数31
2.8 编译指令36
2.9 数据类型45
2.9.1 线网(Net)和变量(Variable)45
2.9.2 标量(Scalar)与矢量(Vector)47
2.9.3 线网(Net)数据类型49
2.9.4 变量(Variable)数据类型54
2.9.5 数组(Array)类型55
2.9.6 参数57
2.9.7 名字空间60
2.10 表达式61
2.10.1 操作符62
2.10.2 操作数73
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)90
3.2.2 并行语句块(fork-join)92
3.2.3 顺序块和并行块的混合使用93
3.3 时间控制96
3.3.1 延时控制97
3.3.2 边沿触发事件控制98
3.3.3 电平敏感事件控制(wait语句)104
3.4 赋值语句106
3.4.1 过程赋值语句107
3.4.2 阻塞型赋值语句和非阻塞型赋值语句111
3.4.3 连续赋值语句和过程连续赋值语句117
3.5 分支语句127
3.5.1 if-else条件分支语句128
3.5.2 case分支控制语句132
3.6 循环控制语句137
3.6.1 forever循环语句137
3.6.2 repeat循环语句138
3.6.3 while循环语句140
3.6.4 for循环语句141
3.7 任务(task)和函数(function)143
3.7.1 任务(task)143
3.7.2 函数(function)147
第4章 结构级建模153
4.1 模块级建模154
4.1.1 模块的定义154
4.1.2 模块的端口155
4.1.3 模块的调用158
4.1.4 在模块调用时对参数值的更改164
4.2 门级建模167
4.2.1 内置基本门级元件168
4.2.2 用户自定义基本元件(UDP)180
第5章 时序状态机的设计入门与提高190
5.1 有限状态机(FSM)的分类190
5.1.1 米利(Mealy)机191
5.1.2 摩尔(Moore)机191
5.2 有限状态机常用的描述、开发方法191
5.3 基于状态转移图(STG)的设计192
5.3.1 设计要点192
5.3.2 建模实例193
5.4 基于算法状态机(ASM)图的设计199
5.4.1 算法状态机图199
5.4.2 算法状态机和数据通道图200
第二篇 Verilog HDL语言综合原理篇206
第6章 综合的基本知识206
6.1 综合的概念206
6.2 数值集合与数据类型208
6.3 储值单元的综合原则209
第7章 Verilog HDL语句的综合211
7.1 连续赋值(Continuous Assignment)语句的综合211
7.2 过程赋值(Procedural Assignment)语句的综合212
7.2.1 阻塞赋值语句212
7.2.1 非阻塞赋值语句213
7.3 逻辑运算符的综合214
7.4 算术运算符的综合215
7.4.1 无符号运算215
7.4.2 有符号运算215
7.4.3 进位与位宽216
7.5 关系运算符(relational operator)的综合216
7.6 移位(shift)运算符综合218
7.7 位选择(bit-selects)综合219
7.8 条件表达式的综合220
7.9 always语句的综合221
7.10 if语句的综合224
7.11 case语句的综合225
7.11.1 从case语句综合出锁存器226
7.11.2 casez和casex语句的综合230
7.11.3 并行的case语句232
7.11.4 条件表达式使用常量的case语句234
7.12 关于锁存器的综合235
7.13 循环语句的综合239
7.13.1 静态循环的综合239
7.13.2 非静态循环的综合241
7.14 触发器的建模242
7.14.1 反相时钟243
7.14.2 异步复位、置位244
7.14.3 同步置位、复位246
7.15 阻塞和非阻塞赋值的深入讨论247
7.16 函数的综合250
7.17 任务的综合251
7.18 值x(任意值)、z(高阻)的综合252
第8章 常用模块的建模实例256
8.1 组合逻辑的建模256
8.2 时序逻辑的建模258
8.3 计数器建模259
8.3.1 二进制计数器259
8.3.2 Gray码计数器260
8.3.3 Johnson计数器262
8.4 多路开关建模263
8.5 译码器建模264
8.6 移位寄存器建模266
8.6.1 通用移位寄存器266
8.6.2 桶形移位寄存器267
8.7 存储器建模268
8.8 ALU单元建模269
8.9 加法器建模271
第9章 建模优化273
9.1 资源共享273
9.2 公共子表达式276
9.3 代码调整277
9.4 公因子278
9.5 触发器和锁存器的优化280
9.6 代码大小282
9.7 算术表达式树高度优化282
9.8 运算符强度缩减284
第10章 设计验证286
10.1 后综合设计验证287
10.1.1 基于仿真的验证287
10.1.2 形式化验证287
10.2 面向验证的编码风格288
10.2.1 功能正确性288
10.2.2 时序正确性291
10.3 定时验证292
10.4 时序分析基础293
10.4.1 周期与最大时钟频率293
10.4.2 时钟建立时间294
10.4.3 时钟保持时间294
10.4.4 时钟输出延时295
10.4.5 引脚到引脚延时295
10.5 定时验证的系统任务295
第三篇 常用EDA开发工具篇298
第11章 Quartus Ⅱ使用指南298
11.1 Quartus Ⅱ简介298
11.2 Quartus Ⅱ设计流程299
11.3 Quartus Ⅱ设计方法303
11.3.1 自上而下与自下而上的设计方法比较303
11.3.2 自上而下渐进式编译设计流程303
11.3.3 自下而上的渐进式编译流程304
11.4 Quartus Ⅱ各功能详解304
11.4.1 使用模块编辑器304
11.4.2 项目设置305
11.4.3 时序分析报告307
11.4.4 仿真308
11.4.5 下载310
11.5 时序约束与分析313
11.5.1 时序约束与分析基础313
11.5.2 设置时序约束的方法314
11.5.3 最小化时序分析319
11.6 设计优化320
11.6.1 优化流程320
11.6.2 使用DSE321
11.6.3 设计优化的初次编译323
11.6.4 资源利用优化325
11.6.5 I/O时序优化327
11.6.6 最高时钟频率优化328
11.7 SignalTap Ⅱ329
11.7.1 设计中创建SignalTap Ⅱ329
11.7.2 通过SignalTap Ⅱ察看数据331
11.7.3 SignalTap Ⅱ的高级配置332
第12章 ISE开发工具334
12.1 ISE系统简介334
12.2 ISE设计快速入门335
12.2.1 ISE的安装335
12.2.2 ISE应用入门340
12.2.3 ISE的一般设计流程343
12.3 工程管理与设计输入348
12.3.1 ISE工程管理器348
12.3.2 HDL语言的输入工具——HDL Editor348
12.3.3 原理图输入工具——ECS349
12.3.4 IP核生成工具——CORE Generator350
12.3.5 测试激励生成器——HDL Bencher353
12.4 ISE中综合工具介绍355
12.4.1 Synplify/Synplify Pro综合工具356
12.4.2 Synopsys综合工具364
12.4.3 Xilinx内嵌的综合工具——XST365
12.4.4 全局时钟与第二全局时钟资源370
12.5 约束设置371
12.5.1 时序约束372
12.5.2 分组约束372
12.5.3 约束编辑器373
12.5.4 引脚与区域约束编辑器375
12.5.5 约束文件377
12.6 设计进阶378
12.6.1 时序分析378
12.6.2 布局规划378
12.6.3 FPGA底层编辑380
第13章 ModelSim开发工具381
13.1 ModelSim简介381
13.2 基本仿真步骤381
13.2.1 建立ModelSim库381
13.2.2 编译源代码383
13.2.3 启动仿真器384
13.2.4 执行仿真384
13.3 ModelSim各界面介绍385
13.3.1 Main窗口385
13.3.2 Structure窗口386
13.3.3 Source窗口386
13.3.4 Signals窗口387
13.3.5 Process窗口387
13.3.6 Variables窗口388
13.3.7 Dataflow窗口389
13.3.8 Wave窗口389
13.3.9 List窗口390
13.4 ModelSim调试功能390
13.4.1 监视信号390
13.4.2 使用断点393
第四篇 设计经验与技巧篇396
第14章 优秀设计的经验与技巧指导396
14.1 Verilog HDL语言的编码风格(Coding Style)396
14.1.1命名习惯(Naming Conventions)396
14.1.2 注释(comment)397
14.1.3 代码风格398
14.1.4 模块分割与复用398
14.1.5 时钟与同步问题404
14.1.6 通用编码技巧406
14.1.7 面向综合的编程风格406
14.2 同步复位与异步复位410
14.2.1 触发器建模的通用原则410
14.2.2 同步复位412
14.2.3 异步复位414
14.2.4 异步复位问题415
14.2.5 复位同步电路416
14.2.6 复位分配树417
14.2.7 复位毛刺过滤420
14.2.8 多时钟复位讨论421
14.2.9 总结422
14.3 设计异步多时钟系统的综合及描述技巧422
14.3.1 亚稳态422
14.3.2 多时钟系统同步423
14.3.3 静态定时分析424
14.3.4 时钟命名习惯425
14.3.5 设计分割425
14.3.6 综合脚本与时序分析425
14.3.7 高速时钟信号到低速时钟域的同步426
14.3.8 多控制信号的传递427
14.3.9 数据通道同步431
第五篇 Verilog HDL实例应用篇434
第15章 各种加法器(减法器)设计434
15.1 行波进位(Ripple-Carry)加法器434
15.2 进位链(Carry-Chain)加法器435
15.3 跳跃进位(Carry-Skip)加法器438
第16章 常用乘法器设计441
16.1 基本乘法器441
16.2 时序乘法器443
16.3 阵列乘法器445
16.3.1 行波进位乘法器445
16.3.2 进位存储乘法器448
第17章 伽罗华域GF(q)乘法器设计451
17.1 应用背景451
17.2 理论算法452
17.2.1 有限域元素的弱对偶基表示452
17.2.2 有限域元素的乘法453
17.2.3 最优弱对偶基453
17.3 基于弱对偶基的有限域比特并行乘法器建模454
17.3.1 多项式基到弱对偶基坐标变换455
17.3.2 弱对偶基系数扩展456
17.3.3 乘法模块456
17.3.4 弱对偶基到多项式基坐标变换457
17.4 弱对偶基有限域乘法器程序说明458
第18章 常用除法器设计461
18.1 二进制恢复除法器461
18.2 时序除法器设计464
第19章 积分梳状滤波器(CIC)设计468
19.1 应用背景468
19.2 理论算法469
19.3 三级CIC抽取滤波器建模471
19.4 程序说明473
第20章 CORDIC数字计算机的设计476
20.1 应用背景476
20.2 理论算法477
20.2.1 计算正弦和余弦值481
20.2.2 极坐标到直角坐标的变换481
20.2.3 反正切函数与向量的模482
20.2.4 笛卡儿坐标到极坐标的变换482
20.2.5 反正弦和反余弦函数482
20.2.6 线性函数483
20.2.7 双曲线函数484
20.3 用CORDIC计算正、余弦值实例建模487
20.4 程序说明489
第21章 伪随机序列应用设计492
21.1 应用背景492
21.2 理论知识493
21.2.1 伪随机信号特性493
21.2.2 线性反馈移位寄存器495
21.3 PN序列应用实例495
21.4 程序说明496
第22章 异步FIFO设计499
22.1 FIFO“空”/“满”检测499
22.1.1 Gray码计数器499
22.1.2 FIFO“空”/“满”状态500
22.2 FIFO模块结构501
22.3 FIFO源代码说明502
22.3.1 顶层模块502
22.3.2 双端口RAM模块503
22.3.3 异步比较器模块504
22.3.4 读指针与“空”逻辑模块505
22.3.5 写指针与“满”逻辑模块505
22.4 异步FIFO的相关问题506
22.4.1 FIFO的复位506
22.4.2 FIFO关键时序路径506
第23章 RS(204,188)译码器的设计508
23.1 应用背景508
23.2 理论算法509
23.2.1 Reed-Solomon码基本概念510
23.2.2 RS译码与关键方程511
23.2.3 BM及其改进算法求解关键方程513
23.2.4 Chien搜索和Forney算法515
23.3 RS(204,188)译码器建模516
23.3.1 伴随式计算模块516
23.3.2 改进的BM算法模块517
23.3.3 Chien搜索模块518
23.3.4 Forney算法模块518
23.4 程序说明521
附录A Verilog关键字533
附录B Verilog运算符535
附录C Verilog系统任务与函数540