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

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

3天内不再提示

使用事务级模型确保硬件和软件同步

星星科技指导员 来源:嵌入式计算设计 作者:Michael (Mac) McNamar 2022-06-28 15:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

消费者和无线通信市场比以往任何时候都更具竞争力。公司聚合与分解之间的持续战斗如火如荼。聚合的一个例子是决定通过将芯片设计引入内部来拥有更多的垂直设计链。这有助于像 Apple 这样的公司通过控制更多的整体产品设计来实现差异化,从而不受其他人可用的现成芯片的限制。

虽然苹果已经证明了垂直差异化的潜在回报,但这种方法确实带来了巨大的风险,无论一家公司是否有设计芯片的经验。具体来说,软件团队如何开发与交付的硬件一起使用的软件?

在等式的另一边,完全分解是由软件抽象层(如谷歌的 Android 操作系统)实现的。它在某种程度上使设计空间民主化,允许所有系统公司参与并使用软件实现差异化。Android 允许半导体供应商通过提供支持硬件平等参与。同样,软件与硬件一起工作的方式决定了产品的成功。

这个问题的传统解决方案在今天的市场上是行不通的。公司过去可以根据规范开始软件开发,并等待芯片原型可供测试。如果软件非常简单,独立于硬件,并且有一个简单的规范,那么它就可以工作,但对于今天需要所有东西都连接起来的消费电子产品来说就不行了。

此外,等待很长时间才能开始测试会使调试周期在计划中太晚。近年来,许多公司通过转向标准的现成芯片来解决这个问题,但这种方法限制了差异化的能力。如果你想添加一个省电的睡眠模式但是没有办法关闭芯片怎么办?

在综合场景中,公司不仅在软件和工业设计方面寻求差异化,而且在电子硬件方面也有所不同。进行芯片设计项目会带来风险;再加上嵌入式软件开发,整体项目风险呈指数级上升。大多数公司都非常小心,会花大量时间预先构建系统、对其进行测试、将其划分为软件和硬件,并指定两者的行为。但是一旦每个团队开始设计,就会做出某些实现假设,引入错误,并且可以添加功能。

在一个分散的世界中,情况甚至更糟,因为责任现在跨越了公司边界。来自系统和半导体领域的公司可能会决定合作优化硬件/软件交互并创建针对系统需求进行优化的芯片。即使有持续的同步会议,设计更改也会在软件团队不知情的情况下潜入,并且可能直到软件第一次在实际硬件上运行时才会被看到。这又回到了硬件不够快可用的问题。工程师如何解决这个难题?

原型设计的黄金模型

以软件模型形式出现的硬件虚拟原型(或虚拟平台)在流程的早期为软件团队提供了系统硬件模型。这使开发人员能够开始对硬件规范模型进行测试。但是,它只是规范的模型。今天的大多数硬件设计都是从工程师阅读和解释规范开始的,然后用 Verilog 等硬件设计语言编写低级寄存器传输语言 (RTL) 模型,以开始验证和实施过程。由于前面提到的因素,硬件行为可能会偏离规范。

解决方案是使用一个通用的“黄金模型”,软件团队可以在该模型上进行开发,硬件团队可以使用该模型开始实施。现在,随着开放系统 C 倡议 (OSCI) 事务级建模 (TLM) 2.0 标准的可用性,这成为可能。

简而言之,SystemC 是一个类库,通过对硬件数据类型和并发性进行建模,可以使用 C/C++ 进行硬件设计。因为硬件现在可以用 C 语言建模,所以软件团队可以运行相同的模型。TLM 扩展很重要,因为它们抽象出硬件所需的所有信号级协议细节,以确保它与系统总线正确通信。过多的这些细节会使模型运行软件太慢。TLM 将这些细节抽象为更高级的模型,这些模型可以在高级综合期间映射到详细的硬件。

解决高级综合限制

高级综合提供了 C 模型和构建的实际硬件之间的自动链接。这消除了硬件设计人员解释规范并手动编写自己的模型以开始构建硬件的人为因素。直到最近,由于现在已经解决了一些关键限制,这在实践中很少使用:

结果质量:前两代高级综合从未能够生产出满足手动编写 RTL 所能达到的相同性能、功耗和尺寸的硬件。现代高级合成技术已经解决了这个问题。

