您的浏览器不支持JavaScript,请开启后继续
数字集成电路设计与实战

数字集成电路设计与实战

  • 作者
  • 曲英杰、李阳 编著

本书系统介绍了数字集成电路的设计思想、原理、方法和技术,主要内容包括数字集成电路设计流程、Verilog硬件描述语言、基于Verilog HDL的逻辑设计方法、数字集成电路设计的验证方法、EDA 工具的原理及使用方法、基于FPGA的集成电路设计方法、低功耗设计技术、可测性设计方法、SoC设计方法以及多个复杂度较高的设计实例等。 本书根据数字集成电路设计与验证的工程需要确定...


  • ¥169.00

ISBN: 978-7-122-43557-6

版次: 1

出版时间: 2024-04-01

图书介绍

ISBN:978-7-122-43557-6

语种:汉文

开本:16

出版时间:2024-04-01

装帧:平

页数:484

编辑推荐

本书内容涵盖了数字集成电路设计全流程,系统介绍了数字集成电路设计与验证的思想、原理、方法和技术。涵盖数字集成电路设计概述、数字集成电路设计流程、Verilog硬件描述语言、基于Verilog HDL的逻辑设计方法、数字集成电路设计的验证方法、EDA工具的原理及使用方法、基于FPGA的集成电路设计方法、低功耗设计技术、可测性设计方法、SOC设计方法、设计实例等内容。本书具有以下特点:(1)内容新颖,紧跟学科和产业发展,将新的研究成果和先进的实用技术纳入其中。 (2)知识结构系统完备,内容涵盖了数字集成电路设计流程中的各个知识点。 (3)设计实例丰富,每个实例都来自作者的科研项目,具有一定的设计复杂度和创新性,并经过严格的测试验证;所有实例都提供全部的Verilog RTL设计代码和验证代码及测试向量,供读者参考;通过对设计实例的详细讲解和读者亲自动手实践,培养读者的工程思维和动手能力。 (4)注重总结和提炼具有普遍指导意义的设计思想和方法,引导读者举一反三,提高分析问题和解决问题的能力。 (5)在内容的组织与编排方面突出逻辑性和条理性,遵循循序渐进的原则,符合读者的学习习惯。

图书前言

数字集成电路设计技术是信息产业的核心技术,关系到国家的安全和经济的发展,体现了一个国家的核心竞争力和创新能力。目前,我国集成电路设计产业发展迅速,人才缺口较大,很多高校的电子信息类专业陆续开设了数字集成电路设计相关课程。编写本书的目的是提高我国数字集成电路设计人才的培养质量,为我国集成电路设计产业的发展提供支持。
编写本书的指导思想是:面向学科前沿,面向产业需求,面向工程实践,在内容的选择和组织上体现出系统性、完备性、先进性和实用性。
基于上述指导思想,本书首先介绍了数字集成电路的历史、现状和发展趋势,以及相关的基本概念、思想和方法;然后介绍了目前产业界流行的数字集成电路设计流程,之后以该设计流程为主线,详细介绍了流程中各个环节所用到的设计思想、原理、方法和技术,主要内容包括数字集成电路设计流程、Verilog硬件描述语言、基于Verilog HDL的逻辑设计方法、数字集成电路设计的验证方法、EDA 工具的原理及使用方法、基于FPGA 的集成电路设计方法、低功耗设计技术、可测性设计方法、SoC设计方法以及多个复杂度较高的设计实例等。
本 书内容新颖,紧跟学科前沿,能够把新的理论研究成果和先进的实用技术及时纳入其中;知识结构系统完备,内容涵盖了数字集成电路设计流程中的各个知识点;设计实例丰富,每个实例都来自笔者的科研项目且介绍详尽,使读者能够深入了解各个设计环节,加深对设计方法的理解,提高工程实践能力;注重总结和提炼具有普遍指导意义的设计思想和方法,引导读者重视对一般性的设计思想、设计方法的理解和掌握,而非仅仅局限于某些具体问题的解决,从而提高读者分析问题和解决问题的能力;在内容的组织编排方面,突出逻辑性和条理性,遵循循序渐进的原则,符合学习习惯。
本书可以作为高等学校电子信息类专业本科生和研究生的教材,也可供相关的工程技术人员参考。建议本教材的授课学时为80学时,其中理论48学时,实验32学时,具体学时分配见下表:
授课内容                                     学时分配
第1章 数字集成电路设计概述                            4学时
第2章 数字集成电路设计流程                            8学时
第3章 Verilog硬件描述语言                             8学时
第4章 基于Verilog HDL的逻辑设计方法                        6学时
第5章 数字集成电路设计的验证方法                         4学时
第6章 EDA工具的原理及使用方法                           8学时
第7章 基于FPGA的集成电路设计方法                         4学时
第8章 低功耗设计技术                               2学时
第9章 可测性设计方法                               2学时
第10章 SoC设计方法                                2学时
实验(可从第11~15章5个设计实例中选择1个作为实验内容,将设计实例划分为体系结构   32学时
设计、各个子模块的RTL代码设计与功能仿真、系统集成与功能仿真、基于FPGA 进行综
合与布局布线、静态时序分析与时序仿真、FPGA实现与测试等多个实验)  
本书由曲英杰和李阳编写,笔者学生明洋、仝令威、林泽龙、苗恒、马敬万、孙希杰、赵晨旭、王静等参与了书中部分设计实例的仿真与验证工作,在此向他们表示感谢。本书在编写过程中参考了近年来国内外出版的多本同类书籍和相关资料,在此一并向相关人员表示衷心的感谢!
限于笔者水平,书中难免有不当之处,敬请广大读者批评指正!

