新書推薦:
《
东野圭吾:变身(来一场真正的烧脑 如果移植了别人的脑子,那是否还是我自己)
》
售價:NT$
295.0
《
严复与福泽谕吉启蒙思想比较(王中江著作系列)
》
售價:NT$
750.0
《
甘于平凡的勇气
》
售價:NT$
225.0
《
存在与结构:精神分析的法国转向——以拉康与萨特为中心
》
售價:NT$
240.0
《
生成式人工智能:AIGC与多模态技术应用实践指南
》
售價:NT$
495.0
《
石油帝国的兴衰:英国的工业化与去工业化
》
售價:NT$
445.0
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:NT$
1990.0
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:NT$
550.0
|
內容簡介: |
本书系统地对Verilog
HDL语法和程序设计进行了介绍,明确了数字可综合逻辑设计和测试仿真程序设计在Verilog
HDL中的不同,通过对典型的组合逻辑电路、时序逻辑电路和测试程序的设计举例,较为完整地说明了Verilog HDL在数字集成电路中的使用方法。
全书共8章,主要内容包括硬件描述语言和Verilog HDL概述,Verilog HDL的基本语法,Verilog
HDL程序设计语句和描述方式,组合电路和时序电路的设计举例,Verilog HDL集成电路测试程序和测试方法,较为复杂的数字电路和系统的设计举例,数字集成电路中Verilog
HDL的EDA工具和使用,以及对Verilog HDL发展的分析等。
本书可作为电子信息类相关专业本科生和研究生的教材,也可作为数字集成电路设计工程师的参考书。
|
目錄:
|
第1章 Verilog HDL数字集成电路设计方法概述 1
1.1 数字集成电路的发展和设计方法的演变 1
1.2 硬件描述语言 3
1.3 Verilog HDL的发展和国际标准 3
1.4 Verilog HDL和VHDL 5
1.5 Verilog HDL在数字集成电路设计中的优点 6
1.6 功能模块的可重用性 8
1.7 IP核和知识产权保护 9
1.8 Verilog HDL在数字集成电路设计流程中的作用
10
本章小结 11
思考题和习题 11
第2章 Verilog HDL基础知识 12
2.1 Verilog HDL的语言要素 12
2.1.1 空白符 12
2.1.2 注释符 12
2.1.3 标识符和转义标识符 13
2.1.4 关键字 13
2.1.5 数值 14
2.2 数据类型 16
2.2.1 物理数据类型 17
2.2.2 连线型和寄存器型数据类型的声明 19
2.2.3 存储器型 20
2.2.4 抽象数据类型 21
2.3 运算符 22
2.3.1 算术运算符 23
2.3.2 关系运算符 24
2.3.3 相等关系运算符 25
2.3.4 逻辑运算符 26
2.3.5 按位运算符 26
2.3.6 归约运算符 27
2.3.7 移位运算符 28
2.3.8 条件运算符 28
2.3.9 连接和复制运算符 29
2.4 模块 30
2.4.1 模块的基本概念 30
2.4.2 端口 31
本章小结 32
思考题和习题 32
第3章 Verilog HDL程序设计语句和描述方式 34
3.1 数据流建模 34
3.2 行为级建模 36
3.2.1 过程语句 37
3.2.2 语句块 40
3.2.3 过程赋值语句 42
3.2.4 过程连续赋值语句 46
3.2.5 条件分支语句 48
3.2.6 循环语句 52
3.3 结构化建 55
3.3.1 模块级建模 55
3.3.2 门级建模 62
3.3.3 开关级建模 64
本章小结 66
思考题和习题 66
第4章 Verilog HDL数字逻辑电路设计方法 68
4.1 Verilog HDL的设计思想和可综合特性 68
4.2 组合电路的设计 71
4.2.1 数字加法器 73
4.2.2 数据比较器 76
4.2.3 数据选择器 77
4.2.4 数字编码器 78
4.2.5 数字译码器 83
4.2.6 奇偶校验器 85
4.3 时序电路的设计 86
4.3.1 触发器 92
4.3.2 计数器 94
4.3.3 移位寄存器 95
4.3.4 序列信号发生器 96
4.4 有限同步状态机 100
本章小结 110
思考题和习题 110
第5章 仿真验证与Testbench编写 113
5.1 Verilog HDL电路仿真和验证概述 113
5.2 Verilog HDL测试程序设计基础 114
5.2.1 Testbench及其结构 114
5.2.2 测试平台举例 117
5.2.3 Verilog HDL仿真结果确认 120
5.2.4 Verilog HDL仿真效率 121
5.3 与仿真相关的系统任务 122
5.3.1 $display和$write 122
5.3.2 $monitor和 $strobe 124
5.3.3 $time和 $realtime 127
5.3.4 $finish和$stop 128
5.3.5 $readmemh和$readmemb 129
5.3.6 $random 130
5.3.7 值变转储文件系统任务 131
5.4 信号时间赋值语句 135
5.4.1 时间延迟的语法说明 136
5.4.2 时间延迟的描述形式 136
5.4.3 边沿触发事件控制 141
5.4.4 电平敏感事件控制 144
5.5 任务和函数 145
5.5.1 任务 145
5.5.2 函数 149
5.5.3 任务与函数的区别 153
5.6 典型测试向量的设计 153
5.6.1 变量初始化 153
5.6.2 数据信号测试向量的产生 154
5.6.3 时钟信号测试向量的产生 155
5.6.4 总线信号测试向量的产生 157
5.7 用户自定义元件模型 159
5.7.1 UDP的定义与调用 159
5.7.2 UDP应用实例 161
5.8 基本门级元件和模块的延时建模 163
5.8.1 门级延时建模 163
5.8.2 模块延时建模 167
5.8.3 与时序检查相关的系统任务 170
5.9 编译预处理语句 171
5.9.1 宏定义 171
5.9.2 文件包含处理 173
5.9.3 仿真时间标度 174
5.9.4 条件编译 175
5.9.5 其它语句 176
5.10 Verilog HDL测试方法简介 176
本章小结 177
思考题和习题 177
第6章 Verilog HDL高级程序设计举例 181
6.1 数字电路系统设计的层次化描述方法 181
6.2 典型电路设计 185
6.2.1 加法器树乘法器 185
6.2.2 Wallace树乘法器 188
6.2.3 复数乘法器 191
6.2.4 FIR滤波器的设计 192
6.2.5 片内存储器的设计 195
6.2.6 FIFO设计 200
6.2.7 键盘扫描和编码器 204
6.2.8 log函数的Verilog HDL设计 212
6.2.9 CORDIC算法的Verilog HDL实现
215
6.3 总线控制器设计 223
6.3.1 UART接口控制器 223
6.3.2 SPI接口控制器 227
本章小结 230
思考题和习题 231
第7章 仿真测试工具和综合工具 233
7.1 数字集成电路设计流程简介 233
7.1.1 设计规范 233
7.1.2 设计划分 234
7.1.3 设计输入 234
7.1.4 仿真 234
7.1.5 综合 235
7.1.6 适配布线 235
7.1.7 时序分析 235
7.1.8 物理验证 236
7.1.9 设计结束 236
7.2 测试和仿真工具 236
7.2.1 ModelSim的使用 237
7.2.2 NC-Verilog的使用 246
7.3 综合工具 249
7.3.1 Synplify的使用 249
7.3.2 Design Compiler的使用 255
7.4 布局布线工具及后仿真 260
7.4.1 工具简介 260
7.4.2 布局布线 262
7.4.3 后仿真 266
7.4.4 添加仿真库 269
7.5 Quartus Ⅱ工具全流程应用 271
7.5.1 设计实现 272
7.5.2 仿真验证 275
7.5.3 编程与配置 278
本章小结 281
思考题和习题 281
第8章 设计与验证语言的发展趋势 283
本章小结 287
思考题和习题 287
参考文献 288
|
內容試閱:
|
随着集成电路技术的飞速发展,集成电路的制造工艺已经达到14 nm甚至更小尺寸,数字集成电路的规模越来越大,复杂度越来越高。为了提高设计效率和可靠性,融合了电子技术、计算机技术和智能化技术的EDAElectronics Design Automation工具已经在高速复杂数字集成电路中得到了广泛应用。
硬件描述语言HDL是现代专用集成电路ASIC的重要设计和仿真语言。目前,大部分数字集成电路设计者都在使用HDL的设计方法创建高层次、结构化、基于语言的抽象电路描述,利用已有的设计技术综合出所需硬件电路,并对其进行功能验证和时序分析。
对于准备从事集成电路设计和FPGA设计的读者来说,必须了解如何在设计流程的关键阶段正确使用HDL,并在综合后获得期望的电路,因此需要在HDL基本语法结构的基础上,深入理解电路的综合特性和测试仿真方法。本书就是为这样一个目标而撰写的。
Verilog HDL是被广泛采用的一种硬件描述语言,目前有关Verilog HDL的书籍多数都将重点放在了语言和语法的讲解上,而较少分析Verilog HDL和相应数字电路的关系,以及如何通过设计得到与目标相符合的电路系统。本书的着眼点主要放在Verilog HDL的设计方法上,这也是本书编写的基本出发点。
本书主要根据Verilog HDL国际标准IEEE 13642001,对基本语法、设计方法、综合方法和验证方法等进行讲解和分析,并通过大量的实用电路的设计,使读者能够对基于Verilog HDL的数字集成电路设计技术有一个全面的了解。
本书重点集中于如何在数字电路设计中的设计、综合和验证过程中合理使用Verilog HDL。由于Verilog HDL本质上是对数字电路的一种抽象描述,因此学习本书时需具备较深入的数字电路设计基础知识,同时至少应熟悉一种编程语言,以助于通过阅读获取有用知识,并提高设计能力。在本书中,我们仅讨论了Verilog HDL的核心设计和验证方法,并采用典型的设计例程,以帮助读者快速掌握相关知识。由于数字电路的多样性和灵活性,因此希望在这些例程的基础上,能够为复杂电路的设计提供帮助。
在数字电路中通常采用真值表、状态转移图和算法状态图对组合电路与时序电路进行分析和表示,本书即采用了这些方法用于Verilog HDL的设计和分析,以提高读者对设计方法的理解。同时,对于目前在信号处理、自动控制、数值计算等应用中所采用的一些设计方法如查找表LUT、级数展开和有限状态机进行了说明和举例,希望能够帮助读者扩展设计思路。
本书列举大量实例的主要目的是希望读者在使用Verilog HDL的超大规模集成电路VLSI设计方法中,学习如何应用关键步骤进行设计和验证。书中所列举的实例都是完整的,并在ModelSim和Synplify软件中进行了编译、综合和仿真。为了适应FPGA设计初学者的需要,本书以Altera公司的FPGA和工具软件Quartus为例,对FPGA开发流程进行了讲解。
本书是在第一版西安电子科技大学出版社,2011年的基础上修订而成的,是十二五普通高等教育本科国家级规划教材,适用于学习集成电路设计和硬件描述语言课程的本科生和研究生,可作为课程教材和设计参考。对于希望通过实例学习Verilog HDL,并将这种语言应用于集成电路设计和测试的专业工程师,本书也会有一定的帮助。本书假定读者已具有布尔代数和数字逻辑设计等背景知识,并具有一定的数字电路设计经验。
全书共分为8章。第1章主要介绍了Verilog HDL在数字集成电路设计中的作用、发展演变的过程和相关国际标准;第2章介绍了Verilog HDL基本语言结构和语法规则;第3章通过例程对Verilog HDL设计描述方式和高级程序语句进行了介绍;第4章对组合电路和时序电路的Verilog HDL程序设计进行了深入分析,并给出了典型的设计例程;第5章介绍了Verilog HDL仿真测试程序和相关系统任务的知识;第6章给出了功能较为复杂的数字电路、系统和总线设计;第7章简要介绍了采用Verilog HDL进行集成电路设计的EDA工具和例程;第8章从集成电路设计面临的问题出发,分析了Verilog HDL的完善和发展方向。
十分感谢为本书的出版作出贡献的老师和学生。感谢李振荣教授、何小川同学和李涛同学在集成电路设计流程过程、代码质量评估等方面的大量实际工作;感谢李逍楠和张泽同学对于本书中实例的整理和在ModelSim与Synplify中所做的大量验证工作;感谢翁静纯、张超越、耿剑波同学对于已有著作中语法的重新整理,并提出了在教学中应用的建议;感谢骏龙科技的宋士权先生和程旭先生,以及Altera中国的陈卫忠先生长期的支持和帮助。
此外,感谢我的父母和妻子王鹍女士在本书编写和出版过程中对我的支持和鼓励,同时,将本书作为珍贵的礼物送给我的女儿蔡云帆,希望她和我的学生在生活和学习中能够饮水思源、力学笃行。
希望本书能够为致力于集成电路设计的读者和工程师提供帮助。
|
|