• {正版现货新书} 形式化验证:现代VLSI设计的必备工具包 9787111796565 (美)埃里克·塞利格曼(ErikSeligman),(美)汤姆·舒伯特(TomSchubert),(印)M.V.阿楚塔·基兰·库马尔(M.V.AchuthaKiranKumar)著

{正版现货新书} 形式化验证:现代VLSI设计的必备工具包 9787111796565 (美)埃里克·塞利格曼(ErikSeligman),(美)汤姆·舒伯特(TomSchubert),(印)M.V.阿楚塔·基兰·库马尔(M.V.AchuthaKiranKumar)著

全新正版现货,以书名为准,放心购买,购书咨询18515909251朱老师

76.36 5.9折 129 全新

库存96件

北京丰台

作者(美)埃里克·塞利格曼(ErikSeligman),(美)汤姆·舒伯特(TomSchubert),(印)M.V.阿楚塔·基兰·库马尔(M.V.AchuthaKiranKumar)著

出版社机械工业出版社

ISBN9787111796565

出版时间2026-01

装帧平装

开本24cm

定价129元

货号200152423

上书时间2026-01-21

   商品详情   

品相描述:全新
商品描述
作者简介
Erik Seligman目前是 Cadence设计系统公司的高级产品工程架构师,负责规划和支持 Jasper形式化验证工具。此前,他在英特尔公司(俄勒冈州希尔斯伯勒)工作了20多年,涉足软件、设计、仿真和形式化验证等多个领域。业余时间,他主持“数学突变”(Math Mutation)播客,并曾当选为希尔斯伯勒学区董事会成员。 Tom Schubert(现已退休)是波特兰州立大学电子与计算机工程系的兼职教授,曾负责该校“设计验证与确认”方向研究生课程长达8年。此前,他在英特尔公司工作17年,曾管理英特尔最大的硅前验证形式化验证团队,并在多个微处理器设计项目中推广和应用 FPV 技术。他在加州大学戴维斯分校获得计算机科学博士学位。 M.V.Achutha Kiran Kumar是英特尔设计工程集团的英特尔研究员,负责领导公司形式化验证中央技术办公室,该团队是全球规模最大的工业形式化验证团队之一。他拥有20多年经验,曾在芯片设计流程的多个领域工作,包括 RTL 设计、结构设计、电路设计、仿真及多个验证层级(包括形式化验证)。

