自半导体设计诞生之初就已经存在的工具、方法和流程正在崩溃,但这一次并没有大量研究人员提出潜在的解决方案。 该行业自行制定这些想法,这将需要 EDA 公司、晶圆厂和设计师之间进行大量合作,这在过去并不是他们的强项。
无法分析的东西很难优化,而且分析变得越来越困难,因为大型半导体产品中的许多问题要么是多物理场问题,要么是硬件和软件、系统、电路板的组合、IC 封装、中介层、芯片和 IP 块。 过去,分而治之的方法一直是处理问题的方式。 有时这是分层完成的,例如在集成块之前对其进行全面验证,或者有时通过隔离问题来完成,例如时钟域交叉。
但是,越来越多的问题抵制这些类型的方法,并且该行业尚未找到简单的解决方案。 例如,像安全这样的问题是系统级的问题。 许多性能或电源问题也是如此。 甚至像电源和信号完整性这样的问题也必须通过许多层的复杂互连来处理从 IP 到系统的层次结构,每一层传统上都是针对不同的工具集进行定制的。
这会产生一组新的建模问题,并要求一些现有工具发挥比过去更大的作用。 或者,该行业将不得不认真对待对设计施加约束,以便分析成为可能。 虽然这个行业开始认识到这些问题,但它今天正在以零散的方式解决它。 到目前为止,还没有人提出可以延伸到未来的通用解决方案。
这是一个数字游戏。 “如果考虑到整个系统,弯道的数量会呈爆炸式增长,”Shekhar Kapoor,高级营销总监说 新思. “今天,这些方法仍然回到分层分而治之的做事方式,并且还在寻找减少必须处理的场景数量的方法。 没有这些,计算需求将是巨大的。 如果你要能够在系统上签字,这条路要长得多。”
分层方法对某些事情仍然有用。 Real Intent 总裁兼首席执行官 Prakash Narain 表示:“抽象原则用于分析的基本复杂性过于复杂的地方。” “在仿真中,我们在总线功能模型和静态时序分析方面使用它。 我们通过创建 I/O 级时序模型、时钟域交叉、时钟域交叉、复位域交叉的静态签核技术来使用它。 这些都是我们成功利用分层技术的地方。”
边角减少通常涉及设计决策。 “为什么不避免域交叉呢,”Synopsys 的 Kapoor 说。 “只要让设计保持异步,每个部分都是自己计时的。 这样您就可以管理该特定作品的角数。 然后您可以在此基础上使用边角减少技术。 通过时序分析的分层方法,我们分别为每个部分计时,然后将两者与约束结合在一起,并进行角合并。”
何谓处处递增之道。 “许多人想对多芯片系统进行分析,”Synopsys HPC IP 高级总监 Mick Posner 说。 “过去,信号和电源完整性解决方案专注于芯片、封装和 PCB。 现在,它已经成为裸片、中介层、封装、PCB。 对于 112G 和内存接口等高性能接口尤其如此,这些接口非常关注中介层或路由层的影响。 我们必须弄清楚如何将该信息与 IP 打包,这有时是不可能的,因为我们不知道该 IP 是如何被使用的。 我们可以提供一个参考流程,向他们展示他们是如何进行分析的。”
问题是做一些必要的抽象是困难的。 “抽象要求对于应用程序来说是非常具体的,”Real Intent 的 Narain 说。 “它们依赖于技术,即使对于该应用程序,它们也因产品而异。 它们取决于每个产品用来实现功能的技术。 然后你必须考虑你正在寻求的准确性水平。 它将非常具体地针对应用程序和技术,并且标准真的会在稍后出现,因为这是一个非常难以完成的过程。”
波斯纳提供了一个具体的例子。 “对于 HBM3,我们打包了一个参考设计。 这是我们自己的测试芯片的参考设计。 我们开发了一个 PHY,但是当我们做一个测试芯片时,我们还必须开发一个连接到 HBM 堆栈的中介层。 我们必须以与客户必须做的类似的方式做每一件事。 然后他们可以利用该流程。 但是,当然,那是我们的测试芯片。 他们可以重复使用流程,但实际数据将特定于他们如何布置中介层。”
建模问题
造成这些困难的原因是缺乏模型和生成这些模型的手段。 模型是保真度、准确性和性能之间的权衡。 高精度模型往往具有良好的保真度但执行速度较慢,而执行速度较快的模型在准确性、保真度或两者方面都有所下降。 所需的模型是功能模型和非功能模型。
我们一直在处理功能域中的问题,但还需要做更多的工作。 “对于功能验证,我们做了一些模型,”设计验证技术战略总监 Neil Hand 说。 西门子EDA. “我们有周期精确、指令集精确等等。 但是您希望有一种在它们之间轻松移动的方法。 通过混合建模,您可以实现所谓的快速运行,然后运行准确。 在飞行中,您需要能够切换模型。 例如,有人可能会在不太准确、运行速度较快的模型上启动操作系统,然后将设计状态切换到运行准确的模型。 现在,他们能够从这一点开始,在模型本身中具有更多的粒度和更高的保真度。 我们需要开发更强大的功能,以便在您需要时在保真度之间切换。”
今天,类似的方法用于块级和集成验证。 “当你购买一个 Arm 内核时,你并没有验证 Arm 内核的功能,” Imperas软件. “你验证它的整合。 这就是像 Breker 这样的公司进来的地方。你有这些障碍,但你如何检查他们是否都在互相交谈? 您执行此操作的方式与使用 UVM 或 Verilog 验证块的方式不同,后者是您用于块级验证的方式。 验证中的层次结构是让所有块工作,单独测试它们,然后将它们组合在一起并担心集成测试。 但它们需要不同的方法。”
问题一直是创建这些模型需要时间和精力,并且必须验证每个模型以确保一致性。 “对于架构,您还需要非功能属性,例如时序细节,”Synopsys 虚拟原型设计首席工程师 Tim Kogel 说。 “这需要付出更多的努力来构建模型。 虽然业界已经建立了更高级别的抽象,但它并没有成功地创建用于构建这些非功能性性能模型的工具。 例如,软件将处理元素视为更抽象的资源单元,然后您可能拥有互连和内存子系统或不同芯片之间的网络的更详细模型。 Arteris 和 Arm 确实为相干网络、各种类型的互连 IP 以及内存控制器提供了这些,这些都是集成的关键部分。”
需要更多的模型生成工具。 “当你使用特定模式分析设计时,你有能力创建一个抽象模型,”Malik Vasirikala 说,他是 安思. “例如,当我分析芯片的内部结构时,我也从接口的角度了解它的行为方式。 我可以创建一个模型,就好像我是从外围看到这整个部分,或者在芯片到外部世界的边界处。 然后在分析与其相连的另一个芯片时,我不需要芯片的内部细节。 我只需将该行为模型插入此分析中即可完成。”
但也有差距。 “缺少的部分是物理世界和虚拟世界之间更好的数据集成和交换,”Synopsys 的 Kogel 说。 “我们需要一个基于学到的布局规划信息和学到的几何形状的架构模型,当迁移到虚拟原型级别时,它可以帮助您根据实际应用程序活动验证性能、功率和热量。”
你什么时候完成?
完成是任何分析任务中的问题之一。 你有报道过重要的案件吗? 块级功能验证存在覆盖率指标,但这是另一个需要迁移到更高抽象级别和非功能域的模型。 “如果您在 RTL 领域运行部分验证,在虚拟原型中运行一些验证,您如何将这些覆盖项目合并在一起?” 西门子的手问道。 “今天这是通过功能覆盖来完成的,但是有机会——尤其是当你考虑刺激生成时,当你在事物的覆盖方面使用 AI 时——开始从不同类型的覆盖中推断信息。”
软件界在这方面一直很松懈。 “我认为没有标准的覆盖方法或方法,”Imperas 的 Davidmann 说。 “据我所知,人们没有围绕相当于 HDL 中的覆盖点和覆盖组的软件进行任何自动化。 确实存在用于验证和分析的协议检查器。 您还可以构建统计数据,您可以在其中查看函数或查看对变量的访问。 由于缺乏标准化,我们提供了必要的工具,但用户必须自己构建它。”
一旦有了覆盖的概念,就可以考虑优化验证。 “无论是当前形式的便携式刺激,还是建立在这些概念之上的东西,我们都需要在系统级别生成场景,”Hand 说。 “我们能否将其提升一个层次,使用虚拟原型和系统建模,并跨稳健系统生成场景? 随着系统变得越来越集成,它将变得越来越重要。”
其他人同意。 “你希望在 IP 级、SoC 级和后来的硅片内验证之间保持这种连续性,”Kogel 说。 “便携式刺激是实现这一目标的一种方法。 然后,您还可以运行抽象测试用例,例如嵌入式内核上的程序,然后在虚拟原型中运行。 从广义上讲,这是对架构概念的验证。 稍后,您可以在仿真器和 FPGA 原型上使用软件运行 RTL,这可用于验证性能,因为它更像是“所见即所得”。 这不是什么高级虚拟模型。”
图 1:多层次模型和验证目标。 资料来源:新思科技
进行集成验证的另一种方法是通过功能合规性。 “在 Arm 中有一种称为‘系统就绪’的尝试,它定义了兼容和能够启动操作系统的含义,”著名工程师兼 SoC 验证架构师尼克希顿说。 Cadence公司. “如果您的实施通过,您将不必修改 Red Hat 的操作系统版本或其他任何版本。 他们只会启动它。 这是软件和硬件之间的契约。 便携式刺激正试图以一种更普遍的方式来做到这一点,我们称之为 VIP,因为它是一种开箱即用的内容,我们正在提供一种一致性级别的内容。 我们测试了一致性的所有排列,我们基本上可以将其交付给任何平台,无论是 Arm 还是 RISC-V 或其他平台。”
调试问题
能够运行模型是一回事,但查找和修复模型中的问题或模型的使用方式的问题是另一回事。 “如果你在硬件或 FPGA 上调试软件,你会得到一个连接到它的 gdb,你可以单步执行处理器的指令流,”Davidmann 说。 “但是当他们有 10 个或更多处理器时,问题就来了,他们需要知道什么时候‘这个’正在写入‘那个’,这是什么样子的? 分析和调试必须以整体方式进行,这样您才能看到一切。 这必须涉及软件堆栈,以便您可以查看平台的行为。”
这是一组不同于调试硬件的需求。 “随着我们开始进行硬件/软件集成测试,我们开始看到更多的软件调试功能集成到虚拟原型调试环境中,”Hand 说。 “当我们开始为系统设计师提供它时,我们就有机会研究使用模型,以及这些团队想要在哪些设计环境中工作? 我们如何将其纳入其中? 您希望系统设计人员以对他们有意义的方式与虚拟原型进行交互。 这一切都是关于识别最终用户并将使用模型映射到他们。 在这个领域,我们可以做很多事情,而且我们应该做很多事情。”
工具和方法必须满足每个级别的需求。 “进行集成验证的人并不是了解每个模块的人,”Cadence 的 Heaton 说。 “调试时间或周转时间变得越来越重要。 您一天可以运行的调试周期数是一个严重的问题。 如果工具可以将您指向第一个订单地点,则可以节省数小时的调试时间。 我们正处于这段旅程的开始。 学习正在进行中,我们使用这些工具的方式将会变得更好。”
人工智能可能会有所帮助。 “尽管人类拥有最好的神经网络,但我们的 I/O 或多或少仍然是串行的,”Cadence 产品工程组总监 Matt Graham 说。 “也许我们可以处理两个或三个平行轨道,但肯定不会更多。 机器可以并行考虑所有这些事情。 他们可能会使用一个简单的算法,或者一组简单的 AI,在大规模并行、高度集成的事物上做一些事情。 但这与我们自己能够做的不同。 可能是上次我们进行修订或更改的内容,或者确定行为的不同之处,或者 IP 中更改的参数是什么。”
结论
系统的复杂性压倒了当今的许多工具和方法。 过去使用的技术虽然仍然有价值,但还不够。 业界在功能验证领域已经看到了许多这样的问题,但这只是冰山一角。 鉴于在最广为人知的领域取得的进展如此之少,许多其他领域的进展可能不会很快——尤其是那些由先进封装驱动的领域。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图区块链。 Web3 元宇宙智能。 知识放大。 访问这里。
- Sumber: https://semiengineering.com/design-and-verification-methodologies-breaking-down/
- 1
- 10
- a
- Able
- 关于
- 摘要
- 账号管理
- 精准的
- 横过
- 活动
- 高级
- AI
- 算法
- 所有类型
- 时刻
- 分析
- 分析
- 分析
- 和
- 另一个
- 应用领域
- 的途径
- 方法
- 建筑的
- 架构
- 国家 / 地区
- 地区
- ARM
- 围绕
- 自动化和干细胞工程
- 可使用
- 背部
- 基于
- 基本上
- 因为
- 成为
- 成为
- 成为
- before
- 开始
- 作为
- 最佳
- 更好
- 之间
- 大
- 阻止
- 吹氣梢
- 板
- 破坏
- 带来
- 广阔
- 建立
- 建筑物
- 建立
- 总线
- 购买
- Cadence公司
- 呼叫
- 被称为
- 能力
- 能力
- 案件
- 例
- CEO
- 当然
- 查
- 芯片
- 碎屑
- 相干
- 组合
- 如何
- 未来
- 公司
- 复杂
- 复杂
- 符合
- 兼容
- 概念
- 已联繫
- 所连接
- 考虑
- 约束
- 内容
- 合同
- 合作
- 核心
- 角落
- 角落
- 课程
- 外壳
- 覆盖
- 覆盖
- 创建信息图
- 创建
- 创造
- 电流
- 顾客
- 周期
- data
- 天
- 处理
- 处理
- 决定
- 交付
- 交付
- 需求
- 依赖的
- 设计
- 设计师
- 设计
- 细节
- 详细
- 详情
- 开发
- 发达
- 死
- 不同
- 难
- 困难
- 副总经理
- 杰出的
- 做
- 域
- 域名
- 别
- 向下
- 驱动
- 每
- 容易
- 努力
- 或
- 分子
- 嵌入式
- 工程师
- 工程师
- 确保
- 环境
- 环境中
- 特别
- 成熟
- 甚至
- 一切
- 例子
- 交换
- 执行
- 现有
- 延长
- 外部
- 时尚
- 高效率
- 快
- 少数
- 保真度
- 无花果
- 找到最适合您的地方
- 寻找
- 姓氏:
- 固定
- 流
- 流动
- 专注焦点
- 遵循
- 申请
- 向前
- 创办人
- 创始人兼首席执行官
- FPGA
- 止
- 充分
- 实用
- 功能
- 功能
- 根本
- 未来
- 游戏
- 其他咨询
- 发电
- 代
- 得到
- 给
- 特定
- Go
- 理想中
- 去
- 非常好
- 更大的
- 团队
- 组的
- 处理
- 硬件
- 帽子
- 帮助
- 等级制度
- 高水平
- 高性能
- 更高
- 高度
- 整体
- HOURS
- 创新中心
- How To
- HPC
- HTTPS
- 巨大
- 人类
- 杂交种
- 思路
- 确定
- 影响力故事
- 实施
- 履行
- 重要
- 威风
- 不可能
- in
- 合并
- 增加
- 日益
- 个别地
- 行业中的应用:
- 信息
- 集成
- 积分
- 诚信
- 意图
- 相互作用
- 接口
- 接口
- 内部
- 涉及
- IP
- 问题
- 问题
- IT
- 项目
- 本身
- 旅程
- 卡普尔
- 保持
- 键
- 类
- 知道
- 知识
- 缺乏
- 大
- 名:
- 层
- 层
- 知道
- 学习
- Level
- 各级
- 杠杆作用
- 容易
- 小
- 不再
- 看
- 看起来像
- 占地
- 机
- 制成
- 制作
- 管理
- 方式
- 许多
- 制图
- 营销
- 大规模
- 匹配
- 最大宽度
- 有意义的
- 手段
- 内存
- 合并
- 合并
- 方法
- 研究方法
- 指标
- 可能
- 失踪
- 模型
- 造型
- 模型
- 修改
- 更多
- 最先进的
- 移动
- 多
- 必要
- 需求
- 需要
- 网络
- 网络
- 神经
- 神经网络
- 全新
- 概念
- 数
- 数字
- 一
- 操作
- 操作系统
- ZAP优势
- 优化
- 追求项目的积极优化
- 秩序
- OS
- 其他名称
- 己
- 包
- 包装
- 并行
- 参数
- 部分
- 特别
- 尤其
- 通行证
- 过去
- 径
- 模式
- 员工
- 性能
- 透视
- 的
- 片
- 件
- 地方
- 地方
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 点
- 点
- 池
- 可能
- 潜力
- 功率
- 普拉卡什
- 总统
- 校长
- 原理
- 市场问题
- 问题
- 过程
- 处理
- 处理器
- 产品
- 热销产品
- 曲目
- 进展
- 建议
- 协议
- 原型
- 原型
- 原型
- 提供
- 提供
- 真实
- 境界
- 原因
- 承认
- 红色
- 红帽
- 减少
- 参考设计
- 发布
- 要求
- 必须
- 岗位要求
- 需要
- 研究人员
- 资源
- 健壮
- 角色
- 运行
- 运行
- 同
- 保存
- 情景
- 保安
- 看到
- 寻求
- 看到
- 半导体
- 前辈
- 感
- 串行
- 严重
- 集
- 应该
- 作品
- 签署
- 信号
- 类似
- 西蒙
- 简易
- 模拟
- 自
- 单
- 慢慢地
- So
- 至今
- 软件
- 方案,
- 解决方案
- 一些
- 有人
- 东西
- 来源
- 跨度
- 专家
- 具体的
- 堆
- 堆栈
- 标准
- 标准
- 开始
- 开始
- 州/领地
- 统计
- 步
- 仍
- 刺激物
- 策略
- 流
- 强烈
- 成功
- 顺利
- 这样
- 足够
- 供应
- Switch 开关
- 系统
- 产品
- 量身定制
- 采取
- 需要
- 说
- 任务
- 队
- 技术
- 专业技术
- 条款
- test
- 测试
- 测试
- 区域
- 未来
- 其
- 他们自己
- 热
- 事
- 事
- 三
- 通过
- Tim
- 次
- 时控
- 定时
- 类型
- 至
- 今晚
- 一起
- 也有
- 工具
- 最佳
- 向
- 传统
- true
- 类型
- 了解
- 进行
- 单位
- us
- 使用
- 用户
- 用户
- 利用
- 利用
- 验证
- 验证
- 有价值
- 各个
- 企业验证
- 专利
- 确认
- 验证
- 一对一
- 在线会议
- 虚拟世界
- 了解
- 方法
- 什么是
- 是否
- 这
- 而
- WHO
- 将
- 也完全不需要
- 工作
- 锻炼
- 加工
- 世界
- 世界
- 将
- 写作
- 您一站式解决方案
- 和风网