0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过场景模型验证管理SoC复杂性

星星科技指导员 来源:嵌入式计算设计 作者:Thomas L. Anderson 2022-06-28 14:55 次阅读

开发片上系统 (SoC) 需要管理设计的许多复杂方面。晶体管的绝对数量是压倒性的,但复杂性不仅仅是数量。SoC 包含具有精确功能规范和一系列要求的高度复杂的特性。除了设计的复杂性之外,验证每个功能和整个 SoC 是否满足其规范和要求也是一个巨大的挑战。

除了设计和验证的复杂性之外,整个过程的项目管理也令人生畏。没有一种解决方案可以解决 SoC 复杂性的所有方面,甚至大部分方面。然而,一些技术可以解决问题的特定部分,例如基于图形的场景模型,这种形式可以直接降低验证复杂性,同时为管理 SoC 设计和项目复杂性提供附带好处。

SoC验证

可以在示例数码相机 SoC 设计的上下文中说明基于图形的场景模型的作用(图 1)。原始图像由相机模块从电荷耦合器件 (CCD) 阵列(正面或背面)捕获。它可以显示给用户,由照片处理器操作,通过 USB 端口传输,或保存到 SD 卡。一系列此类图像可被视为视频流,并由视频处理器和 SoC 中的其他知识产权 (IP) 块进行类似处理。

图 1:具有数码相机功能的 SoC 的复杂设计。

pYYBAGK6pgCATwuMAAMPbRoQPQ8768.png

SoC 具有相互交织的数据流并支持一些并行性。使用两个嵌入式 CPU,可以同时对多个 IP 块进行编程。此外,如果结构具有交叉开关功能,则多个数据流可以在不同的 IP 块和内存之间并行运行,如果不需要内存缓冲区,则可以直接在 IP 块之间运行。验证要求在架构支持时并行执行所有这些可能的流程,以模仿相机中的实际最终用途。

如果要开发测试平台环境,验证团队必须了解所有数据流和所有可能的交互。将 SoC 纯粹视为黑匣子并不能提供足够的验证;在大型设计中,严格地通过操纵输入来激发深层行为是很困难的。因此,SoC 验证团队几乎总是开发在嵌入式处理器上运行的 C 语言测试,作为他们方法的一部分。当然,手写测试也很困难,要对相互协调的多个处理器和测试台进行手写测试以充分发挥 SoC 的作用,几乎是不可能的。

基于图的场景模型

验证团队在理解芯片内所有可能的行为和数据流方面面临挑战。纸质规范很难消化,并且受制于自然语言的所有不精确性。由于描述的复杂性以及并非所有设计类型都适合声明性语言这一事实,尝试使用纯形式化方法描述完整的 SoC 的尝试没有成功。

一种获得认可的方法是基于图形的场景模型。这样的模型是一种形式主义——有向图——但不需要形式语言。它可以使用标准 C/C++ 语言加上一些来自标准巴科斯-瑙尔形式 (BNF) 表示法的结构来描述。该图显示了 SoC 中 IP 块之间的互连和合法数据流。场景模型类似于 SoC 架构师可能在板上绘制的数据流图,不同之处在于它的左侧是输出和结果,右侧是输入。

如图 2所示,可能的最终用户场景包括:

从其中一个 CCD 阵列读取并显示在屏幕上、写入 SD 卡或发送到 USB 端口的原始图像

从其中一个 CCD 阵列读取的原始图像,由照片处理器编码为 JPEG,然后写入 SD 卡或发送到 USB 端口

从其中一个 CCD 阵列读取的一系列原始图像,由视频处理器编码为 MPEG,然后写入 SD 卡或发送到 USB 端口

从 SD 卡或 USB 端口读取并显示在屏幕上的原始图像,写入 SD 卡或发送到 USB 端口

从 SD 卡或 USB 端口读取的 JPEG 图像,由照片处理器解码并显示在屏幕上,写入 SD 卡或从 USB 端口发送

从 SD 卡或 USB 端口读取的 MPEG 流,由视频处理器解码并显示在屏幕上,写入 SD 卡或从 USB 端口发送

图 2:数码相机 SoC 的高级场景模型。

pYYBAGK6pgeALhTPAAMdXmzALBc650.png