目录
译者序 第2版序 第1版序 致谢 第1章 形式化验证(FV):从梦想到现实 1 1.1 FV是什么 2 1.2 为什么是这本书 3 1.3 一个鼓舞人心的轶事 3 1.4 FV:更深层次 5 1.4.1 FV的整体优势 5 1.4.2 FV的一般使用模型 6 1.4.3 完整覆盖的FV 6 1.4.4 本书未讨论的FV方法 9 1.5 实用FV的出现 10 1.5.1 早期自动推理 11 1.5.2 计算机科学应用 11 1.5.3 模型检查变得切实可用 11 1.5.4 断言的标准化 12 1.6 实施FV的挑战 13 1.6.1 数学的基本局限性 13 1.6.2 复杂性理论 13 1.6.3 好消息 14 1.7 增强形式化的力量 15 1.8 充分利用这本书 16 1.9 本章实用建议 17 进一步阅读 17 第2章 基础形式化验证(FV)算法 19 2.1 验证过程中的FV 19 2.2 一个简单的自动售货机示例 20 2.3 模型比较 22 2.4 影响锥 23 2.5 规范操作定义 24 2.5.1 智能构建真值表 24 2.5.2 添加顺序逻辑 24 2.6 布尔代数符号 25 2.6.1 布尔代数基本定律 26 2.6.2 规范比较 27 2.7 二元决策图(BDD) 28 2.7.1 计算电路设计的 BDD 30 2.7.2 使用BDD进行模型检查 30 2.8 布尔可满足性(SAT) 31 2.8.1 有界模型检查 32 2.8.2 解决SAT问题 32 2.8.3 Davis-Putnam SAT 算法 34 2.8.4 Davis-Logemann-Loveland SAT 算法 35 2.9 总结 36 进一步阅读 37 第3章 SystemVerilog断言简介 38 3.1 基本断言概念 38 3.1.1 一个简易仲裁器实例 39 3.1.2 断言是什么 39 3.1.3 假设是什么 40 3.1.4 覆盖属性是什么 40 3.1.5 断言语句的说明 41 3.1.6 SVA语言基础 41 3.1.7 即时断言 42 3.1.8 编写即时断言 43 3.1.9 过程代码的复杂性及采用assert final的动机 44 3.1.10 过程块中的位置 45 3.1.11 布尔构建块 46 3.1.12 并发断言基础和时钟控制 46 3.1.13 采样和断言时钟 47 3.1.14 采样值函数 48 3.1.15 并发断言的时钟边沿 49 3.1.16 并发断言的重置(禁用)条件 50 3.1.17 设置默认时钟和重置 51 3.2 序列、属性和并发断言 53 3.2.1 序列语法和示例 53 3.2.2 属性语法和示例 56 3.2.3 命名序列和属性 60 3.2.4 断言和隐式多线程 60 3.2.5 常量的挑战 61 3.2.6 编写属性 62 3.3 总结 68 3.4 本章实用建议 69 进一步阅读 70 第4章 形式化属性验证(FPV) 72 4.1 什么是FPV 72 4.2 本章示例:组合锁 75 4.3 搭建基础的FPV环境 76 4.3.1 编译RTL 77 4.3.2 创建覆盖属性 77 4.3.3 创建假设 78 4.3.4 创建断言 79 4.3.5 时钟和复位 81 4.3.6 运行验证 81 4.4 FPV与仿真有何不同 86 4.4.1 可以运行哪些类型和规模的模型 87 4.4.2 如何达到目标行为 88 4.4.3 检查哪些值 89 4.4.4 我们如何约束模型 89 4.4.5 如何处理内部节点的约束 90 4.4.6 我们用什么进行调试 91 4.4.7 典型轨迹有多长 92 4.5 决定在哪里以及如何运行FPV 92 4.5.1 运行FPV的动机 92 4.5.2 使用设计探索FPV 93 4.5.3 使用错误搜索FPV 94 4.5.4 使用签核级FPV 94 4.5.5 使用特定应用FPV 95 4.6 总结 96 4.7 本章实用建议 97 进一步阅读 98 第5章 用于设计探索的有效形式化属性验证(FPV)99 5.1 本章示例:交通灯控制器 100 5.2 创建设计探索计划 103 5.2.1 设计探索目标 103 5.2.2 设计探索的主要属性 104 5.2.3 复杂性分级计划 105 5.2.4 退出标准 108 5.2.5 整合计划 108 5.3 设置设计探索FPV环境 109 5.3.1 覆盖属性 109 5.3.2 假设 110 5.3.3 断言 110 5.3.4 时钟和复位 111 5.3.5 健全性(sanity)检查 111 5.4 波形调试迭代(wiggling)设计 112 5.4.1 wiggling过程 112 5.4.2 wiggling阶段1:我们的第一个短波形 113 5.4.3 调试另一个短波形 114 5.5 探索更关键的行为 117 5.5.1 回答一些新问题 117 5.5.2 证明断言 120 5.6 移除简化并探索更多行为 122 5.6.1 面对复杂性问题 124 5.7 总结 125 5.8 本章实用建议 126 进一步阅读 127 第6章 有效形式化属性验证(FPV) 128 6.1 确定FPV目标 129 6.1.1 错误搜索FPV 131 6.1.2 签核级FPV 132 6.2 FPV工作的分阶段进行 132 6.3 本章示例:简单的ALU 133 6.4 理解设计 135 6.5 FPV验证计划的制定 137 6.5.1 FPV目标 137 6.5.2 FPV主要属性 137 6.5.3 处理复杂性 140 6.5.4 质量检查与退出标准 143 6.5.5 初始覆盖属性 148 6.5.6 扩展wiggling 149 6.5.7 扩展覆盖属性 154 6.6 去除简化和探索更多行为 154 6.6.1 演进到签核级FPV 155 6.7 总结 156 6.8 本章实用建议 156 进一步阅读 158 第7章 针对特定问题的形式化属性验证(FPV)APP 159 7.1 可重用协议验证 160 7.1.1 可重用属性集的基本设计 161 7.1.2 属性方向问题 162 7.1.3 验证属性集一致性 164 7.1.4 完整性检查 166 7.1.5 动态验证兼容性 167 7.2 不可达覆盖消除 167 7.2.1 在UCE中使用断言的作用 168 7.2.2 覆盖组和其他覆盖类型 170 7.3 连通性验证 170 7.3.1 连通性模型构建 171 7.3.2 指定连通性 172 7.3.3 可能的连通性FPV复杂性 173 7.3.4 连通性FPV的覆盖率 175 7.4 控制寄存器验证 176 7.4.1 指定控制寄存器要求 177 7.4.2 控制寄存器的SVA 178 7.4.3 控制寄存器验证的主要挑战 180 7.5 硅后调试和反应性FPV 182 7.5.1 硅后FPV的挑战 183 7.5.2 UNEARTH:一种实用的硅后FPV方法 183 7.6 总结 190 7.7 本章实用建议 190 进一步阅读 192 第8章 形式化等价性验证(FEV) 194 8.1 等价性检查的类型 195 8.1.1 组合等价性 195 8.1.2 顺序等价性 197 8.1.3 事务级等价性 197 8.2 FEV用例 199 8.2.1 RTL到网表FEV 199 8.2.2 网表到网表FEV 200 8.2.3 RTL到RTL FEV 200 8.3 运行FEV 205 8.3.1 选择模型 205 8.3.2 关键点选择和映射 206 8.3.3 假设和约束 211 8.3.4 调试不匹配 212 8.4 额外的FEV挑战 213 8.4.1 状态元素优化 213 8.4.2 条件等价性 214 8.4.3 不关心空间 215 8.4.4 复杂性 216 8.5 总结 221 8.6 本章实用建议 222 进一步阅读 224 第9章 形式化验证最大的失误:误报的危险 226 9.1 滥用 SVA 语言 228 9.1.1 缺少分号 228 9.1.2 两个时钟边沿均置位 229 9.1.3 带断言的短路函数 229 9.1.4 信号采样的微妙影响 230 9.1.5 非生命状态的活性属性 231 9.1.6 错误地假设一个序列 232 9.1.7 预防与 SVA 相关的误报 232 9.2 空洞问题 233 9.2.1 误导性的覆盖属性与糟糕的重置 234 9.2.2 经过验证但模拟失败的内存控制器 234 9.2.3 假设与约束的矛盾 235 9.2.4 队列永远不会满,因为它永远不会开始 236 9.2.5 防止空洞工具和用户的责任 238 9.3 隐含或未说明的假设 240 9.3.1 具有实施假设的库 240 9.3.2 对多重驱动信号的期望 241 9.3.3 无法到达的逻辑元素:需要吗 242 9.3.4 防止误解 243 9.4 分工 244 9.4.1 胶合逻辑缺失 244 9.4.2 缺失案例的拆分 244 9.4.3 撤销临时黑客攻击 245 9.4.4 安全分工 245 9.5 总结 246 9.6 本章实用建议 247 进一步阅读 248 第10章 应对复杂性 249 10.1 设计状态和相关复杂性 249 10.2 本章示例:内存控制器 251 10.3 观察复杂性问题 252 10.4 简单的收敛技术 253 10.4.1 选择正确的战斗 253 10.4.2 时钟和复位 254 10.4.3 引擎调校 255 10.4.4 黑盒化 255 10.4.5 参数和尺寸减小 256 10.4.6 案例拆分 257 10.4.7 硬案例与软案例拆分 258 10.4.8 属性简化 259 10.4.9 切点 261 10.4.10 增量FEV 263 10.5 辅助假设与非辅助假设 264 10.5.1 编写自定义辅助假设 264 10.5.2 利用已证实的断言 265 10.5.3 您是否有太多的假设 266 10.6 使用自由变量进行概括分析 267 10.6.1 利用刚性自由变量的对称性 267 10.6.2 自由变量的其他用途 268 10.6.3 自由变量的缺点 268 10.7 降低复杂性的抽象模型 269 10.7.1 反抽象 269 10.7.2 序列抽象 271 10.7.3 内存抽象 272 10.7.4 影子模型 274 10.8 半形式化验证 275 10.9 规避复杂性问题:设计和验证协同工作 277 10.10 总结 277 10.11 本章的实用建议 278 进一步阅读 280 第11章 实际项目中的形式化签核 282 11.1 整体签核方法论 282 11.2 规划和架构 283 11.2.1 分治法识别DUT 284 11.2.2 审查设计流程 284 11.2.3 选择应用程序 285 11.2.4 定义FPV细节 285 11.2.5 填补空白 286 11.2.6 制定应急计划 286 11.2.7 FV融入设计节点中 287 11.3 应用和实施 289 11.3.1 确保定期进展 289 11.3.2 做好应对反应性FV的准备 290 11.4 覆盖和回归 290 11.4.1 代码覆盖 290 11.4.2 覆盖属性 291 11.4.3 FV回归 291 11.4.4 机器学习和回归 292 11.4.5 网络与云端运行 293 11.4.6 晚期重检 293 11.5 跟踪和结束 293 11.5.1 FV的质量 293 11.5.2 时间线跟踪 295 11.5.3 验证何时才算完成 295 11.6 总结 296 11.7 本章实用建议 296 第12章 全新的具有FV风格的生活方式 298 12.1 使用FV 299 12.1.1 设计探索 299 12.1.2 错误搜索FPV 299 12.1.3 签核级FV 300 12.1.4 专用的FV应用程序 300 12.1.5 形式化等价性验证 300 12.2 个人使用FV的准备 301 12.3 启动团队的FV工作 302 12.3.1 设定合理的期望 302 12.3.2 培养“领军人物” 303 12.3.3 争取各级的支持 304 12.3.4 合理跟踪FV的进展 305 12.3.5 建立高效的基础设施 307 12.4 使管理层开心 308 12.4.1 ROI计算 308 12.4.2 错误复杂性排名 310 12.5 FV工作者实际做了什么 311 12.6 总结 313 12.7 本章实用建议 314 进一步阅读 314

