就嵌入式系统和SOC而言,汽车、大规模计算、IoT和5G通信等应用使得多核异构、多处理架构的设计成为主流。在无人驾驶、AI和ML这些领域,多核异构芯片正变得越来越普遍,而在数据中心这类应用场景中,有数千个处理器——随着功能迭代,这个数量将达到百万兆级——在同时运行,这些不同的处理器之间的交互对系统级行为产生的影响需要有效的跟踪和调试。
此外,RSIC-V这样的新型处理器架构的兴起也给SOC设计增加了一个前所未有的选项,芯片系统复杂度的增加使得芯片设计的投入越来越高——一颗7nm芯片从设计到流片需要2亿美金——因而保障它们被正确的设计和运行最终得以变现的工具就愈发重要。
大规模系统设计要解决的问题
“芯片设计人员总是希望能够更快的进行系统级芯片开发和调试,系统设计则需要增强的连接能力,基于硬件的安全防护能力,功能安全性,现场性能和功耗优化,”UltraSoC首席执行官Rupert Baines说。“与Synopsys这类设计工具公司提供的产品不同,UltraSoC的产品是以IP的方式固化在用户芯片中,这对于用户而言,分析和调试不仅是研发期,而且延长到了整个产品生命周期。”UltraSoC是一家为SoC设计提供内部分析、追踪与监测IP的公司,这些IP将可扩展的分析技术和通信架构加入SoC中,包括开发、分析和数据可视化的算法及工具,以及用于信息安全的分析技术。
开发环境需要简化
UltraSoC去年10月推出了一个集成开发环境工具——UltraDevelop 2 IDE。该工具集成了调试、运行控制和性能调优功能,可为硬件、固件和软件的运行提供集成化的视图,以及高级异常检测、可视化和数据科学等功能。
图:UltraDevelop 2 IDE可为硬件、固件和软件的运行提供集成化的视图界面
基于Percepio的Tracealyzer功能,UltraDevelop 2为工程师提供了硬件操作和高级软件执行的集成化可视性。对Imperas的多处理器调试器的集成,使UltraDevelop 2能够支持多核、多线程平台,包括利用不同处理器架构的内核组合,支持开发复杂的异构系统——如上所言,这些系统正变得越来越普遍。“打造UltraDevelop 2的目的,是为了给SoC设计人员在选择开发平台时提供功能和灵活性的最佳组合,并且有能力对20多种CPU架构进行实时运行控制。”Baines说,“开发人员可以从UltraSoC现有的合作伙伴处获得和部署第三方工具,并支持底层的UltraSoC硬件功能,或者他们可以选择UltraSoC提供的预集成配置。”
图:AI处理器的数据处理量达到3Gbit/S,要对延时和带宽进行分析,UltraDevelop 2通过自有数据库比对过滤掉无效的数据,提高分析效率
UltraDevelop 2的系统级整体开发方法意味着开发人员能够在任何抽象级别上查看和分析软件和硬件之间的交互。据悉,Microsemi不久前推出的PolarFire SoC架构所强调的“广泛的调试能力”正是受益于此,该架构属于其RISC-V Mi-V生态系统。
RISC-V的特殊需求
作为一个快速增长的开源处理器,RISC-V用户的增长迅速。据悉,目前UltraSoC的客户中,已有一半来自RISC-V,包括Andes, Esperanto, Lauterbach, Microchip和SiFive。“Esperanto的高性能计算系统在同一颗芯片上放置了一千个RISC-V处理器和AI/ML加速器,Western Digital则承诺将其存储处理器中的10亿个核心转换为RISC-V架构(SweRV Core处理器),”Baines说道。
和ARM等其他处理器已内置自有的ETM(嵌入式跟踪宏单元)不同,RISC-V没有ETM,所以,该公司在2018年初推出了业界第一款也是唯一一款专为RISC-V设计的商用追踪编码器IP,对指令执行和数据内存访问进行编码,并输出一种高度压缩的追踪格式,外部软件可以随后获取此数据并使用它来重建程序执行流程。其他通用功能则包括数据和指令追踪、一系列计数器和定时器以及快速分析描绘工具。
硬件防护的安全性会更高
从安全的角度讲,分析工具最好是独立于主系统,且是非侵入式的。“硬件防护分析速度更快,而且不会被恶意软件发现,”Baines说,“同时,也要满足结果实时可见并能够运行软件进行调整。UltraDevelop 2集成了诸如异常检测和防止恶意入侵等硬件支持的安全性与安全防护特性。”
这一硬件防护功能是基于UltraSoC的裸金属安全防护(Bare Metal Security,BMS)技术,该技术提供“比操作系统更底层”的、基于硬件的安全防护级别,对于攻击者,BMS极难被发现或被破坏。
除了越来越多的使用高级硬件和软件与物理世界交互使得系统对安保要求越来越高,行业标准的激增也需要对SOC的内部行为进行高粒度的监控,且不仅是开发期间,还要能够在部署后进行分析调试。以汽车网络安全标准SAE J3061为例,该标准要求在从开发到现场使用的整个产品生命周期中监测和控制安全保护功能,包括能够去监测事故和侵入系统的企图并报告此类事件。另外,类似画面冻结误导系统判断的情况也需要能够提出预警或辅助处理系统进行决策。这就要求分析工具可在已部署的产品里发现系统性和随机性错误,实现新级别的安全性和安全防护功能,并支持现场系统健康监测和高级取证。
“UltraDevelop 2的基础架构也包括专门针对提高汽车安全性与安全防护能力而优化的功能,”Baines说,“包括用于检查冗余模块之间一致性的锁步监测器。”虽然大多数处理器都有锁步功能,但在多处理架构系统中,第三方锁步功能会更客观。
据悉,UltraSoC去年11月和一家专精于设计和验证高完整性关键系统技术的公司ResilTech达成一项合作计划,旨在针对ISO26262标准进一步提高汽车系统的功能安全合规性。
图:锁步功能监测可防止处理器出现异步频率的故障
周期精确追踪的重要性
在实时和性能关键型(performance-critical)应用中,周期精确追踪正变得越来越重要,工程师需要将其硬件和软件代码的运行优化到单时钟周期的水平,即被CPU、GPU、DSP或加速器所识别的最小时间单位。
UltraSoC不久前在其UltraDevelop 2 IDE中增加了周期精确的追踪功能——RISC-V Trace Encoder追踪编码器,支持32位和64位RISC-V设计。该技术最初将作为UltraSoC用于RISC-V处理器追踪解决方案的一部分提供。
Baines强调,当前处理器跟踪解决方案只跟踪程序流,如跳转、分支、中断等。但不能直接看到CPU在特定时刻所做的工作,周期精确跟踪解决了这个问题。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
调试
+关注
关注
7文章
578浏览量
33924 -
跟踪
+关注
关注
1文章
38浏览量
14303 -
UltraSoC
+关注
关注
0文章
40浏览量
18002 -
RSIC-V
+关注
关注
4文章
14浏览量
6534
发布评论请先 登录
相关推荐
人民邮电报:“开源”到底是什么?为啥热度越来越高?
本文转载自人民邮电报 这些年,“开源”这个词越来越火,开源AI大模型、开源数据库、开源框架、开源硬件等新词汇层出不穷。那么到底什么是“开源”呢,是“开源节流”中的“开源”吗? 非也,今天
代码整洁之道-大师眼中的整洁代码是什么样
几个月前写了一篇文章“如何写出难以维护的代码”,从中能大概了解到不好维护的代码是什么样,有哪些坏味道,那肯定有人会反问,难以维护的代码见的太多了,也知道长什么样,但是对于好维护的代码是什么样的比较
AWG和BERT常见问题解答
随着信号的速率越来越高,调制格式越来越复杂,对测试仪器的性能要求也越来越高。是德科技也一直在推出业界领先的高带宽、高采样率的AWG和高性能的BERT。
千亿美元打造一个系统,成本越来越高的AI超算
电子发烧友网报道(文/周凯扬)从近年来新发布的超算机器和新的HPC AI性能榜单可以看出,AI算力已经在超算中成了不可忽视的性能指标之一,但也为厂商带来了更大的成本挑战。比如微软近期就爆出和OpenAI合作,打造一个千亿美元级别的超算系统。 千亿美元打造 AI 超算 根据外媒报道,此次打造的千亿美元超算系统名为Stargate,星门。这一超算系统仅仅只是微软和OpenAI一系列数据中心合作项目之一,但造价已经高到离谱了。从规模上看,这个超算
IC datasheet为什么越来越薄了?
刚毕业的时候IC spec动则三四百页甚至一千页,这种设置和使用方法很详尽,但是这几年IC datasheet为什么越来越薄了,还分成了IC功能介绍、code设置、工厂量产等等规格书,很多东西都藏着掖着,想了解个IC什么东西都要发邮件给供应商,大家有知道这事为什么的吗?
发表于 03-06 13:55
为何开关频率要大于30kHz,且有越来越高的趋势?
为何开关频率要大于30kHz,且有越来越高的趋势?开关频率大小的限制因素是什么? 开关频率的大小是指开关电路每秒钟进行开关操作的次数。在电力电子设备中,开关频率主要用于调节电路的响应速度和功率传输
什么样的负载电容可以起振?又需要匹配多大的电容值才能快速响应起振呢?
什么样的负载电容是可以起振?又需要匹配多大的电容值才能快速响应起振呢? 负载电容是指连接在振荡电路输出端的电容元件。振荡电路中的负载电容起着重要的作用,它不仅决定了振荡的频率,还影响了振荡电路
绝对值编码器用于定位,单方向旋转,位置偏差越来越大是什么原因?
绝对值编码器用于定位,单方向旋转,位置偏差越来越大。
编码器用来定位,定位是循环的,不同值对应不同位置例:1-2-3-4-1
不同位置录入不同编码器数值。刚才是运转几圈,位置比较准确,
当单方向运转好多圈之后,位置偏移越来越大,求大家帮忙分析下问题所在!!!!
发表于 01-09 11:50
评论