注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2024-04

出版社:化学工业出版社

以下为《数字集成电路设计与实战》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 化学工业出版社
  • 9787122435576
  • 01
  • 514819
  • 16开
  • 2024-04
  • 813
  • 484
  • ①TN431.2
作者简介
曲英杰,现任青岛科技大学教授,主要研究方向为集成电路设计、计算机系统结构、信息安全,拥有二十三年集成电路设计与教学经验。本科毕业于山东大学,硕士毕业于南京航空航天大学,博士毕业于北京科技大学。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部。
查看全部
目录
第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