




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 VIP 芯片代码检测与功能验证软件芯片代码检测与功能验证软件 北京北京唯实兴邦唯实兴邦科技有限公司科技有限公司 孟双德孟双德2 目目 录录 1 VIP 技术的重要性和必要性 3 2 VIP 验证技术设计方法 4 2 1 验证技术 4 2 2 VIP 多层次抽象建模 5 2 2 1 时间抽象 5 2 2 2 数据抽象 5 2 2 3 功能抽象 6 2 3 基于 VIP 的验证过程 6 3 AVERY 解决方案可以解决的问题 7 3 1 快速搭建高效测试平台 7 3 2 基于模块化的验证环境 7 3 3 基于 SOC 集成的验证环境 8 3 4 PROTOCOL 协议的检查 9 3 5 基于规格覆盖率的随机验证 9 3 6 系统架构设计验证 优化设计 缩短周期 9 3 7 解决的具体工程问题 10 3 7 1 高效找出时序仿真中 X 传播 电路中的亚稳态 的来源 10 3 7 2 对开机 断电 加电时的芯片瞬态响应进行仿真 10 4 AVERY 解决方案的优势 10 4 1 专业 VIP 特色解决方案及技术实力强 10 4 2 提供功能覆盖率统计报告和丰富的协议检查 提供协议检查覆盖率 10 4 3 技术更新全球最好 10 4 4 兼容性支持 SV UVM OVM VMM 所有类型的库 10 4 5 支持几乎所有通用标准 超过 25 种 见附件 11 4 6 提供验证平台架构和 check 包和测试套件 11 4 7 提供部分源代码 11 5 产品研发持续更新路线图 12 3 1 VIP 技术的重要性和必要性技术的重要性和必要性 随着 IC 技术发展 设计者能在单个芯片上集成整个系统 且越来越多的产 品研发采用单晶片片上系统 SoC System on a Chip 的设计方法 随着工艺进步 器 件越来越小 功能越来越大 大大降低了昂贵的设计和制造成本 测试却变得更 复杂 成本随之增加 测试问题已不容忽视 然而 市场竞争一方面要求不断提 高产品可靠性 另一方面要求不断缩短研发 面市周期 传统 SoC 验证方法已经 无法满足现有需求 严重情况下验证人员和设计人员配置比例竟高达 3 1 严重 滞缓了科研进度 复杂 SoC 的测试验证已构成对测试经济学的挑战 SoC 采用多引脚封装技术 往往有多个总线接口 以便并行地共享内部资源 从而增加可能并发的操作 同时 这些总线接口的可靠因素也成为系统功能实现 性能稳定 持续可靠的关键 因此 我们急切需要投入精力研究能够检测芯片物 理缺陷 代码 Bug 和功能验证的有效手段 VIP Verification IP 代码确认与验证技术是预先验证过的内建验证结构 提供了 完整的 灵活的应用机制 可以方便地插入到基于仿真的确认测试中 可以大大 提高验证可重用性和验证效率 VIP 是一种验证模型和全面的测试环境 帮助设 计者和验证者确认其设计功能的正确性 可用于各个层次的仿真验证 通常 VIP 是基于标准协议的 如 AMBA PCIE USB 以太网等 VIP 中包括很多验证部 件 IP 这些 IP 都严格遵循这些标准协议 已经被验证过 通常包括 产生测试 平台所必须的基础部件 检查机制以及产生单独协议的程序 这些程序通常是一 个 BFM Bus Functional Models VIP 可以显著提高 SoC 设计和验证人员的工作效率 减少创建验证结构和测 试平台环境的时间 基于 SystemVerilog 的 VIP 使得验证人员可以快捷地创建随机 验证场景 也可以用VIP轻松地为所需验证的设计创建直接测试场景和测试序列 这些测试用例可以极大地帮助设计者在设计周期的初期就找出功能性的缺陷 因 此能够降低研发风险 缩短验证时间 VIP 融合了多种协议并能够进行 SoC 验证所需的激励发生 响应创建和总线 接口协议检查等功能 通过使用分层的 带约束的随机验证环境 可以节省 75 以上的测试平台开发时间 在设计早期即可方便的实现个体测试 多元优先判断 方案和多元件相互作用等测试 4 2 VIP 验证技术设计方法验证技术设计方法 2 1 验证技术验证技术 电路验证技术主要分以下几种 形式验证 静态时序分析 FPGA 原型验证及 基于仿真的验证技术 而仿真验证技术又有基于事务的验证技术 覆盖率驱动的 验证技术 基于断言的验证技术等 VIP 验证技术采用的是基于事务的验证技术 VIP 事务级模型以事务为基本对象来建模和仿真 从硬件角度来看 事务可 看成作用在特定接口上的一组包括数据或控制的集合 一个事务具有三个要素 起始时间 终止时间以及所有与这个事务相关的信息 因此 事务能够对信号的 时序图进行标识 来表示相关的信号属性和标志错误 对于基于总线的设计来说 总线上的读写都是事务 对于基于数据包的通信 来说 发送数据包和接收数据包都是事务 如下图所示 Mailbox 模块提供了 CPU 和FPGA的通信机制 和两层 AMBA AHB 总线相连接 CPU和 FPGA通过 Mailbox 的中断机制互相通信 并进行数据和命令交互 事实上 Mailbox 模块充当了 CPU 和 FPGA 之间的信使 CPUMailboxFPGA CPU AHB FPGA AHB SSMM 在使用 RTL Register transfer level 抽象层次对 Mailbox 进行建模时 需描述出 Mailbox 各个接口涉及的信号 Mailbox 内部及接口具体信号之间的时序关系 用事务级对 Mailbox 建模 可以将 Mailbox 的具体行为抽象为以下事务 1 CPU 将要发送的数据和命令存到 Mailbox 中 2 Mailbox 产生中断信号给 FPGA 3 FPGA 收到中断信号后 从 Mailbox 中获取数据和命令 4 FPGA 返回进行相应的任务操作 5 完毕后 FPGA 将任务状态 完成 出错 等待 请求等 存到 Mailbox 中 6 Mailbox 产生中断信号给 CPU 7 CPU 收到中断信号后 从 Mailbox 中读取 FPGA 任务完成的状态 5 8 CPU对FPGA任务完成情况进行判断分析 并产生相应控制信息以及FPGA 后续任务 采用事务的思想 在进行模块或系统功能验证时 不需要在一开始就去追踪 并研究信号的变化来判断设计是否正确 而是研究事务发生的顺序 以及事务与 事务之间的前后关系来决定是否和预期的行为相符合 事务级模型提升了验证的 层次 把验证人员的注意力从管脚级提升到事务级 有利于提高验证工作效率 2 2 VIP 多层次抽象建模多层次抽象建模 通常验证模块级设计方法是在 RTL 级用 Verilog 或 SystemVerilog 编写测试用 例来验证模块的各种功能属性和性能指标 然后观察或检测相应输出和期望值匹 配状况 此方式对规模较小的模块比较方便 且便于找出可预期的设计缺陷 但 是对于一些规模较大和通信算法较复杂的模块而言 验证效率和精度就会降低 VIP 技术可以针对系统级 算法级 行为级 RTL 级 门级 晶体管级多个层 级从时间 数据以及功能三个方面进行抽象建模和仿真 2 2 1 时间抽象时间抽象 时间抽象对应着整个设计状态在仿真器中保持稳定的频率 运行在事件驱动 的仿真器 如逻辑仿真器 上的模型使用离散的时间概念 即事件总发生在特定的时 间 事件通常引发特定进程的调用 仿真中发生的事件越多 需要被调用的进程 就越多 仿真进程就越慢 时间抽象意味着减少设计必须保持稳定的点 从而减 少当前必须发生的事件和进程总数 如 一个 RTL 模型中 每根线网 Net 必须在 发生未知更改后保持稳定 在抽象到时钟周期的设计中 信号必须在时钟边沿保 持稳定 所有发生在时钟边沿之间的事件都被略去不计 在事务级模型中 设计 的状态必须在每个事务末端保持稳定 每个事务则可能消耗数个时钟周期 2 2 2 数据抽象数据抽象 数据是部件之间通信的对象 在 RTL 模型中 数据就是部件之间通过线网传 输的单独的比特 Bit 在事务级模型里 数据通常表现为事务或各种的结构体 以通信设备中的数据包为例 在低层数据包中有起始位 结束位 包头 校错信 息 负载大小 负载和冗余负载 在抽象模型中 只有负载和负载大小是必须的 信息 数据包中其他部分对于估计性能不是必须的 6 2 2 3 功能抽象功能抽象 模型的功能指其必须完成的所有事件集 功能抽象意味着简化该事件集或用 较简单的事件集进行替换 例如 在运算单元中我们可以用乘法操作替换完整的 移位相加的乘法器编码 虽然后者的编码可用于实现 但是对于较高的抽象层次 具体的移位相加算法不是重点 2 3 基于基于 VIP 的验证过程的验证过程 用户根据所需选择 VIP 测试方案 如下图所示 在选择的测试套件下 测试 平台由 VIP 记分板 被测试模块构成 具体过程如下 1 用户调用 VIP 提供的测试 API Application Program Interface 产生被测模块的输入 2 输入被 DRIVER 转换成的时序电路传送给被测模块 3 这些输入在发送给与被测模块对接的时序驱动 DRIVER 由 VIP 提供 外 同时 也发送给覆盖率监测模块 用来统计当前被测试模块的测试源的覆盖率 覆 盖率达到要求时 被测试模块才能通过测试 4 VIP 提供的回调函数可以用来对被测试模块的输出进行分析 包括提供数据给 协议分析器进行协议检查 5 VIP 提供的覆盖率统计功能指出了所做的测试是否足够 但不能告诉我们测试 结果是否正确 于是 VIP 产生的源映射的理论输出结果将被发送给记分板 同 时被测模块的输出结果也将记录到记分板 6 记分板用来检查 DUT 的某些属性 可能是规模很小的检查 如一个顺序比较器 检查进出顺序是否一致 也可能是复杂的检测 如一个大规模复杂 SoC 检测 7 VIP 验证过程当中 涉及到一些辅助报告 如 断言及覆盖率报告 事务跟 踪过程记录 符号跟踪过程记录 运行 log 等 断言及覆盖率报告 用户在调用 VIP 提供的测试 API 或者协议分析器中会定义一 些断言 这些断言的结果直观的反应了当前仿真状态 同时 测试源的覆盖率也 将直接通过该报告进行显示 事务跟踪过程记录 该记录来源于事务跟踪器 VIP 的验证过程是基于事务模型 的 每个源的仿真过程就是一个事务完成过程 事务跟踪记录可以很直观的展现 当前仿真事务的状态和阶段 符号跟踪记录 该记录来源于符号跟踪器 记录了协议中被抽象出来的数据结构 节点的变化状态 如 8b 10b 符号 运行记录 该记录包含了每一条指令的运行情况 3 AVERY 解决方解决方案可以解决的问题案可以解决的问题 3 1 快速搭建高效测试平台快速搭建高效测试平台 编写 BFM 需花费大量时间 即使设计者编写 RTL 代码同时验证人员就开始编 写 Testbench 也很难确保 BFM 同时顺利完成 而且 数以千行的 BFM 代码 尚 未经过调试 存在潜在缺陷 相比以往 采用 VIP 技术 验证环境在代码完成之前就已经搭好 并完成了 初步的调试 能够帮助验证人员快速搭建 Testbench 大大简化 BFM 以及 BFM Debug 的编写流程 缩短研发验证周期 VIP 除了提供久经考验的 开放的货架 式的 BFM 还提供了丰富的 易用的激励函数模型 为定制 构造各种专业类 型激励提供了很大方便 3 2 基于模块化的验证环境基于模块化的验证环境 VIP 可以针对标准模块进行验证 如下例中 Testbench 是用来验证自行设计的 DFI PHY 模块 在 DFI 总线侧和 JEDEC 总线侧都使用了 VIP 模型 DDR VIP 功能完 备 支持 DDR3 DDR4 LPDDR2 LPDDR3 等模型 用以充分验证 DFI PHY 设计 的正确性 DFI 总线则用到了 VIP 提供的存储控制器模型 主要涉及链路层的协 议仿真 链路的驱动利用了 AXI 总线 在该总线下挂载了 IO 驱动或者 AXI 主端 DFI PHY 测试套件主要提供了 Testcase 的测试要点及测试方案 包括测试源 测 试监控等环节 可以看出 整个 Testbench 中的大部分组件都可以直接从 VIP 中 8 获取 甚至整个 Testbench 的集成 都可以从 VIP 的 Example 中得到参考 这为 验证设计质量和提高测试效率都提供了良好的保障 3 3 基于基于 SOC 集成的验证环境集成的验证环境 集成验证首先关注模块互连验证 包括总线互联 中断 DMA 连接等 验证 过程中需要保证平台相关的代码在整个验证流程中稳定不变 因此集成验证使用 VIP都是嵌入在总线的Master和Slave接口上 如下图中的存储控制器和处理器 在集成验证时 业务模块和处理器都使用一个保留顶层接口的空壳 Wrapper 然 后将 VIP 的 Master 和 Slave 在这个空壳中例化 这样使用对验证工作有两个好处 1 在项目进度上 虽然通常业务模块的代码不会在 SoC 集成验证之前就完成 但根据规格 一个包括接口信息的顶层是能够得到的 有了这个顶层模块 那么 集成验证就可以超前完成 2 集成验证还关注的一些数据流相关的场景可以在验证中进行模拟 模拟的结 果对业务模块的设计优化具有很好的参考价值 9 3 4 PROTOCOL 协议协议的检查的检查 VIP Monitor 可以检测验证传输是否满足总线规范 当仿真中的时序不满足总 线规范时 Monitor 会输出错误信息 从使用者的角度来看 此时的 Monitor 相 当于一个基于总线协议的 AIP Assertion IP 使用者只需将 Monitor 设置好 然后再 构造具有足够覆盖率的测试向量来进行测试即可 此外 对 Monitor 检查的每一 个协议特性 都经过大量实践 为业界公认 因此 通过 Monitor 检查 可以使 自主设计 IP 模块的总线协议的兼容性得到验证 3 5 基于规格覆盖率的随机验证基于规格覆盖率的随机验证 随机验证需要大量 繁复的激励对 DUT 进行反复测试 来确保所有边界条件 被覆盖 并补充固定 TC 中可能漏掉的细节上的功能特性 但是在 SoC 随机验证 中很难保证其测试向量确实地覆盖了所有希望覆盖的范围 AVERY 采用规格覆盖率的方法 是指基于激励的 在总线上的传输类型及其 Cross 的统计结果 加入了基于约束的激励 同时也引入了反馈技术来确保测试的 充分性 相对于业界的功能覆盖率 主要是 Coverage Group 部分的内容 即使用 Monitor的传输统计功能 以VIP中已封装好的函数为主 以VMT 中的函数为辅 来完成完整的总线协议规格覆盖 3 6 系统架构设计验证 优化设计 缩短周期系统架构设计验证 优化设计 缩短周期 系统架构设计时 通常会基于经验或者 SystemC 的 TLM 模型仿真结果对系统 的各个部分权衡考虑 如 CPU 内存 总线层次的选型和计算 以提供足够的 带宽等 此方法有其可行性及确定和优化系统结构的指导意义 但是 这种计算或者仿真都是在比较高的系统层次进行的 没有涉及到总线 上的具体时序 对比总线上的实际情况 如 Arbiter 的仲裁 DDR 争夺时的效率 等还存在一定的差异 VIP 具有高效仿真速度 使用 Master 的可约束随机激励 能很方便地模拟业 务模块 以及 CPU 数据流 在集成验证期间 业务流的传输特性已经明确 软 件基本完成 其大致需要的 MIPS 通过仿真器也可以获得 此时在系统上进行基 于时钟周期精度仿真很接近实际情况 通过仿真 不仅能够确定系统性能是否满 足应用需求 还能根据仿真结果微调优化系统架构 使系统达到最佳效果 在业务仿真中 需要收集的数据包括 Master因为 Arbiter仲裁造成的Delay Master 因为 Crossbar 冲突造成的 Delay Slave 响应慢造成的 Delay 等 VIP Monitor 10 通过设置可以监测 Slave 响应快慢造成的 Delay 业务仿真主要关心这些数据的峰值以 及在某些时间段的较大值 判定业务的 QoS 是否能够满足要求 以及处理器的 实际 MIPS 是否能够达到软件的需求 根据分析的结果 会尽量将冲突比较多的 接口 例如 DDR 的数据流尽量按时隙调整为乒乓球结构 对某些 QoS 要求比较 高的数据流 尽量使用 Lock 传输模式 对某些仲裁延迟较大的业务可以适当调 整 Arbiter 的优先级或延迟水线 VIP 的这种业务流模拟仿真 确实能够保证架构设计的正确性 减小后续验 证工作的难度 达到了优化设计 缩短验证周期的目的 3 7 解决的具体工程问题解决的具体工程问题 3 7 1 高效找出高效找出时序仿真中时序仿真中 X 传播传播 电路中的亚稳态 的来源的来源 3 7 2 对开机对开机 断电断电 加电时的芯片瞬态响应进行仿真加电时的芯片瞬态响应进行仿真 4 AVERY 解决方案的优势解决方案的优势 4 1 专业专业 VIP 特色特色解决方案解决方案及技术实力强及技术实力强 AVERY 公司于 1998 年创立 技术创始人黄奇莱博士是 Verilog 语言发明人之 一 作为国际各种协议标准管理组织的主要成员 AVERY 的 VIP 产品已有 15 年 的持续改进和工程应用 是全球该领域唯一的自主研发技术公司 拥有客户量达
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院VI管理课件
- 2024年净水絮凝剂项目项目投资需求报告代可行性研究报告
- 萍乡市人才档案管理办法
- 蒲城县建筑项目管理办法
- 蚌埠公司公积金管理办法
- 行政审批局专家管理办法
- 西安市夏季犬种管理办法
- 衢州市犬类管理暂行办法
- 西湖区小区门禁管理办法
- 许昌市学校食堂管理办法
- 护士长岗位面试问题及答案
- 卫生系统面试题目100及最佳答案
- DB11∕T 212-2024 园林绿化工程施工及验收规范
- 医疗废物与污水处理培训
- 律师事务所客户数据安全管理制度
- 夜市狂欢2025年夜间餐饮品牌竞争力评估报告
- 2025数学新课程标准培训
- 2025-2030中国新能源行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 住宅工程施工质量常见问题专项治理自评报告
- 仓库物流车辆管理制度
- 日本数字文化产业的发展历程与经验借鉴
评论
0/150
提交评论