编著者
E-mail:quyj_qd@163.com

作者简介

曲英杰,现任青岛科技大学教授,主要研究方向为集成电路设计、计算机系统结构、信息安全,拥有二十三年集成电路设计与教学经验。本科毕业于山东大学,硕士毕业于南京航空航天大学,博士毕业于北京科技大学。1987年2月至2004年8月在青岛理工大学任教师,2004年8月至今在青岛科技大学任教师、教研室主任,负责筹建了集成电路设计与集成系统、微电子科学与工程两个本科专业和计算机应用技术硕士点,并担任集成电路设计相关课程的主讲教师。1998年8月至2001年12月在北京多思公司从事集成电路设计工作,2002年1月至2004年3月在东北大学计算机科学与技术博士后流动站和海信集团ASIC中心从事集成电路设计方面的研究。主要科研成果如下:
(1)主持完成了青岛市重点技术创新项目—可重构密码协处理器,设计实现了可重构密码协处理器的FPGA验证芯片,该项目已经通过了青岛市科技局和青岛市经济委员会组织的鉴定,鉴定结论为国际领先水平。
(2)主持完成了青岛市科技计划项目—可移动高性能电脑加密机的研究与设计,提出了可移动高性能电脑加密机的设计方法与技术,并基于FPGA设计实现了一个原理样机。该样机采用USB2.0接口与电脑通信,能够实现AES算法和RSA算法,可用于机密文件的加密存储和传输、数字签名和身份认证等领域。
(3)主持完成了“可重组加密芯片”项目,所设计的FPGA验证芯片通过了公安部和北京市专家组的测试。
(4)参与完成了“宏指令集计算机微处理器设计”项目,所设计的CPU已经流片成功,并通过了权威部门的测试。
(5)主持设计完成了AES、RSA、SM2、SM4、DES、GOST、IDEA、RC5、RC6、SHA、SM3、MD5、RISC-V CPU等集成电路IP核,其中AES IP核已经流片成功。
(6)发表学术论文50余篇。
(7)获得发明专利授权5项、实用新型专利授权5项、软件著作权8项。
(8)出版教材3部。

精彩书摘

本书系统介绍了数字集成电路的设计思想、原理、方法和技术,主要内容包括数字集成电路设计流程、Verilog硬件描述语言、基于Verilog HDL的逻辑设计方法、数字集成电路设计的验证方法、EDA 工具的原理及使用方法、基于FPGA的集成电路设计方法、低功耗设计技术、可测性设计方法、SoC设计方法以及多个复杂度较高的设计实例等。
本书根据数字集成电路设计与验证的工程需要确定知识结构,内容涵盖了数字集成电路设计流程中的各个知识点;设计实例丰富且介绍详尽,使读者能够深入了解各个设计环节,加深对设计方法的理解,提高工程实践能力;在内容的组织编排方面,突出逻辑性和条理性,遵循循序渐进的原则,利于读者学习和掌握。
本书可以作为高等学校电子信息类专业本科生和研究生的教材,也可供相关的工程技术人员参考。