内容摘要
《形式化验证:现代VLSI设计的必备工具包(原书第2版)》全面介绍了数字电路设计与验证的实用方法,结合丰富的工程实践经验,帮助读者将先进的验证技术有效融入实际工作。形式化验证(Formal Verification,FV)作为一种以数学方法直接分析寄存器传输级(RTL)设计特性与质量的技术,能够显著缩短验证周期,加速设计收敛,提升产品可靠性。
以 SystemVerilog 为基础,本书深入讲解了FV的核心原理与工程实践,揭示了其在英特尔等国际领先企业设计流程中的成功应用。通过阅读本书,读者将掌握在实际项目中引入并高效部署 FV 技术的系统方法,从而显著提升设计与验证效率。

主编推荐
集成电路验证是集成电路设计流程中核心且不可或缺的环节,其重要性贯穿从设计初期到量产交付的全生命周期,直接决定芯片的功能正确性、性能可靠性、市场竞争力及商业成败。形式化验证(Formal Verification, FV)是集成电路验证领域的核心方法之一,是保障复杂芯片设计正确性的关键技术。它基于数学逻辑推理,无需依赖测试向量,直接对设计的功能规范与实现代码进行等价性或属性正确性证明,适用于超大规模、高可靠性要求的集成电路(如处理器核、安全芯片、汽车电子芯片等)。 本书是形式化验证领域经典著作,是三位英特尔资深专家20多年一线开发经验的结晶。本书全面介绍了数字电路设计与验证的实用方法,结合丰富的工程实践经验,帮助读者将先进的验证技术有效融入实际工作。通过阅读本书,读者将掌握在实际项目中引入并高效部署 FV 技术的系统方法,从而显著提升设计与验证效率。 本书特点如下: 1.介绍可帮助用户实现全覆盖的形式化验证算法,无需进行穷尽仿真。 2.解析形式化验证工具及其与仿真工具的区别。 3.展示如何创建即时测试平台,以深入了解模型的运行机制并快速发现初始错误。 4.由英特尔内部专家分享深度见解,提供解决复杂设计问题的实战经验。

精彩内容
《形式化验证:现代VLSI设计的必备工具包(原书第2版)》全面介绍了数字电路设计与验证的实用方法,结合丰富的工程实践经验,帮助读者将先进的验证技术有效融入实际工作。形式化验证(Formal Verification,FV)作为一种以数学方法直接分析寄存器传输级(RTL)设计特性与质量的技术,能够显著缩短验证周期,加速设计收敛,提升产品可靠性。 以 SystemVerilog 为基础,本书深入讲解了FV的核心原理与工程实践,揭示了其在英特尔等国际领先企业设计流程中的成功应用。通过阅读本书,读者将掌握在实际项目中引入并高效部署 FV 技术的系统方法,从而显著提升设计与验证效率。

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP