图书目录

第1章  SoC架构概述 1

1.1  SoC介绍 2

1.1.1  SoC的定义 2

1.1.2  SoC的发展历史 3

1.2  SoC的重要性 4

1.2.1  SoC在电子行业中的应用 4

1.2.2  SoC的优势 6

1.3  SoC的基本组成 7

1.4  SoC的发展趋势 8

1.4.1  集成度的提升 8

1.4.2  功耗的优化 9

1.4.3  人工智能的嵌入 11

1.4.4  其他发展趋势 12

第2章  SoC的基本组成 15

2.1  中央处理单元 16

2.2  存储器子系统 16

2.2.1  内部缓存 16

2.2.2  内存控制器 17

2.2.3  RAM 18

2.2.4  外存 18

2.2.5  闪存 19

2.3  外设接口 20

2.3.1  通用串行总线接口 20

2.3.2  SPI接口 21

2.3.3  I2C接口 21

2.3.4  UART接口 22

2.4  总线结构 23

2.4.1  AMBA总线 23

2.4.2  AXI总线 24

2.4.3  OCP总线 25

2.5  中断控制和调试模块 25

第3章  SoC设计的相关工具 27

3.1  IDE工具 28

3.1.1  Synopsys Design Compiler 28

3.1.2  Cadence Genus 28

3.1.3  Xilinx Vivado 29

3.2  布局布线工具 30

3.2.1  Cadence Innovus 30

3.2.2  Synopsys IC Compiler 31

3.3  时序分析工具 32

3.3.1  Synopsys PrimeTime 33

3.3.2  Cadence Tempus 33

3.4  功能仿真工具 34

3.4.1  ModelSim 34

3.4.2  Synopsys VCS 35

3.5  高层次综合工具 36

3.6  下载并安装Xilinx Vivado 37

3.6.1  Xilinx Vivado的优点和功能 37

3.6.2  下载并安装Xilinx Vivado 38

第4章  处理器架构设计 45

4.1  处理器选择 46

4.1.1  处理器核心类型选择 46

4.1.2  处理器数量选择 47

4.2  处理器性能分析 48

4.2.1  时钟频率 48

4.2.2  性能等级 49

4.3  处理器指令集架构 49

4.3.1  处理器指令集架构基础 50

4.3.2  在处理器上运行简单的汇编程序 50

4.3.3  处理器指令集架构设计 51

4.3.4  比较不同指令集架构的性能 54

4.4  处理器缓存设计 58

4.4.1  配置和优化L1缓存 58

4.4.2  添加和调整L2缓存 61

4.4.3  使用L3缓存 64

4.5  基于RISC-V的CPU SoC设计与实现系统 67

4.5.1  项目介绍 67

4.5.2  单周期CPU 68

4.5.3  流水线CPU 82

第5章  内存架构设计 91

5.1  内存类型选择 92

5.2  存储层次结构设计 104

5.3  基于FIR滤波器的数据处理与验证系统 113

第6章  互连架构设计 131

6.1  总线架构的选择 132

6.2  数据通路设计 134

6.3  外设接口配置 141

6.4  SoC芯片互连网络设计 155

6.5  基于AHB-Lite SoC的USB全速批量传输系统 160

第7章  SoC电源管理设计 171

7.1  电源分配 172

7.2  电源域和电压域设计 177

7.3  芯片温度管理 188

7.4  动态电压和频率调整 192

7.5  电源管理单元 196

7.6  电源监控和反馈 204

第8章  SoC时钟管理设计 213

8.1  时钟源选择 214

8.2  时钟分频和分配网络设计 215

8.3  时序约束 222

8.4  基于Altera DE1-SoC FPGA的时钟系统 231

第9章  SoC低功耗设计 259

9.1  低功耗设计概述 260

9.2  SoC低功耗设计方法 263

9.3  低功耗桥接器系统 282

第10章  基于FPGA的赛车游戏 287

10.1  背景介绍 288

10.2  项目介绍 288

10.3  准备工作 289

10.4  图像ROM模块 290

10.5  PS/2控制器接口 293

10.6  游戏引擎 300

10.7  VGA处理 309

10.8  FPGA顶层设计 311

10.9  编译运行 311