目录

第1章 数字集成电路设计概述001
1.1 数字集成电路的发展历史与现状002
1.1.1 机械式计算机的启蒙时代002
1.1.2 电子技术和半导体技术的诞生和发展002
1.2 现代数字IC 设计方法的发展005
1.2.1 自底向上的设计方法005
1.2.2 自顶向下的设计方法005
1.2.3 自顶向下与自底向上相结合的设计方法006
1.3 数字IC 前端设计语言及后端设计软件(EDA) 006
1.3.1 Verilog 硬件描述语言007
1.3.2 VHDL 007
1.3.3 验证和验证语言007
1.3.4 数字IC 设计后端EDA 工具008
1.4 数字IC 的设计模式008
1.4.1 全定制设计模式008
1.4.2 标准单元设计模式009
1.4.3 门阵列设计模式009
1.4.4 宏模块设计模式009
1.4.5 FPGA 设计模式009
1.4.6 不同设计模式的比较009
1.5 数字IC 设计面临的挑战010
1.5.1 工艺极限的挑战010
1.5.2 投资风险的挑战010
1.5.3 IC 工程师面临的挑战011
1.5.4 项目管理上的挑战011
1.6 集成电路的分类011
1.6.1 按用途分类011
1.6.2 按集成度分类011
1.6.3 按设计与制造过程分类012
1.7 与集成电路设计与制造相关的常用术语和基本概念012
1.8 集成电路设计质量评价014

第2章 数字集成电路设计流程016
2.1 数字集成电路设计流程简介017
2.2 系统体系结构设计017
2.2.1 系统体系结构设计的内容及方法017
2.2.2 系统体系结构设计实例018
2.3 RTL 代码编写045
2.4 RTL 代码功能仿真046
2.5 综合优化048
2.6 可测性设计051
2.7 后端布局布线051
2.8 时序仿真052
2.9 静态时序分析与时序收敛053
2.9.1 静态时序分析053
2.9.2 时序收敛053
2.10 CMOS 工艺选择053
2.11 IC 产业的变革及对设计方法的影响054

第3章 Verilog 硬件描述语言056
3.1 引言057
3.2 Verilog HDL 基本结构057
3.2.1 简单的Verilog HDL 例子057
3.2.2 Verilog HDL 的基本结构059
3.2.3 逻辑功能定义059
3.2.4 关键字060
3.2.5 标识符060
3.2.6 编写Verilog HDL 源代码的标准061
3.3 数据类型及常量、变量062
3.4 运算符及表达式066
3.5 语句069
3.6 赋值语句和块语句070
3.7 条件语句073
3.8 循环语句075
3.9 结构说明语句078
3.10 编译预处理语句083
3.11 语句的顺序执行与并行执行085
3.12 不同抽象级别的Verilog HDL 模型086
3.13 设计技巧088

第4章 基于Verilog HDL 的逻辑设计方法091
4.1 基本组合电路的设计方法092
4.2 基本时序电路设计097
4.3 同步状态机的设计方法099
4.4 存储模块设计117
4.5 复杂数字系统的逻辑设计121
4.5.1 算法状态机图121
4.5.2 数据通道/控制器划分122
4.5.3 复杂数字系统的设计方法123
4.6 复杂数字系统设计举例——多周期处理机设计123
4.6.1 多周期处理机Verilog RTL 代码123
4.6.2 多周期处理机测试代码128
4.6.3 多周期处理机功能仿真129
4.7 可综合的Verilog RTL 设计129
4.7.1 可综合的组合电路设计130
4.7.2 可综合的时序电路设计131
4.8 代码书写风格132

第5章 数字集成电路设计的验证方法133
5.1 数字集成电路设计验证的原理与方法134
5.2 软件仿真举例1:RSA 加密处理器仿真135
5.3 软件仿真举例2:基于USB 的RSA 加密处理器的功能仿真139
5.4 软件仿真举例3:AES 加密处理器的时序仿真143
5.5 硬件仿真举例:基于USB 的AES/RSA 加密处理器的硬件仿真146
5.6 验证平台编码风格150
5.7 验证平台模块设计150
5.8 验证平台结构设计154
5.9 断言155
5.10 验证质量评估156

第6章 EDA 工具的原理及使用方法158
6.1 ModelSim 的使用方法159
6.1.1 ModelSim 概览159
6.1.2 基本仿真流程160
6.1.3 ModelSim 工程165
6.1.4 基于多库的仿真171
6.1.5 在波形窗口中查看仿真结果174
6.1.6 利用ModelSim 进行时序仿真178
6.2 Quartus Ⅱ的使用方法180
6.2.1 可编程逻辑设计流程180
6.2.2 设计输入190
6.2.3 综合198
6.2.4 仿真202
6.2.5 布局布线205
6.2.6 基于块的设计211
6.2.7 时序分析215
6.2.8 时序逼近220
6.2.9 编程与配置224
6.2.10 调试228
6.2.11 工程更改管理231
6.2.12 系统级设计234
6.2.13 软件开发238

第7章 基于FPGA 的集成电路设计方法241
7.1 FPGA 基础知识242
7.2 FPGA 的基本结构242
7.2.1 Cyclone Ⅳ系列FPGA 器件概述242
7.2.2 Cyclone Ⅳ器件的逻辑单元和逻辑阵列模块246
7.2.3 Cyclone Ⅳ器件中的存储器模块250
7.2.4 Cyclone Ⅳ器件中的嵌入式乘法器253
7.3 FPGA 的设计流程256
7.4 基于FPGA 设计与实现集成电路的EDA 工具259
7.4.1 基于Quartus Prime 的FPGA 设计流程259
7.4.2 启动Quartus Prime 软件259
7.4.3 创建一个新的工程260
7.4.4 输入用Verilog 代码描述的设计模型263
7.4.5 编译设计电路266
7.4.6 引脚分配267
7.4.7 FPGA 芯片的编程与配置268
7.4.8 对所设计的电路进行测试270

第8章 低功耗设计技术271
8.1 低功耗设计的背景和意义272
8.2 低功耗设计技术的发展趋势273
8.3 常用的低功耗设计技术介绍275

第9章 可测性设计方法278
9.1 可测性设计的背景及意义279
9.2 可测性设计的基本概念与方法279
9.2.1 常用缩略语解释279
9.2.2 DFT 的常用方法280
9.3 基于ATPG 的扫描测试284
9.3.1 扫描测试的基本原理284
9.3.2 扫描测试的主要阶段285
9.3.3 扫描测试的基本时序286
9.3.4 扫描设计的注意事项287
9.4 边界扫描电路设计288
9.4.1 边界扫描简介288
9.4.2 边界扫描电路结构289
9.4.3 TAP 控制器及指令集289
9.4.4 基于BSD Compiler 的边界扫描电路设计方法292

第10章 SoC 设计方法297
10.1 SoC 概述297
10.2 SoC 设计流程300
10.2.1 软硬件协同设计300
10.2.2 基于标准单元的SoC 芯片设计流程302
10.3 SoC 系统结构设计305
10.4 IP 复用的设计方法314
10.5 SoC 验证方法318

第11章 AES 密码处理器设计与验证(方案1) 320
11.1 AES 算法描述321
11.1.1 数学预备知识321
11.1.2 符号和习惯用语322
11.1.3 AES 加密算法323
11.1.4 AES 解密算法326
11.1.5 密钥扩展329
11.2 AES 密码处理器的体系结构设计330
11.2.1 AES 密码处理器框图及外部信号说明330
11.2.2 AES 密码处理器模块结构图331
11.2.3 AES 密码处理器各子模块设计方案331
11.3 AES 密码处理器的Verilog 模型设计342
11.4 AES 密码处理器的功能仿真355
11.4.1 密钥扩展仿真结果355
11.4.2 加密仿真结果356
11.4.3 解密仿真结果357
11.5 基于FPGA 的AES 密码处理器的实现与测试358
11.5.1 基于FPGA 的AES 密码处理器的综合与时序仿真358
11.5.2 基于FPGA 的AES 密码处理器的实现与测试361