细化方法:用于软件开发的高级虚拟原型使用 SystemC TLM 描述,但仍需要硬件团队通过添加硬件架构细节来对其进行细化,以便高级综合可以产生最佳的硬件微架构。这些细节对于软件测试来说太低级了,会减慢它的速度,但它们对于构建高效的硬件很重要。这种方法现在已经存在,并已被早期采用者客户证明。

验证:直到最近,工程师还缺乏一种成熟的方法来验证 SystemC TLM 中硬件架构和其余硬件实现流程的正确性。这主要是因为不存在实现实现的自动化路径,因此大多数验证都是在较低级别完成的。因此验证成为硬件开发进度的瓶颈。既然存在自动化路径,验证方法就已经开发出来了。

硬件设计团队熟悉使用 SystemC TLM 设计和验证硬件的这些传统障碍。然而,大多数人并不知道这些障碍已得到解决。那些意识到这一点的人现在享有显着的竞争优势。他们可以更有效地描述他们的硬件,更快速地验证它,并更容易地在衍生芯片中重用它。

实践中的虚拟平台

硬件的通用模型现在可以更早地作为虚拟平台的一部分使用,因此可以更快地解决硬件/软件交互问题。这种通用模型可以作为虚拟平台中更大系统的一部分在公司内部的聚合开发场景中交付,也可以在分散的世界中跨公司交付。

系统概念首先被描述为 SystemC TLM 虚拟原型。在 Cadence 流程中,虚拟系统平台使用此虚拟原型在此硬件模型上运行软件。同时,硬件设计团队将完善 TLM,为 C-to-Silicon Compiler 高级综合添加硬件架构细节,这是实现硅片的开始。

如果在测试过程中发现错误,虚拟系统平台将与 Incisive Verification Platform 集成,以便可以在软件和硬件上进行调试。这意味着无需繁琐的固件补丁即可从源头解决问题。随着硬件实施过程的进展,更详细的 RTL 模型可用于在验证计算平台中创建硬件仿真模型或在快速原型开发平台中创建 FPGA 原型。

整个过程是一系列连续的改进,从快速 TLM 模型开始,在可用时添加更多硬件细节,同时保持足够快的运行时以进行软件开发。这最终使软件和硬件团队——甚至跨越公司边界——拥有一个通用模型,可以实现更早的通信和持续的同步。这是与当今消费市场所需的创新和交付计划保持同步所需的协作类型。只有硬件团队发展其设计和验证方法以包含 SystemC TLM,才能实现这一目标。

