FPGA安全性设计指南.pdf:
目 录
审校者序
原书前言
作者简介
第 1 章 概述 ……………………………………………………………………………………… 1
1. 1 对 FPGA 日益增加的依赖 …………………………………………………………………… 1
1. 1. 1 航空航天用 FPGA ……………………………………………………………………… 2
1. 1. 2 超级计算用 FPGA ……………………………………………………………………… 4
1. 1. 3 用 FPGA 分析视频 ……………………………………………………………………… 4
1. 1. 4 高吞吐量加密用 FPGA ………………………………………………………………… 5
1. 1. 5 入侵检测及防范用 FPGA ……………………………………………………………… 5
1. 2 FPGA 体系结构 ……………………………………………………………………………… 6
1. 2. 1 可重构硬件的吸引力 …………………………………………………………………… 6
1. 2. 2 FPGA 的内部结构 ……………………………………………………………………… 7
1. 2. 3 设计流程 ……………………………………………………………………………… 12
1. 3 FPGA 安全问题的复杂性 …………………………………………………………………… 15
1. 3. 1 安全是一个难题 ……………………………………………………………………… 16
1. 3. 2 复杂度以及抽象 ……………………………………………………………………… 17
1. 3. 3 烘烤和修补的比较 …………………………………………………………………… 18
1. 3. 4 FPGA 核的隔离 ………………………………………………………………………… 19
1. 4 本书结构 …………………………………………………………………………………… 20
参考文献 21 ……………………………………………………………………………………………
第 2 章 高保障软件的经验与技术 25 …………………………………………………………
2. 1 背景 ………………………………………………………………………………………… 25
2. 2 恶意软件 …………………………………………………………………………………… 25
2. 2. 1 特洛伊木马 …………………………………………………………………………… 25
2. 2. 2 后门 …………………………………………………………………………………… 26
2. 3 保障度 ……………………………………………………………………………………… 28
2. 4 相称的保护 ………………………………………………………………………………… 28
2. 4. 1 威胁模型 ……………………………………………………………………………… 29
2. 5 安全策略的执行 …………………………………………………………………………… 31
2. 5. 1 安全策略类型 ………………………………………………………………………… 31
2. 5. 2 策略执行机制 ………………………………………………………………………… 35
2. 5. 3 可信任部件的组合 …………………………………………………………………… 45
2. 6 保障度管理策略的执行 …………………………………………………………………… 47
2. 6. 1 生命周期支持 ………………………………………………………………………… 47
2. 6. 2 配置管理 ……………………………………………………………………………… 50
2. 6. 3 独立评估 ……………………………………………………………………………… 51
2. 6. 4 动态程序分析 ………………………………………………………………………… 52
2. 6. 5 可信任发售 …………………………………………………………………………… 54
2. 6. 6 可信任恢复 …………………………………………………………………………… 55
2. 6. 7 静态分析 ……………………………………………………………………………… 57
参考文献 59 ……………………………………………………………………………………………
第 3 章 硬件安全的难点 65 ………………………………………………………………………
3. 1 恶意硬件 …………………………………………………………………………………… 65
3. 1. 1 恶意硬件的分类 ……………………………………………………………………… 65
3. 1. 2 晶圆代工厂的可信度 ………………………………………………………………… 66
3. 1. 3 物理攻击 ……………………………………………………………………………… 67
3. 2 隐蔽信道定义 ……………………………………………………………………………… 69
3. 2. 1 进程抽象 ……………………………………………………………………………… 69
3. 2. 2 等价类 ………………………………………………………………………………… 69
3. 2. 3 形式定义 ……………………………………………………………………………… 70
3. 2. 4 同步 …………………………………………………………………………………… 70
3. 2. 5 共享资源 ……………………………………………………………………………… 70
3. 2. 6 要求 …………………………………………………………………………………… 70
3. 2. 7 旁路 …………………………………………………………………………………… 71
3. 3 制约隐蔽信道和侧信道攻击的现有方法 ………………………………………………… 71
3. 3. 1 共享资源矩阵法 ……………………………………………………………………… 71
3. 3. 2 缓存干扰 ……………………………………………………………………………… 72
3. 3. 3 FPGA 掩码的保护方法 ………………………………………………………………… 72
3. 4 FPGA 隐蔽信道攻击的探测及应对 ………………………………………………………… 72
3. 4. 1 设计流程 ……………………………………………………………………………… 73
3. 4. 2 空间隔离 ……………………………………………………………………………… 73
3. 4. 3 存储保护 ……………………………………………………………………………… 73
3. 5 作为隐蔽存储信道的策略状态 …………………………………………………………… 73
3. 5. 1 状态策略 ……………………………………………………………………………… 74
3. 5. 2 隐蔽信道机制 ………………………………………………………………………… 74
3. 5. 3 编码方案 ……………………………………………………………………………… 75
3. 5. 4 隐蔽存储信道探测 …………………………………………………………………… 75
3. 5. 5 减轻隐蔽信道可能造成的危险 ……………………………………………………… 76
参考文献 …………………………………………………………………………………………… 76
·Ⅸ· 目 录
第 4 章 FPGA 更新及可编程性……………………………………………………………… 79
4. 1 概述 ………………………………………………………………………………………… 79
4. 2 比特流加密和认证 ………………………………………………………………………… 79
4. 2. 1 密钥管理 ……………………………………………………………………………… 80
4. 2. 2 战胜比特流加密 ……………………………………………………………………… 81
4. 3 远程更新 …………………………………………………………………………………… 81
4. 3. 1 认证 …………………………………………………………………………………… 81
4. 3. 2 可信恢复 ……………………………………………………………………………… 82
4. 4 部分可重构 ………………………………………………………………………………… 82
4. 4. 1 部分可重构的应用 …………………………………………………………………… 83
4. 4. 2 热置换和停机置换的比较 …………………………………………………………… 83
4. 4. 3 内部配置访问端口 …………………………………………………………………… 83
4. 4. 4 动态安全性和复杂度 ………………………………………………………………… 84
4. 4. 5 客体复用 ……………………………………………………………………………… 84
4. 4. 6 完整性验证 …………………………………………………………………………… 85
参考文献 86 ……………………………………………………………………………………………
第 5 章 FPGA 的存储保护 88 ……………………………………………………………………
5. 1 概述 ………………………………………………………………………………………… 88
5. 2 FPGA 上的存储保护 ………………………………………………………………………… 89
5. 3 策略描述与综合 …………………………………………………………………………… 90
5. 3. 1 存储访问策略 ………………………………………………………………………… 90
5. 3. 2 硬件综合 ……………………………………………………………………………… 92
5. 4 高级描述语言 ……………………………………………………………………………… 96
5. 5 示例策略 …………………………………………………………………………………… 97
5. 5. 1 受控共享 ……………………………………………………………………………… 97
5. 5. 2 访问列表 ……………………………………………………………………………… 98
5. 5. 3 中国墙 ………………………………………………………………………………… 99
5. 5. 4 Bell 与 LaPadula 保密模型 …………………………………………………………… 100
5. 5. 5 高水位线 ……………………………………………………………………………… 101
5. 5. 6 Biba 完整性模型 ……………………………………………………………………… 102
5. 5. 7 编辑 …………………………………………………………………………………… 103
5. 6 系统架构 …………………………………………………………………………………… 105
5. 7 评估 ………………………………………………………………………………………… 106
5. 8 使用策略编译器 …………………………………………………………………………… 107
5. 9 从数学角度构建严格的策略 ……………………………………………………………… 110
5. 9. 1 交叉乘积法 …………………………………………………………………………… 110
5. 9. 2 实例 …………………………………………………………………………………… 111
5. 9. 3 单一的策略变化 ……………………………………………………………………… 112
·Ⅹ· FPGA 安全性设计指南
5. 9. 4 混合策略的形式化要素 ……………………………………………………………… 112
5. 10 总结 ……………………………………………………………………………………… 114
参考文献 114 …………………………………………………………………………………………
第 6 章 采用壕沟技术的空间隔离 116 …………………………………………………………
6. 1 概述 ………………………………………………………………………………………… 116
6. 2 隔离 ………………………………………………………………………………………… 116
6. 3 采用壕沟技术的物理隔离 ………………………………………………………………… 117
6. 4 构建壕沟 …………………………………………………………………………………… 117
6. 4. 1 间隔法 ………………………………………………………………………………… 118
6. 4. 2 检查法 ………………………………………………………………………………… 119
6. 4. 3 间隔法与检查法的比较 ……………………………………………………………… 119
6. 5 使用吊桥的安全互连 ……………………………………………………………………… 120
6. 5. 1 直连的吊桥技术 ……………………………………………………………………… 120
6. 5. 2 局部重构的路线跟踪 ………………………………………………………………… 123
6. 5. 3 共享总线架构的吊桥技术 …………………………………………………………… 123
6. 6 采用壕沟技术来保护引用监视器 ………………………………………………………… 126
参考文献 126 …………………………………………………………………………………………
第 7 章 综合运用: 设计实例 127 ………………………………………………………………
7. 1 多核可重构嵌入式系统 …………………………………………………………………… 127
7. 2 片上外围总线 ……………………………………………………………………………… 128
7. 3 AES 核 ……………………………………………………………………………………… 128
7. 4 逻辑隔离区 ………………………………………………………………………………… 129
7. 5 引用监视器 ………………………………………………………………………………… 129
7. 6 状态性策略 ………………………………………………………………………………… 129
7. 7 安全的互连可扩展性 ……………………………………………………………………… 133
7. 8 隐蔽信道 …………………………………………………………………………………… 133
7. 9 壕沟技术与吊桥技术的合并 ……………………………………………………………… 134
7. 10 实施与评估 ……………………………………………………………………………… 135
7. 11 软件界面 ………………………………………………………………………………… 135
7. 12 安全可用性 ……………………………………………………………………………… 135
7. 13 更多的安全架构示例 …………………………………………………………………… 135
7. 13. 1 设计的种类 ………………………………………………………………………… 136
7. 13. 2 拓扑结构 …………………………………………………………………………… 137
7. 14 总结 ……………………………………………………………………………………… 139
参考文献 139 …………………………………………………………………………………………
第 8 章 前瞻性问题 140 ……………………………………………………………………………
8. 1 可信的工具 ………………………………………………………………………………… 140
8. 2 安全系统的形式验证 ……………………………………………………………………… 141
·Ⅺ· 目 录
8. 3 安全可用性 ………………………………………………………………………………… 141
8. 4 硬件可信性 ………………………………………………………………………………… 142
8. 5 语言 ………………………………………………………………………………………… 142
8. 6 配置管理 …………………………………………………………………………………… 143
8. 7 供应链的安全防护 ………………………………………………………………………… 143
8. 8 针对 FPGA 的物理攻击 …………………………………………………………………… 143
8. 9 设计盗窃与故障分析 ……………………………………………………………………… 144
8. 10 局部重构与动态安全 …………………………………………………………………… 144
8. 11 结论 ……………………………………………………………………………………… 145
参考文献 146 …………………………………………………………………………………………
附录 A 计算机体系结构的基本原理 148 ………………………………………………………
A. 1 计算机架构师的日常工作是什么? ……………………………………………………… 148
A. 2 CPU、 FPGA 与 ASIC 之间的折中方案 …………………………………………………… 149
A. 3 计算机体系结构与计算机科学 …………………………………………………………… 150
A. 4 程序分析 …………………………………………………………………………………… 150
A. 4. 1 处理器仿真科学 ……………………………………………………………………… 150
A. 4. 2 片上分析引擎 ………………………………………………………………………… 152
A. 4. 3 二进制测试设备 ……………………………………………………………………… 152
A. 4. 4 相位分类 ……………………………………………………………………………… 153
A. 5 新型计算机结构 …………………………………………………………………………… 154
A. 5. 1 DIVA 结构 …………………………………………………………………………… 154
A. 5. 2 原生微处理器 ………………………………………………………………………… 155
A. 5. 3 WaveScalar 结构 ……………………………………………………………………… 155
A. 5. 4 应用于医学领域的结构 ……………………………………………………………… 155
A. 6 存储器 ……………………………………………………………………………………… 156
A. 7 超标量处理器 ……………………………………………………………………………… 159
A. 8 多线程 ……………………………………………………………………………………… 160
参考文献 ………………………………………………………………………………………… 161
FPGA设计-基于团队的最佳实践.pdf:
目 录
译者序
审校者序
原书序
第 1章 FPGA设计成功的最佳实践……………………………………………………… 1
1.1 引言 ………………………………………………………………………………………… 1
第 2章 项目管理 ……………………………………………………………………………… 4
2.1 项目管理的作用 …………………………………………………………………………… 4
2.1.1 项目管理阶段 ………………………………………………………………………… 4
2.1.2 项目持续时间的估算 ………………………………………………………………… 4
2.1.3 计划 …………………………………………………………………………………… 5
第 3章 设计说明书 …………………………………………………………………………… 7
3.1 设计说明书:沟通是成功的关键 ………………………………………………………… 7
3.1.1 高级功能说明书 ……………………………………………………………………… 7
3.1.2 功能设计说明书 ……………………………………………………………………… 8
第 4章 资源调查 …………………………………………………………………………… 12
4.1 引言 ……………………………………………………………………………………… 12
4.2 工程资源 ………………………………………………………………………………… 12
4.3 第三方 IP ………………………………………………………………………………… 13
4.4 FPGA器件的选择………………………………………………………………………… 13
4.4.1 FPGA器件的特殊功能……………………………………………………………… 14
4.4.2 FPGA的规模选型 (密度) ……………………………………………………… 14
4.4.3 速度需求 …………………………………………………………………………… 16
4.4.4 引脚 ………………………………………………………………………………… 16
4.4.5 功耗 ………………………………………………………………………………… 16
4.4.6 IP的可用性 ………………………………………………………………………… 17
4.4.7 器件的可用性 ……………………………………………………………………… 17
4.4.8 小结 ………………………………………………………………………………… 17
第 5章 设计环境 …………………………………………………………………………… 18
5.1 引言 ……………………………………………………………………………………… 18
5.2 脚本化的环境 …………………………………………………………………………… 18
5.3 与版本控制软件的交互 ………………………………………………………………… 19
5.4 问题跟踪系统的使用 …………………………………………………………………… 20
5.5 回归测试系统 …………………………………………………………………………… 21
5.6 何时升级 FPGA设计工具的版本 ……………………………………………………… 21
5.7 FPGA设计环境中常用的工具…………………………………………………………… 22
第 6章 电路板设计 ………………………………………………………………………… 24
6.1 FPGA器件给电路板设计带来的挑战…………………………………………………… 24
6.2 工程师的角色和职责 …………………………………………………………………… 25
6.2.1 FPGA工程师………………………………………………………………………… 25
6.2.2 PCB设计工程师 …………………………………………………………………… 26
6.2.3 信号完整性设计工程师 …………………………………………………………… 26
6.3 功耗和散热问题 ………………………………………………………………………… 28
6.3.1 滤除电源噪声 ……………………………………………………………………… 28
6.3.2 电源分配 …………………………………………………………………………… 28
6.4 信号的完整性 …………………………………………………………………………… 29
6.4.1 信号完整性问题的类型 …………………………………………………………… 29
6.4.2 电磁干扰 …………………………………………………………………………… 30
6.5 FPGA引脚分配的设计流程……………………………………………………………… 31
6.5.1 流程 1:由 FPGA设计师主动 ……………………………………………………… 31
6.5.2 流程 2:由电路板设计师主动……………………………………………………… 33
6.5.3 FPGA设计师和电路板设计师如何进行引脚改动的沟通………………………… 34
6.6 电路板设计的审查要点 ………………………………………………………………… 34
第 7章 功耗和热分析 ……………………………………………………………………… 35
7.1 引言 ……………………………………………………………………………………… 35
7.2 功耗的基本要素 ………………………………………………………………………… 35
7.2.1 静态功耗 …………………………………………………………………………… 36
7.2.2 动态功耗 …………………………………………………………………………… 36
7.2.3 输入/输出功耗 ……………………………………………………………………… 36
7.2.4 浪涌电流 …………………………………………………………………………… 36
7.2.5 配置功耗 …………………………………………………………………………… 36
7.3 准确估计功耗的关键因素 ……………………………………………………………… 37
7.3.1 FPGA电路的准确功耗模型………………………………………………………… 37
7.3.2 每个信号的准确数据切换率 ……………………………………………………… 37
7.3.3 准确的运行条件 …………………………………………………………………… 38
7.3.4 资源利用 …………………………………………………………………………… 39
7.4 设计周期早期的功耗估计 (电源规划) ……………………………………………… 39
7.5 基于仿真的功耗估计 (设计的功耗验证) …………………………………………… 41
7.5.1 局部仿真 …………………………………………………………………………… 43
7.6 功耗估计的最佳实践方法 ……………………………………………………………… 43
第 8章 RTL代码设计 ……………………………………………………………………… 45
8.1 介绍 ……………………………………………………………………………………… 45
8.2 常用术语 ………………………………………………………………………………… 45
8.3 工程师对有 ASIC设计背景的建议 ……………………………………………………… 47
8.4 推荐的 FPGA设计规范 ………………………………………………………………… 48
8.4.1 同步与异步 ………………………………………………………………………… 48
8.4.2 全局信号 …………………………………………………………………………… 48
8.4.3 专用硬件组件 ……………………………………………………………………… 49
8.4.4 低层次设计原语的使用 …………………………………………………………… 50
8.4.5 亚稳态的管理 ……………………………………………………………………… 51
8.5 编写高效的 HDL代码 …………………………………………………………………… 51
8.5.1 什么是最好的硬件设计语言 ……………………………………………………… 52
8.5.2 良好的设计习惯 …………………………………………………………………… 53
8.5.3 可综合的 HDL …………………………………………………………………… 589
8.6 RTL设计的分析 ………………………………………………………………………… 67
8.6.1 综合报告 …………………………………………………………………………… 68
8.6.2 综合警告 …………………………………………………………………………… 68
8.6.3 电路方块图的浏览 ………………………………………………………………… 69
8.7 RTL设计要点总结 ……………………………………………………………………… 70
9章 IP及设计重用 ……………………………………………………………………… 72
9.1 引言 ……………………………………………………………………………………… 72
9.2 IP重用的需求 …………………………………………………………………………… 72
9.2.1 IP重用的好处 ……………………………………………………………………… 72
9.2.2 开发可重用设计方法学面临的困难 ……………………………………………… 73
9.3 设计还是购买 …………………………………………………………………………… 74
9.4 构建可重用的 IP ………………………………………………………………………… 75
9.4.1 设计说明书 ………………………………………………………………………… 75
9.4.2 实施方法 …………………………………………………………………………… 76
9.4.3 标准接口的使用 …………………………………………………………………… 77
9.5 IP组件库软件包 ………………………………………………………………………… 78
9.5.1 IP说明书 …………………………………………………………………………… 79
9.5.2 用户接口 …………………………………………………………………………… 79
9.5.3 与系统集成工具的兼容性 ………………………………………………………… 81
9.5.4 IP的安全性 ………………………………………………………………………… 81
9.6 IP重用的检查清单 ……………………………………………………………………… 82
第 10章 硬件到软件的接口 ……………………………………………………………… 83
10.1 软件接口 ………………………………………………………………………………… 83
10.2 寄存器地址映射表的定义 ……………………………………………………………… 83
10.3 寄存器地址映射表的使用 ……………………………………………………………… 83
10.3.1 IP的选择 …………………………………………………………………………… 83
10.3.2 软件工程师的接口 ………………………………………………………………… 84
10.3.3 RTL工程师的接口 ………………………………………………………………… 84
10.3.4 接口的验证 ………………………………………………………………………… 85
10.3.5 文档 ………………………………………………………………………………… 85
10.4 小结 ……………………………………………………………………………………… 85
第 11章 功能验证 …………………………………………………………………………… 86
11.1 简介 ……………………………………………………………………………………… 86
11.2 功能验证面临的挑战 …………………………………………………………………… 86
11.3 有关验证的术语 ………………………………………………………………………… 87
11.4 RTL仿真和门级仿真的对比 …………………………………………………………… 88
11.5 验证方法学 ……………………………………………………………………………… 88
11.6 克服复杂性 ……………………………………………………………………………… 89
11.6.1 设计和测试的模块化 ……………………………………………………………… 89
11.6.2 规划预期操作 ……………………………………………………………………… 89
11.6.3 应对意外状态的计划 ……………………………………………………………… 89
11.7 功能覆盖 ………………………………………………………………………………… 90
11.7.1 定向测试 …………………………………………………………………………… 90
11.7.2 随机动态仿真 ……………………………………………………………………… 91
11.7.3 受约束的随机测试 ………………………………………………………………… 91
11.7.4 SystemVerilog用于设计和验证 …………………………………………………… 91
11.7.5 通用测试平台方法 ………………………………………………………………… 92
11.7.6 自验证测试平台 …………………………………………………………………… 93
11.7.7 形式化等价性验证 ………………………………………………………………… 94
11.8 代码覆盖度 ……………………………………………………………………………… 95
11.9 质量评价 (QA)测试 ………………………………………………………………… 95
11.9.1 功能回归测试 ……………………………………………………………………… 95
11.9.2 可重用 IP的图形界面 (GUI)测试……………………………………………… 95
11.10 硬件互操作性测试 …………………………………………………………………… 96
11.11 软/硬件协同验证 ……………………………………………………………………… 96
11.11.1 加快投片的准备 ………………………………………………………………… 96
11.12 功能验证清单 ………………………………………………………………………… 97
第 12章 时序收敛 …………………………………………………………………………… 98
12.1 时序收敛的难点 ………………………………………………………………………… 98
12.2 时序分配和时序分析的重要性 ………………………………………………………… 99
12.2.1 时序分析的背景 …………………………………………………………………… 99
12.2.2 时序分析的基础 …………………………………………………………………… 99
12.3 实现时序收敛目标的方法学 ………………………………………………………… 105
12.3.1 指定 FPGA器件系列 …………………………………………………………… 105
12.3.2 设计规划 ………………………………………………………………………… 106
12.3.3 早期时序估计 …………………………………………………………………… 110
12.3.4 CAD工具设置 …………………………………………………………………… 111
12.4 常见的时序收敛问题 ………………………………………………………………… 118
12.4.1 缺失时序约束 …………………………………………………………………… 118
12.4.2 时序约束发生冲突 ……………………………………………………………… 118
12.4.3 高扇出寄存器 …………………………………………………………………… 118
12.4.4 只差一点就能满足时序 ………………………………………………………… 119
12.4.5 不宜过早设置位置约束 ………………………………………………………… 119
12.4.6 冗长的编译时间 ………………………………………………………………… 119
12.5 设计规划、实现、优化和时序收敛清单 …………………………………………… 120
第 13章 系统在线调试 …………………………………………………………………… 121
13.1 系统在线调试的难点 ………………………………………………………………… 121
13.2 规划 …………………………………………………………………………………… 121
13.3 调试方法 ……………………………………………………………………………… 122
13.3.1 利用引脚调试 …………………………………………………………………… 122
13.3.2 片内逻辑分析仪 ………………………………………………………………… 123
13.3.3 调试逻辑的使用 ………………………………………………………………… 126
13.3.4 外部逻辑分析仪 ………………………………………………………………… 126
13.3.5 编辑存储器的内容 ……………………………………………………………… 127
13.3.6 利用软核处理器进行调试 ……………………………………………………… 127
13.4 使用案例 ……………………………………………………………………………… 128
13.4.1 上电调试 ………………………………………………………………………… 128
13.4.2 收发接口调试 …………………………………………………………………… 128
13.4.3 系统性能报告 …………………………………………………………………… 129
13.4.4 软核处理器调试 ………………………………………………………………… 129
13.4.5 器件的编程问题 ………………………………………………………………… 130
13.5 系统在线调试核对清单 ……………………………………………………………… 131
第 14章 设计的签收 ……………………………………………………………………… 132
14.1 设计签收过程 ………………………………………………………………………… 132
14.2 设计签收之后 ………………………………………………………………………… 132
索引 ……………………………………………………………………………………………… 133
详解FPGA人工智能时代的驱动引擎 (石侃).pdf:
目 录
推荐序1
推荐序2
前言 PREFACE
第1章 延续摩尔定律——FPGA的架构革新
1.1 什么是FPGA
1.2 从无到有,从小到大,从大到强——FPGA发展的三个阶段
1.2.1 发明阶段:历史的必然
1.2.2 扩张阶段:设计自动化的兴起
1.2.3 累积阶段:复杂片上系统的形成
1.3 超越维度的限制——3D FPGA
1.3.1 赛灵思堆叠硅片互联(SSI)技术
1.3.2 SSI技术的主要缺点
1.3.3 SSI技术小结
1.3.4 英特尔EMIB技术
1.3.5 基于EMIB技术的异构FPGA的潜在问题
1.3.6 EMIB技术小结
1.4 突破集成度的边界——从FPGA到ACAP
1.4.1 ACAP概述
1.4.2 芯片架构:在传统中变革
1.4.3 CLB微结构:翻天覆地
1.4.4 第四代SSI技术:3D FPGA的进一步优化
1.4.5 片上网络:高带宽数据传输的全新利器
1.5 灵活与敏捷共存——英特尔Agilex FPGA
1.5.1 英特尔10nm工艺能否后发制人
1.5.2 全新的芯片布局与微架构优化
1.5.3 CXL:CPU与FPGA互连的终极方案
1.5.4 可变精度DSP:全力支持AI应用
1.5.5 增强版HyperFlex架构
1.5.6 oneAPI:英特尔的雄心
1.6 本章小结
第2章 拥抱大数据洪流——云中的FPGA
2.1 第一个吃螃蟹的人——微软Catapult项目
2.1.1 Catapult项目的产生背景
2.1.2 在数据中心里部署硬件加速单元的考虑因素
2.1.3 几类硬件加速模块的对比
2.1.4 Catapult项目的三个阶段
2.1.5 微软Catapult项目小结
2.2 FPGA即服务(FPGA as a Service)
2.2.1 亚马逊AWS-F1实例:FPGA云服务的首次尝试
2.2.2 AWS FPGA云服务的技术概述
2.2.3 其他公有云提供商的FPGA加速服务
2.3 下一代电信网络:SDN、NFV与FPGA
2.3.1 网络功能虚拟化(NFV)与软件定义网络(SDN)
的意义
2.3.2 使用FPGA加速虚拟网络功能的实现
2.4 系统级解决方案:FPGA加速卡
2.4.1 FPGA应用方案的转型
2.4.2 英特尔的FPGA加速卡布局
2.4.3 赛灵思的FPGA加速卡布局
2.4.4 第三方FPGA加速卡
2.5 虚拟与现实之间——FPGA虚拟化
2.5.1 为什么要进行FPGA虚拟化
2.5.2 FPGA虚拟化的主要目标
2.5.3 FPGA虚拟化的层次划分
2.5.4 常见的FPGA虚拟化实现方法
2.5.5 FPGA虚拟化的未来研究方向
2.6 本章小结
第3章 FPGA在人工智能时代的独特优势
3.1 实时AI处理:微软脑波项目
3.1.1 FPGA资源池化的主要优点
3.1.2 脑波项目系统架构
3.1.3 脑波项目的性能分析
3.2 AI加速引擎:FPGA与深度神经网络的近似算法
3.2.1 使用低精度定点数代替浮点数
3.2.2 网络剪枝
3.2.3 深度压缩
3.3 下一个Big Thing:FPGA公司在AI时代的布局
3.3.1 赛灵思
3.3.2 英特尔
3.3.3 Achronix
3.4 路在何方:FPGA在AI时代未来的发展方向
3.5 本章小结
第4章 更简单也更复杂——FPGA开发的新方法
4.1 难上加难:现代FPGA开发的痛点
4.2 让软件工程师开发FPGA——高层次综合
4.2.1 FPGA高层次综合的前世今生
4.2.2 高层次综合的主要工作原理:以AutoPilot为例
4.2.3 高层次综合工具常用的优化方法
4.2.4 高层次综合的发展前景
4.3 商业级开源开发工具:赛灵思Vitis
4.4 一个晶体管也不能少:英特尔oneAPI
4.5 本章小结
第5章 站在巨人的肩上——FPGA发展的新趋势
5.1 百花齐放、百家争鸣:FPGA学术研究概况
5.1.1 多伦多大学
5.1.2 加州大学洛杉矶分校(UCLA)
5.1.3 帝国理工学院
5.1.4 清华大学
5.1.5 FPGA领域的主要学术会议
5.2 FPGA 20年最有影响力的25项研究成果
5.2.1 FPGA系统架构篇
5.2.2 FPGA微架构篇
5.2.3 FPGA布局布线算法篇
5.2.4 其他EDA/CAD算法篇
5.2.5 FPGA应用篇
5.3 这是最好的时代——FPGA未来的发展方向
5.4 本章小结