因为场景模型是分层的,所以图 2中的每个图形节点(目标)都可以展开以显示相应 IP 块设计的详细信息。该模型可以由 SoC 团队自上而下开发,也可由 IP 开发人员自下而上开发。自上而下的开发更为常见,因为项目通常开始使用场景模型来解决全芯片 SoC 验证问题。这可能需要 IP 开发人员的一些参与来填写较低级别的详细信息。如果一个项目完全采用该方法,那么场景模型也用于验证单个 IP 块,然后组合成一个全芯片模型。

场景模型提供了对 SoC 设计和芯片制造前必须覆盖的验证空间的洞察。这通过帮助定义测试计划来解决验证的复杂性。场景模型还有助于解决设计复杂性,因为它很像芯片架构师可能绘制的数据流图的扩展版本来解释设计的工作原理。因此,该图成为架构师、设计师、验证工程师、嵌入式程序员和启动团队之间可以使用的通用模型。这也降低了项目管理的复杂性,无论是在单个项目中,还是在共享设计部分的多个项目中。

场景模型自动化

图形场景模型的最大价值可能在于它可用于生成 C 测试用例,以在仿真、在线仿真 (ICE)、现场可编程门阵列 (FPGA) 原型或 SoC 芯片中的嵌入式处理器上运行在培养实验室。生成器从左到右遍历图表,从期望的结果到输入,组装一系列步骤,这些步骤返回到产生特定结果所需的输入值集。图形决策点和数据值是随机的,因此每个演练都会产生一个独特的测试用例。这种自动化消除了在 SoC 项目的任何阶段(从模拟一直到实验室)手写测试的需要。用户报告说,他们可以使用以前用于手写测试的 20% 的团队来获得更好的自动化结果,

可以将约束添加到图形中以阻止根据规范非法的路径,隔离尚未准备好验证的设计部分,或将测试用例生成偏向某些方向。例如,图 2所示的图表允许从 SD 卡读取原始图像,由照片处理器处理,然后显示在屏幕上的场景。这是一个不必要的步骤,因为可以直接显示原始图像;用户可以很容易地添加一个约束,即只有 JPEG 编码的图像被发送到照片处理器,以消除不必要的测试。

生成的测试用例是多线程和多处理器的,具有跨线程、处理器和内置测试台的所有通信。目标是在允许的最大流量和并行度下对 SoC 进行压力测试。在相机 SoC 中,可能会在从 SD 卡读取前一个图像并显示在屏幕上的同时将相机图像写入 USB端口。这种级别的活动不太可能发生在手写 C 测试或传统的仿真测试平台中,因此可以提供更完整的设计验证。

把它们放在一起

与任何自动测试生成方法一样,SoC 团队需要一种方法来评估验证的彻底性并确定何时流片。除了捕获设计和验证空间外,场景模型还用作系统级覆盖模型。由于遍历图表的确定性,验证工程师在测试用例生成时准确地知道图表中的最终用户场景(路径)和目标已被覆盖。他们不需要收集和整合运行时覆盖来评估验证进度。更重要的是,他们可以避免花费数周时间运行额外的模拟测试,这些测试对覆盖结果几乎没有任何影响。

场景模型和自动测试用例生成形成闭环覆盖系统。验证工程师可以指向任何未发现的路径或目标,生成器将生成一个覆盖它的测试用例。这同样适用于跨覆盖路径或目标。Breker 的 TrekSoC 系列产品提供闭环覆盖和场景模型的其他优势。

基于图的场景模型捕获关键的设计和验证知识,通过通用模型实现 SoC 项目团队成员之间更好的沟通,减少流程中多个点的人工工作,加快进度,更完整地验证设计以增加获得第一名的机会- 硅成功。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18039

    浏览量

    221549
  • usb
    usb
    +关注

    关注

    59

    文章

    7379

    浏览量

    257490
  • soc
    soc
    +关注

    关注

    38

    文章

    3710

    浏览量

    215384
