SoC设计方法与实现(第4版)
作者: 魏继增 等
出版社:电子工业出版社 2022-08-01
简介:本书是普通高等教育"十一五”国家级规划教材、普通高等教育精品教材。本书结合SoC设计的整体流程,对SoC设计方法学及如何实现进行了全面介绍。全书共15章,主要内容包括:SoC设计绪论、SoC设计流程、SoC设计与EDA工具、SoC系统架构设计、IP复用的设计方法、RTL代码编写指南、同步电路设计及其与异步信号交互的问题、综合策略与静态时序分析方法、SoC功能验证、可测性设计、低功耗设计、后端设计、SoC中数模混合信号IP的设计与集成、I/O环的设计和芯片封装、课程设计与实验。书中不仅融入了很多来自工业界的实践经验,还介绍了SoC设计领域的最新成果,可以帮助读者掌握工业化的解决方案,使读者能够及时了解SoC设计方法的最新进展。本书提供中英文电子课件、微课视频、教学日历、课程大纲、教学设计等资料。【目录】目 录第1章 SoC设计绪论 11.1 微电子技术概述 11.1.1 集成电路的发展 11.1.2 集成电路产业分工 21.2 SoC概述 31.2.1 什么是SoC 31.2.2 SoC的优势 41.3 SoC设计的发展趋势及面临的挑战 51.3.1 SoC设计技术的发展与挑战 51.3.2 SoC设计方法的发展与挑战 91.3.3 未来的SoC 10本章参考文献 10第2章 SoC设计流程 112.1 软硬件协同设计 112.2 基于标准单元的SoC芯片设计流程 132.3 基于FPGA的SoC设计流程 172.3.1 FPGA的结构 172.3.2 基于FPGA的设计流程 21本章参考文献 24第3章 SoC设计与EDA工具 253.1 电子系统级设计与工具 253.2 验证的分类及相关工具 253.2.1 验证方法的分类 253.2.2 动态验证及相关工具 263.2.3 静态验证及相关工具 273.3 逻辑综合及综合工具 283.3.1 EDA工具的综合流程 283.3.2 EDA工具的综合策略 293.3.3 优化策略 293.3.4 常用的逻辑综合工具 303.4 可测性设计与工具 303.4.1 测试和验证的区别 303.4.2 常用的可测性设计 303.5 布局布线与工具 333.5.1 EDA工具的布局布线流程 333.5.2 布局布线工具的发展趋势 333.6 物理验证及参数提取与相关的工具 333.6.1 物理验证的分类 333.6.2 参数提取 343.7 著名EDA公司与工具介绍 353.8 EDA工具的发展趋势 37本章参考文献 38第4章 SoC系统架构设计 394.1 SoC系统架构设计的总体目标与阶段 394.1.1 功能设计阶段 404.1.2 应用驱动的系统架构设计阶段 404.1.3 基于平台的系统架构设计阶段 404.2 SoC中常用的处理器 404.2.1 通用处理器 414.2.2 处理器的选择 434.3 SoC中常用的总线 454.3.1 AMBA总线 464.3.2 CoreConnect总线 474.3.3 Wishbone总线 474.3.4 开放核协议(OCP) 484.3.5 复杂的片上总线架构 494.4 SoC中典型的存储器 494.4.1 存储器分类 504.4.2 常用的存储器 514.4.3 新型存储器 524.5 多核SoC的系统架构设计 534.5.1 可用的并发性 534.5.2 多核SoC设计中的系统架构选择 544.5.3 多核SoC的性能评价 554.5.4 几种典型的多核SoC系统架构 564.6 SoC中的软件架构 594.7 电子系统级(ESL)设计 624.7.1 ESL发展的背景 624.7.2 ESL设计基本概念 634.7.3 ESL协同设计的流程 634.7.4 ESL设计的特点 644.7.5 ESL设计的核心—事务级建模 664.7.6 事务级建模语言简介及设计实例 714.7.7 ESL设计的挑战 78本章参考文献 79第5章 IP复用的设计方法 805.1 IP的基本概念和IP分类 815.2 IP设计流程 825.2.1 设计目标 825.2.2 设计流程 835.3 IP的验证 875.4 IP的选择 895.5 IP交易模式 895.6 IP复用技术面临的挑战 905.7 IP标准组织 915.8 基于平台的SoC设计方法 925.8.1 平台的组成与分类 925.8.2 基于平台的SoC设计流程与特点 935.8.3 基于平台的设计实例 94本章参考文献 95第6章 RTL代码编写指南 966.1 编写RTL代码之前的准备 966.1.1 与团队共同讨论设计中的问题 966.1.2 根据芯片架构准备设计说明书 966.1.3 总线设计的考虑 976.1.4 模块的划分 976.1.5 对时钟的处理 1006.1.6 IP的选择及设计复用的考虑 1006.1.7 对可测性的考虑 1016.1.8 对芯片速度的考虑 1016.1.9 对布线的考虑 1016.2 可综合RTL代码编写指南 1026.2.1 可综合RTL代码的编写准则 1026.2.2 利用综合进行代码质量检查 1056.3 调用Synopsys DesignWare来优化设计 105本章参考文献 106第7章 同步电路设计及其与异步信号交互的问题 1077.1 同步电路设计 1077.1.1 同步电路的定义 1077.1.2 同步电路的时序收敛问题 1077.1.3 同步电路设计的优点与缺陷 1087.2 全异步电路设计 1097.2.1 异步电路设计的基本原理 1097.2.2 异步电路设计的优点与缺点 1107.3 异步信号与同步电路交互的问题及其解决方法 1117.3.1 亚稳态 1127.3.2 异步控制信号的同步及其RTL实现 1147.3.3 异步时钟域的数据同步及其RTL实现 1197.4 SoC设计中的时钟规划策略 123本章参考文献 123第8章 综合策略与静态时序分析方法 1248.1 逻辑综合 1248.1.1 流程介绍 1248.1.2 SoC设计中常用的综合策略 1268.2 物理综合的概念 1278.2.1 物理综合的产生背景 1278.2.2 操作模式 1288.3 实例—用Synopsys的工具Design Compiler进行逻辑综合 1288.3.1 指定库文件 1298.3.2 读入设计 1308.3.3 定义工作环境 1308.3.4 设置约束条件 1318.3.5 设定综合优化策略 1338.3.6 设计脚本举例 1338.4 静态时序分析 1358.4.1 基本概念 1358.4.2 实例—用Synopsys的工具PrimeTime进行时序分析 1388.5 统计静态时序分析 1448.5.1 传统时序分析的局限 1458.5.2 统计静态时序分析的概念 1458.5.3 统计静态时序分析的步骤 146本章参考文献 146第9章 SoC功能验证 1479.1 功能验证概述 1479.1.1 功能验证的概念 1479.1.2 SoC功能验证的挑战 1489.1.3 SoC功能验证的发展趋势 1489.2 功能验证方法与验证规划 1489.3 系统级功能验证 1509.3.1 系统级的功能验证 1509.3.2 软硬件协同验证 1529.4 仿真验证自动化 1539.4.1 激励的生成 1549.4.2 响应的检查 1559.4.3 覆盖率的检测 1559.5 基于断言的验证 1569.5.1 断言语言 1579.5.2 基于断言的验证 1599.5.3 断言的其他用途 1609.6 通用验证方法学 161本章参考文献 165第10章 可测性设计 16610.1 集成电路测试概述 16610.1.1 测试的概念和原理 16610.1.2 测试及测试向量的分类 16610.1.3 自动测试设备 16710.2 故障建模及ATPG原理 16710.2.1 故障建模的基本概念 16710.2.2 常见故障模型 16810.2.3 ATPG基本原理 17010.2.4 ATPG的工作原理 17110.2.5 ATPG工具的使用步骤 17110.3 可测性设计基础 17210.3.1 可测性的概念 17210.3.2 可测性设计的优势和不足 17310.4 扫描测试(SCAN) 17410.4.1 基于故障模型的可测性 17410.4.2 扫描测试的基本概念 17410.4.3 扫描测试原理 17610.4.4 扫描设计规则 17710.4.5 扫描测试的可测性设计流程及相关EDA工具 17910.5 存储器的内建自测 18010.5.1 存储器测试的必要性 18010.5.2 存储器测试方法 18010.5.3 BIST的基本概念 18210.5.4 存储器的测试算法 18210.5.5 BIST模块在设计中的集成 18510.6 边界扫描测试 18610.6.1 边界扫描测试原理 18710.6.2 IEEE 1149.1标准 18710.6.3 边界扫描测试策略和相关工具 19110.7 其他DFT技术 19110.7.1 微处理器核的可测性设计 19110.7.2 Logic BIST 19310.8 DFT技术在SoC中的应用 19410.8.1 模块级的DFT技术 19410.8.2 SoC中的DFT应用 195本章参考文献 196第11章 低功耗设计 19711.1 为什么需要低功耗设计 19711.2 功耗的类型 19811.3 低功耗设计方法 20211.4 低功耗技术 20311.4.1 静态低功耗技术 20311.4.2 动态低功耗技术 20411.4.3 采用低功耗技术的设计流程 20811.4.4 低功耗SoC系统的动态管理 20911.4.5 低功耗SoC设计技术的综合考虑 21011.5 低功耗分析和工具 21111.6 UPF及低功耗设计实现 21211.6.1 基于UPF的低功耗电路综合 21211.6.2 UPF功耗描述文件举例 21311.7 低功耗设计趋势 213本章参考文献 214第12章 后端设计 21512.1 时钟树综合 21512.2 布局规划 21912.3 ECO技术 22112.4 功耗分析 22212.5 信号完整性的考虑 22412.5.1 信号完整性的挑战 22412.5.2 压降和电迁移 22512.5.3 信号完整性问题的预防、分析和修正 22612.6 物理验证 22712.7 可制造性设计/面向良率的设计 22812.7.1 DFM/DFY的基本概念 22812.7.2 可制造性设计驱动的方法 22912.7.3 分辨率增强技术提高DFM/DFY的方法 23012.7.4 其他DFM/DFY问题及解决方法 23112.7.5 EDA工具对于DFM/DFY技术的支持 233本章参考文献 234第13章 SoC中数模混合信号IP的设计与集成 23513.1 SoC中的数模混合信号IP 23513.2 数模混合信号IP的设计流程 23513.3 基于SoC复用的数模混合信号(AMS)IP包 23613.4 数模混合信号(AMS)IP的设计及集成要点 23713.4.1 接口信号 23713.4.2 模拟与数字部分的整体布局 23713.4.3 电平转换器的设计 23813.4.4 电源的布局与规划 23913.4.5 电源/地线上跳1