第12章 AES 密码处理器设计与验证(方案2) 365
12.1 AES 密码处理器体系结构设计366
12.1.1 AES 密钥扩展模块电路结构设计367
12.1.2 AES 加/解密模块电路结构设计368
12.1.3 提高性能和降低成本采用的技术368
12.2 AES 密码处理器Verilog RTL 模型设计369
12.3 AES 密码处理器功能仿真382
12.4 AES 密码处理器综合及性能、规模分析384
12.5 AES 密码处理器综合后时序仿真385
12.6 AES 密码处理器布局布线385
12.7 AES 密码处理器版图后物理检查(DRC、LVS) 386
12.8 AES 密码处理器版图后性能、规模、功耗分析387
12.9 AES 密码处理器版图后时序仿真387
12.10 AES 密码处理器基于FPGA 的综合、布局布线及分析388
12.11 AES 密码处理器基于FPGA 的实现与测试389
12.12 AES 密码处理器使用说明390

第13章 SM4 密码处理器设计与验证391
13.1 SM4 密码算法简介392
13.1.1 说明与定义392
13.1.2 SM4 加/解密算法393
13.1.3 SM4 密钥扩展算法393
13.1.4 SM4 加密实例394
13.2 SM4 密码处理器体系结构设计395
13.3 SM4 密码处理器Verilog RTL 模型设计397
13.4 SM4 密码处理器功能仿真408
13.5 SM4 密码处理器综合及性能、规模、功耗分析410
13.6 SM4 密码处理器综合后时序仿真412
13.7 SM4 密码处理器布局布线413
13.8 SM4 密码处理器物理验证(DRC、LVS) 414
13.9 SM4 密码处理器布局布线后性能、规模、功耗分析414
13.10 SM4 密码处理器版图后时序仿真415
13.11 SM4 密码处理器FPGA 验证415

第14章 RSA 密码处理器设计与验证419
14.1 RSA 算法描述420
14.2 RSA 算法硬件实现原理421
14.3 RSA 密码处理器体系结构设计422
14.3.1 RSA 控制模块设计423
14.3.2 参数寄存器模块设计428
14.3.3 数据选择器模块设计429
14.3.4 模乘模块设计429
14.4 RSA 密码处理器主要RTL 代码设计433
14.5 RSA 密码处理器功能仿真440
14.5.1 模乘模块功能仿真440
14.5.2 RSA 密码处理器功能仿真441
14.6 RSA 密码处理器基于FPGA 的综合、布局布线与性能、规模、功耗分析442
14.7 RSA 密码处理器基于FPGA 的实现与测试444
14.8 基于ASIC 标准单元工艺库对RSA 密码处理器进行综合及分析445
14.9 对综合后的RSA 密码处理器进行布局布线及分析447
14.10 附录(表14-17) 448

第15章 基于RISC-Ⅴ处理器和密码协处理器的SoC 设计453
15.1 密码算法简介454
15.1.1 AES 算法454
15.1.2 RSA 算法455
15.2 SoC 体系结构设计456
15.2.1 领域专用体系结构456
15.2.2 SoC 系统结构457
15.2.3 扩展指令编码457
15.3 协处理器设计与功能仿真459
15.3.1 AES 算法核设计459
15.3.2 RSA 算法核设计461
15.3.3 EAI 接口控制逻辑的设计462
15.3.4 功能仿真465
15.4 FPGA 实现与测试467
15.4.1 FPGA 测试方案467
15.4.2 测试程序开发468
15.4.3 SoC 测试结果469
15.5 后端设计470
15.5.1 综合470
15.5.2 综合后的静态时序分析471
15.5.3 形式验证472
15.5.4 布局布线474
15.5.5 布局布线后的静态时序分析478
15.5.6 时序仿真479
15.5.7 物理验证480
15.6 设计结果分析481

参考文献484

发送电子邮件联系我们