审核编辑:郭婷

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

    关注

    1665

    文章

    22587

    浏览量

    641264
  • 芯片
    +关注

    关注

    463

    文章

    54706

    浏览量

    471483
  • 总线
    +关注

    关注

    10

    文章

    3071

    浏览量

    91997
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Aumovio案例研究 | 软件即产品(SWaap)背景下的模型系统工程与闭环系统验证

    Aumovio案例研究客户背景Aumovio作为一家科技公司,致力于为当前及未来的移动出行挑战提供硬件软件与服务的最佳融合方案。挑战在软件即产品(SoftwareasaProduct,SWaaP
    的头像 发表于 01-07 10:04 786次阅读
    Aumovio案例研究 | <b class='flag-5'>软件</b>即产品(SWaap)背景下的<b class='flag-5'>模型</b>系统工程与闭环系统验证

    智能双卡设计实战指南:硬件电路与软件配置详解!

    在智能双卡设计中,硬件电路的可靠性与软件配置的精准性直接决定双卡功能的稳定性。本文基于实际项目经验,详细拆解硬件设计中SIM卡供电电路、时钟信号匹配及卡槽复用设计的实现细节,并同步讲解
    的头像 发表于 12-16 15:13 750次阅读
    智能双卡设计实战指南:<b class='flag-5'>硬件</b>电路与<b class='flag-5'>软件</b>配置详解!

    晶科储能荣获全球一用事业规模储能系统厂商

    近日,晶科储能在2025欧洲零碳大会上荣获“全球一用事业规模储能系统厂商”。这一殊荣充分彰显了公司在储能领域的领导地位以及对卓越品质的不懈追求。“一”认证旨在表彰在可再生能源行业中展现出卓越技术性能、安全标准及市场影响力的
    的头像 发表于 11-11 15:43 960次阅读

    脉冲神经元模型硬件实现

    息电位 vrest。 LIF神经元模型在生物可解释性上低于其他模型,只体现了神经元计算的关键特性,并不能够解释真实神经元的脉冲是如何生成,也不包括丰富的神经元行为特性。但由于其简单的操作量更适合硬件
    发表于 10-24 08:27

    NVMe高速传输之摆脱XDMA设计28: TLP 事务处理程序的执行流程

    最小桥设备模型的每个端口的输入端对接一个 TLP事务处理程序, 该程序负责将接收到的 TLP 事务进行解析和路由转发。
    的头像 发表于 09-23 09:13 1219次阅读
    NVMe高速传输之摆脱XDMA设计28: TLP <b class='flag-5'>事务</b>处理程序的执行流程

    NVMe高速传输之摆脱XDMA设计28: TLP 事务处 理程序的执行流程

    前面提到最小桥设备模型的每个端口的输入端对接一个 TLP事务处理程序, 该程序负责将接收到的 TLP 事务进行解析和路由转发。 TLP 事务处理程序的执行流程如图 1 所示。图1 TL
    发表于 09-21 08:51

    如何测试时间同步硬件的电源波动适应性?

    、频率波动等),验证硬件在这些场景下的时间同步性能(精度、稳定性)、工作状态(是否死机 / 断连)及恢复能力,确保其在复杂电源环境中仍能可靠运行。 一、测试前的准备工作 1. 明确测试依据与指标 需先确定测试的标准依据和判定指标
    的头像 发表于 09-19 12:01 918次阅读
    如何测试时间<b class='flag-5'>同步</b><b class='flag-5'>硬件</b>的电源波动适应性?

    如何进行时间同步硬件的环境适应性测试?

    在时间同步硬件(如支持 IEEE 1588 PTP、SNTP/NTP 的同步模块、GPS / 北斗接收机等)的环境适应性测试中,核心目标是验证硬件在 极端或复杂环境应力下(如温湿度波动
    的头像 发表于 09-19 11:58 746次阅读

    如何测试时间同步硬件的性能和可靠性?

    选择时间同步硬件后,需通过 系统性测试 验证其性能是否达标、可靠性是否满足场景需求。测试需围绕时间同步的核心目标(精度、稳定性、抗风险能力)展开,结合硬件的应用场景(如工业控制、电力系
    的头像 发表于 09-19 11:54 1282次阅读

    用事务加速实现高速、高质量的RISC-V验证

    ,微架构灵活性极大增加了验证复杂性。不同的内存层次设计、流水线结构以及功耗时序约束,使得验证空间呈指数扩张。其次,自定义指令集显著扩大了验证范围。每条新增指令都
    的头像 发表于 09-18 10:08 2348次阅读
    利<b class='flag-5'>用事务</b><b class='flag-5'>级</b>加速实现高速、高质量的RISC-V验证

    NVMe高速传输之摆脱XDMA设计27: 桥设备模型设计

    Switch 上游虚拟 PCI 桥。 此外还包含一个 TYPE1 类型的配置空间封装类, 用来模拟配置空间寄存器组。 模型的每个端口的输入端对接一个 TLP事务处理程序, 该程序负责将接收到的 TLP 事务进行解析和路由转发。
    发表于 09-18 09:11

    有哪些方法可以确保硬件加速与通信协议的兼容性?

      确保硬件加速与通信协议的兼容性,核心是从 硬件选型、协议标准匹配、软硬件接口适配、全场景测试验证 四个维度建立闭环,避免因硬件功能缺失、
    的头像 发表于 08-27 10:07 1458次阅读

    如何设置协议分析仪进行微秒测试?

    设置协议分析仪进行微秒测试需从硬件同步、采样率配置、触发条件优化、信号完整性保障、软件分析工具选择及环境控制六个维度综合配置,具体方法如下:1.
    发表于 07-28 17:28

    ADL5308可以通过软件硬件配置的参数,配置的优先是什么?

    你好,麻烦问一下ADL5308可以通过软件硬件配置的参数,配置的优先是什么?有没有更详细的寄存器配置手册,截距配置的步进是多少?
    发表于 06-10 06:39

    知识分享 | 评估模型架构——如何实现?

    确保良好的模型架构对于开发安全和可靠的软件非常重要。本文为您介绍MES Model Examiner® (MXAM)如何优化模型架构,简化复杂度管理步骤,并最终提升
    的头像 发表于 06-05 11:46 826次阅读
    知识分享 | 评估<b class='flag-5'>模型</b>架构——如何实现?