收藏 人收藏

    评论

    相关推荐

    我们该如何应对SOC中越来越庞大和复杂的SDC约束?

    SOC设计变得越来越复杂,成本越来越高,设计和验证也越来越困难。
    的头像 发表于 03-13 14:52 396次阅读
    我们该如何应对<b class='flag-5'>SOC</b>中越来越庞大和<b class='flag-5'>复杂</b>的SDC约束?

    华为云盘古大模型通过金融大模型标准符合性验证

    近日,在中国信通院组织的可信AI大模型标准符合性验证中,华为云的盘古大模型表现出色,成功通过了金融大模型标准的符合性
    的头像 发表于 03-05 10:12 156次阅读

    华为云盘古大模型通过金融大模型标杆验证,获最高评级

    验证标准主要关注金融大模型对语言,语音,视觉以及多模态任务等多元领域的适应能力,涵盖数据合规性,模型安全性和服务稳定性等关键要素。
    的头像 发表于 03-04 15:58 171次阅读

    缓冲ADC系列消除了信号调理的复杂性

    电子发烧友网站提供《缓冲ADC系列消除了信号调理的复杂性.pdf》资料免费下载
    发表于 11-22 10:55 0次下载
    缓冲ADC系列消除了信号调理的<b class='flag-5'>复杂性</b>

    高密度、高复杂性的多层压合pcb电路板

    高密度、高复杂性的多层压合pcb电路板
    的头像 发表于 11-09 17:15 956次阅读

    OpenHarmony应用模型的构成要素与Stage优势

    迁移和多端协同 Stage模型实现了应用组件与UI解耦: 在跨端迁移场景下,系统在多设备的应用组件之间迁移数据/状态后,UI便可利用ArkUI的声明式特点,通过应用组件中保存的数据/状态恢复用户界面
    发表于 09-26 16:48

    思尔芯邀您共聚 2023 DVCon China,深度探讨如何加速SoC设计

    将分享如何面对当前先进的SoC设计和验证的挑战。目前先进SoC设计通常涉及多个处理核心,如CPU、GPU和NPU,以及复杂的系统连接方式。这样的复杂
    的头像 发表于 09-06 08:25 505次阅读
    思尔芯邀您共聚 2023 DVCon China,深度探讨如何加速<b class='flag-5'>SoC</b>设计

    ARM设计仿真模型用户指南

    行业标准的Verilog模拟器配合使用。 DSM执行速度在每秒5-500个周期的范围内,具体取决于: ·模拟器接口效率。 ·它被实例化的设计的复杂性。 ·原始设计的复杂性。 DSM包括: ·一个功能
    发表于 08-12 06:44

    DSM设计仿真模型流程集成指南

    上的SDF注释工具获取数据。DSM执行速度 范围为每秒5 - 500个周期,取决于模拟器的接口效率以及它被实例化的设计的复杂性
    发表于 08-08 07:49

    使用Emulex SAN管理器降低操作复杂性

    电子发烧友网站提供《使用Emulex SAN管理器降低操作复杂性.pdf》资料免费下载
    发表于 07-28 16:09 0次下载
    使用Emulex SAN<b class='flag-5'>管理</b>器降低操作<b class='flag-5'>复杂性</b>

    移动SoC的时钟验证

    些更低的几何尺寸下设计和验证时钟带来了越来越多的复杂性验证挑战。在这种快速发展的形势下,必须重新评估当前的时钟验证方法,以确保最佳的时钟性能和可靠性。
    的头像 发表于 07-17 10:12 440次阅读
    移动<b class='flag-5'>SoC</b>的时钟<b class='flag-5'>验证</b>

    为什么SoC验证一定需要FPGA原型验证呢?

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型验证一词对你而言非常新鲜,但是FPGA上板验证应该是非常熟悉的
    发表于 05-30 15:04 912次阅读
    为什么<b class='flag-5'>SoC</b><b class='flag-5'>验证</b>一定需要FPGA原型<b class='flag-5'>验证</b>呢?

    快速集成USB测试套件以快速开始验证

    当今设计的SoC日益复杂验证复杂性呈指数级增长,这不仅是由于设计的复杂性,也是由于协议的复杂性
    的头像 发表于 05-26 16:26 610次阅读
    快速集成USB测试套件以快速开始<b class='flag-5'>验证</b>

    管理NVMe验证复杂性

    NVMe 实现可以解决 SATA 点对点架构和 SAS 占用的空间问题。在这两个领域成功采用是由于低延迟和通用存储接口的承诺,无论位置如何。尽管这两个用例中的验证挑战相似,但它们仍然需要不同的思维过程。
    的头像 发表于 05-26 10:21 733次阅读
    <b class='flag-5'>管理</b>NVMe<b class='flag-5'>验证</b><b class='flag-5'>复杂性</b>

    从几个方面阐述数字逻辑的可验证设计

    ,进而降低模块整体的可验证。数据有效指示对验证者来说,是不可或缺的,是必选项。如果架构师或设计者不提供,验证者只能自己
    发表于 04-04 17:24