Verilog 数字系统设计教程(第2版) - 中国高校教材图书网
|
书名: |
Verilog 数字系统设计教程(第2版)
|
ISBN: | 978-7-81124-309-3 |
条码: | |
作者: |
夏宇闻
相关图书
|
装订: | 平装 |
印次: | 1-1 |
开本: | 16开 |
定价: |
¥40.00
折扣价:¥38.00
折扣:0.95
节省了2元
|
字数: |
787千字
|
出版社: |
北京航空航天大学出版社 |
页数: |
|
发行编号: | |
每包册数: |
|
出版日期: |
2008-06-01 |
|
内容简介: |
本书讲述了自20世纪90年代开始在美国和其他先进的工业化国家逐步推广的利用硬件描述语言(Verilog HDL)建模、仿真和综合的设计复杂数字逻辑电路与系统的方法和技术。书中内容从算法和计算的基本概念出发,讲述如何由硬线逻辑电路来实现复杂数字逻辑系统的方法。全书共分4部分。第一部分共8章,即Verilog数字设计基础篇,可作为本科生的入门教材。第二部分共10章,即设计和验证篇,可作为本科高年级学生或研究生学习数字系统设计的参考书。第三部分为实践篇,共提供12个上机练习和实验范例。第四部分是语法篇,即Verilog 硬件描述语言参考手册;IEEE Verilog13642001标准简介,以反映Verilog语法的最新变化,可供读者学习、查询之用。 本书的教学方式以每2学时讲授一章为宜,每次课后需要花10 h复习思考。完成10章学习后,就可以开始做上机练习,由简单到复杂,由典型到一般,循序渐进地学习Verilog HDL基础知识。按照书上的步骤,可以使大学电子类及计算机工程类本科及研究生,以及相关领域的设计工程人员在半年内掌握Verilog HDL设计技术。 本书可作为电子工程类、自动控制类、计算机类的大学本科高年级及研究生教学用书,亦可供其他工程人员自学与参考。
|
作者简介: |
|
章节目录: |
第一部分 Verilog数字设计基础
第1章 Verilog的基本知识10
1.1 硬件描述语言HDL10
1.2 Verilog HDL的历史11
1.2.1 什么是Verilog HDL11
1.2.2 Verilog HDL的产生及发展11
1.3 Verilog HDL和 VHDL的比较12
1.4 Verilog的应用情况和适用的设计13
1.5 采用Verilog HDL设计复杂数字电路的优点13
1.5.1 传统设计方法——电路原理图输入法13
1.5.2 Verilog HDL设计法与传统的电路原理图输入法的比较14
1.5.3 Verilog的标准化与软核的重用14
1.5.4 软核、固核和硬核的概念及其重用14
1.6 采用硬件描述语言(Verilog HDL)的设计流程简介15
1.6.1 自顶向下(Top_Down)设计的基本概念15
1.6.2 层次管理的基本概念16
1.6.3 具体模块的设计编译和仿真的过程16
1.6.4 具体工艺器件的优化、映像和布局布线16
小结17
思 考 题18
第2章 Verilog语法的基本概念19
概述19
2.1Verilog模块的基本概念20
2.2 Verilog用于模块的测试23
小结24
思 考 题25
第3章 模块的结构、数据类型、变量和基本运算符号26
概述26
3.1 模块的结构26
3.1.1 模块的端口定义26
3.1.2 模块内容27
3.1.3 理解要点28
3.1.4 要点总结28
3.2 数据类型及其常量和变量29
3.2.1 常量29
3.2.2 变量32
3.3 运算符及表达式35
3.3.1 基本的算术运算符35
3.3.2 位运算符36
小结37
思 考 题38
第4章 运算符、赋值语句和
结构说明语句39
概述39
4.1 逻辑运算符39
4.2 关系运算符40
4.3 等式运算符40
4.4 移位运算符41
4.5 位拼接运算符41
4.6 缩减运算符42
4.7 优先级别42
4.8 关 键 词43
4.9 赋值语句和块语句43
4.9.1 赋值语句43
4.9.2 块语句45
小结48
思 考 题49
第5章 条件语句、循环语句、
块语句与生成语句50
概述50
5.1 条件语句(if_else语句)50
5.2 case语句53
5.3 条件语句的语法57
5.4 多路分支语句58
5.5 循环语句60
5.5.1 forever语句60
5.5.2 repeat语句60
5.5.3 while语句61
5.5.4 for语句61
5.6 顺序块和并行块63
5.6.1 块语句的类型63
5.6.2 块语句的特点65
5.7 生成块67
5.7.1 循环生成语句68
5.7.2 条件生成语句70
5.7.3 case生成语句71
5.8举例72
5.8.1 四选一多路选择器72
5.8.2 四位计数器73
小结74
思 考 题75
第6章 结构语句、系统任务、
函数语句和显示系统任务 78
概述78
6.1 结构说明语句78
6.1.1 initial语句78
6.1.2 always语句79
6.2 task和function说明语句82
6.2.1 task和function说明语句的不同点82
6.2.2 task说明语句83
6.2.3 function说明语句84
6.2.4 函数的使用举例86
6.2.5 自动(递归)函数88
6.2.6 常量函数89
6.2.7 带符号函数 90
6.3 关于使用任务和函数的小结90
6.4 常用的系统任务91
6.4.1 $display和$write任务91
6.4.2 文件输出94
6.4.3 显示层次96
6.4.4 选通显示 96
6.4.5 值变转储文件97
6.5 其他系统函数和任务 98
小结98
思 考 题 99
第7章 调试用系统任务和常用
编译预处理语句100
概述100
7.1 系统任务 $monitor100
7.2 时间度量系统函数$time101
7.3 系统任务$finish102
7.4 系统任务$stop102
7.5 系统任务$readmemb和$readmemh103
7.6 系统任务 $random105
7.7 编译预处理106
7.7.1 宏定义define106
7.7.2" 文件包含"处理include108
7.7.3 时间尺度timescale111
7.7.4 条件编译命令ifdef、else、endif112
7.7.5 条件执行114
小结115
思 考 题116
第8章 语法概念总复习练习117
概述117
小结128
第二部分 设计和验证部分
第9章 Verilog HDL模型的不同抽象级别130
概述130
9.1 门级结构描述130
9.1.1 与非门、或门和反向器及其说明语法130
9.1.2 用门级结构描述D触发器131
9.1.3 由已经设计成的模块构成更高一层的模块132
9.2 Verilog HDL的行为描述建模133
9.2.1 仅用于产生仿真测试信号的Verilog HDL行为描述建模134
9.2.2 Verilog HDL建模在TopDown设计中的
作用和行为建模的可综
合性问题136
9.3 用户定义的原语137
小结138
思 考 题139
第10章 如何编写和验证简单
的纯组合逻辑模块140
概述140
10.1 加法器140
10.2 乘法器142
10.3 比较器145
10.4 多路器146
10.5 总线和总线操作148
10.6 流水线149
小结154
思 考 题155
第11章 复杂数字系统的构成156
概述156
11.1 运算部件和数据流动的控制逻辑156
11.1.1 数字逻辑电路的种类156
11.1.2 数字逻辑电路的构成156
11.2 数据在寄存器中的暂时保存158
11.3 数据流动的控制160
11.4 在Verilog HDL设计
中启用同步时序逻辑162
11.5 数据接口的同步方法164
小结165
思 考 题165
第12章 同步状态机的原理、结构和设计166
概述166
12.1 状态机的结构166
12.2 Mealy状态机和Moore
状态机的不同点167
12.3 如何用Verilog来描述可综合的状态机168
12.3.1 用可综合Verilog模块设计状态机的典型办法168
12.3.2 用可综合的Verilog模块设计、用独热码表示状态的状态机170
12.3.3 用可综合的Verilog模块设计、由输出指定的码表示状态的状态机171
12.3.4 用可综合的Verilog模块设计复杂的多输出状态机时常用的方法173
小结175
思 考 题175
第13章 设计可综合的状态机的指导原则177
概述177
13.1 用Verilog HDL语言设计
可综合的状态机的指导原则177
13.2 典型的状态机实例178
13.3 综合的一般原则180
13.4 语言指导原则180
13.5 可综合风格的Verilog HDL模块实例181
13.5.1 组合逻辑电路设计实例181
13.5.2 时序逻辑电路设计实例187
13.6 状态机的置位与复位189
13.6.1 状态机的异步置位与复位189
13.6.2 状态机的同步置位与复位191
小结192
思 考 题193
第14章 深入理解阻塞和非阻塞赋值的不同194
概述194
14.1 阻塞和非阻塞赋值的异同194
14.1.1 阻塞赋值195
14.1.2 非阻塞赋值196
14.2 Verilog模块编程要点196
14.3 Verilog的层次化事件队列197
14.4 自触发always块198
14.5 移位寄存器模型199
14.6 阻塞赋值及一些简单的例子203
14.7 时序反馈移位寄存器建模203
14.8 组合逻辑建模时应使用阻塞赋值205
14.9 时序和组合的混合逻辑
——使用非阻塞赋值207
14.10 其他阻塞和非阻塞混合使用的原则208
14.11 对同一变量进行多次赋值209
14.12 常见的对于非阻塞赋值的误解210
小结212
思 考 题212
第15章 较复杂时序逻辑电路设计实践213
概述213
小结224
思 考 题224
第16章 复杂时序逻辑电路设计实践226
概述226
16.1 二线制I2C CMOS串行
EEPROM的简单介绍226
16.2 I2C总线特征介绍226
16.3 二线制I2C CMOS串行
EEPROM的读写操作 227
16.4 EEPROM的Verilog HDL程序228
总结251
思 考 题251
第17章 简化的 RISC_CPU设计252
概述252
17.1 课题的来由和设计环境介绍252
17.2 什么是CPU253
17.3 RISC_CPU结构253
17.3.1 时钟发生器255
17.3.2 指令寄存器257
17.3.3 累加器258
17.3.4 算术运算器259
17.3.5 数据控制器260
17.3.6 地址多路器261
17.3.7 程序计数器261
17.3.8 状态控制器262
17.3.9 外围模块268
17.4 RISC_CPU 操作和时序269
17.4.1 系统的复位和启动操作269
17.4.2 总线读操作270
17.4.3 总线写操作271
17.5 RISC_CPU寻址方式和指令系统271
17.6 RISC_CPU模块的调试 272
17.6.1 RISC_CPU模块的前仿真272
17.6.2 RISC_CPU模块的综合286
17.6.3 RISC_CPU模块的优化和布局布线292
小结302
思 考 题303
第18章 虚拟器件/接口、IP和基于平台的
设计方法及其在大型数字系统
设计中的作用304
概述304
18.1 软核和硬核、宏单元、虚拟器件、设计和
验证IP以及基于平台的设计方法304
18.2 设计和验证IP供应商306
18.3 虚拟模块的设计307
18.4 虚拟接口模块的实例311
小结312
思 考 题312
第三部分 设计示范与实验练习
概述313
练习一 简单的组合逻辑设计314
练习二 简单分频时序逻辑电路的设计316
练习三 利用条件语句实现计数分频时序电路318
练习四 阻塞赋值与非阻塞赋值的区别320
练习五 用always块实现较复杂的组合逻辑电路322
练习六 在Verilog HDL中使用函数324
练习七 在Verilog HDL中使用任务(task)326
练习八 利用有限状态机进行时序逻辑的设计329
练习九 利用状态机实现比较复杂的接口设计332
练习十 通过模块实例调用实现大型系统的设计337
练习十一 简单卷积器的设计343
附录一 A/D转换器的Verilog HDL模型机所需要的技术参数357
附录二 2K*8位 异步 CMOS 静态
RAM HM65162模型361
练习十二 利用SRAM设计一个FIFO366
第四部分 语法篇
语法篇1 关于Verilog HDL的说明376
一、 关于 IEEE 1364标准376
二、 Verilog简介377
三、 语法总结377
四、 编写Verilog HDL源代码的标准379
五、 设计流程381
语法篇2 Verilog硬件描述语言参考手册382
一、 Verilog HDL语句与常用
标志符(按字母顺序排列)382
二、 系统任务和函数
(System task and function)448
三、 常用系统任务和
函数的详细使用说明452
四、 Command Line Options
命令行的可选项463
五、 IEEE Verilog 13642001标准简介464
参考文献478
|
精彩片段: |
|
书 评: |
|
其 它: |
|
|
|