您的位置 首页 新品

一种选用虚拟体系原型完成体系级的多内核体系调试办法

在内核芯片制造前传统的验证与调试方法依赖于指令集仿真器(ISS)模型。不幸的是,ISS模型速度太慢,并且时序精度无法达到与系统硬件部分的RTL模型交互所需的要求。本文将提供一种采用虚拟系统原型实现系统

在内核芯片制作前传统的验证与调试办法依赖于指令集仿真器(ISS)模型。不幸的是,ISS模型速度太慢,并且时序精度无法到达与体系硬件部分的RTL模型交互所需的要求。本文将供给一种选用虚拟体系原型完结体系级的多内核体系调试办法,该办法答应在PC机上实时履行一个完好体系的周期准确仿真,并且履行速度比根据ISS的仿真要快得多。

开发一个杂乱的多内核无线体系无疑是个艰巨的应战,特别是当内核包含有高功能处理器和先进的数字信号处理器(DSP) 时更是如此。等候硬件原型完结是不能令人承受的:要害的软硬件折衷应该在芯片制作之前尽早地完结。在内核芯片制作前传统的验证与调试办法依赖于指令集仿真 器(ISS)模型。不幸的是,ISS模型速度太慢,并且时序精度无法到达与体系硬件部分的RTL模型交互所需的要求。

在多内核环境中问题愈加严峻,由于单个独立的模仿器东西在调试方式下一般都短少同步机制。成果是有些软件开发和软硬件集成作业有必要比及无线硬件原型完结后才干开端。在贵重、数量又少的硬件原型根底上进行开发和调试常常导致项目进展的推迟,并会添加芯片返工的危险。

图1:不同模型的速度和精度。

本 文将供给一种选用虚拟体系原型完结体系级的多内核体系调试办法,该办法答应在PC机上实时履行一个完好体系的周期准确仿真,并且履行速度比根据ISS的仿 真要快得多。该办法支撑完好的体系级单步调试操作,其调试方式下的时序精度水平彻底能够匹配实践设备方针。别的,由于虚拟体系原型能让开发人员在多体系环 境下快速准确地调试,因而给开发作业带来了极大的便当。下文评论的包含二个ARM处理器和一个StarCore DSP的多内核无线体系实例证明了该办法的有用性。

无线SoC实例

合适无线运用的一个实践多内核芯片全体架构选用了通用CPU和专用DSP内核来到达并行和专用处理的意图。别的该芯片还包含了用于片外通讯的多层存储器体系和多个外围器材。

这 个特别芯片包含2个ARM926E CPU内核,每个内核具有独立的指令和数据缓存。其间一个ARM处理器运转Linux操作体系,并供给虚拟机、图形化环境和音讯等多个一般服务。别的一个 ARM926E与DSP内核联络严密,首要用于处理整个体系的通讯和操控,需求时也能用于履行特别使命和运用进程。具有2个CPU能够彻底实时地处理各种 事务,然后满意无线设备的各项要害要求。

作为2个ARM内核的重要弥补,StarCore SC1200处理器能够加快多媒体数据处理,履行无线调制解调器的处理使命以及其它DSP使命。这块内核内置有2个独立的履行单元,每个单元都能够履行乘 法累加(MAC)以及其它信号处理算法中常用的算术操作。DSP规划用于供给大部分的语音数据处理以及MP3、MPEG-4和H.264等多媒体数据解码 服务。

作为无线芯片中的典型部件,层次化总线网络能够供给专用的数据通道,削减事务流量,并供给通讯所需的公共存储模块访 问。在顶层,六条体系总线经过各自专用的存储器子体系和外围器材与处理器树立互连。一切这些总线都运用AHB协议,该协议是ARM公司界说的用于ARM处 理器内核的先进高速总线。

专用AHB总线答应悉数三个处理器一起对存储器进行数据和指令存取,因而能够消除多内核设备常见的瓶颈问题。AHB体系级总线到更低层的总线经过桥进行链接。三条专用存储器总线供给对存储器模块的拜访,二条低速外围器材总线连接片外通讯用的定时器、中止操控器和串行接口。

当然,处理器之间也有必要交流数据或操控信息。一切这类通讯都是经过体系内任何地方都能拜访的同享存储器完结的。运用旗语(semaphore)和邮箱(mailbox)等现成技能即可供给处理器和外围器材之间信息的安全传送。

传统的软件建模

在SoC 出产出来今后才进行验证必然会使终究产品存在很多缺点。即便规划中嵌入了专门用于调试的拜访途径,可调查性也适当有限。而在实践运用中,为了满意急迫的产 品上市时刻要求,有用的调试功用往往会被删除去。因而和谐与同步内含多处理器的硬件验证测验十分困难,为了调试毛病测验在处理器之间设置穿插触发也有必定 的难度。

曾经芯片架构师和规划师在芯片制作之前是运用根据软件的模型进行完好的芯片验证和调试的。最常见的办法是运用为每个处理器规划的指令集仿真器模型。这些模型履行的二进制代码与芯片中的实践处理器代码彻底相同,因而这些模型能够用来在SoC制作之前开发和调试软件。

图2:无线SoC规划的调试要害。

然 而,典型的ISS模型在仿真运转大型软件(比方实时操作体系(RTOS))时速度太慢。那些具有较高功能的ISS模型在献身精度的条件下才干到达较快的速 度。ISS模型的首要特点仅在于准确的指令,也便是说它们能够照实地产生与制作芯片中处理器相同的成果运转代码。但是,处理器接口的逐一周期行为或许无法 匹配实践处理器内核的行为。

在开发多内核无线设备时ISS模型的缺点是一个大问题。由于对缓存和存储器的拜访不具有周期准确 性,因而无法准确丈量存储器功能,也无法进行详细的架构折衷。此外,针对SoC的剩下部分将ISS和硬件规划连接起来需求周期准确性,单凭指令准确性将极 大地约束能够履行的软硬件协同仿真的数量。并且不准确的时序将意味着处理器内核之间的交互操作有或许不匹配实践运转状况,然后导致芯片和硬件原型制作出来 今后还要做进一步的软件开发和重复调试。

运用独立的ISS模型会给调试带来很大的约束。由于单个模型之间短少同步机制,在试 图调试毛病测验事例时很难了解处理器之间是怎么交互信息的。别的,由于内核周边环境中而不是内核自身内的时序问题会导致许多过错产生(如竞态条件和死 锁),因而运用单步履行调试底子无法捕获这些过错。

从传统视点看仅有的代替计划是针对处理器内核运用周期准确性仿真模型。这 种模型献身速度交换精度,由于运转速度太慢,仿真中只能履行要害代码中的一小部分。但是在单内核芯片中,周期准确模型答应翔实的丈量,与硬件规划有更多的 交互,可供给准确调试所需的深度可调查性。只要这些模型被链接进一个公共验证环境、并且速度不重要的条件下多内核调试才或许取得相同的优点。

多内核无线规划师真实需求的处理计划需求具有很高的仿真速度、彻底的周期准确以及支撑不同处理器之间准确操控和交互调试的集成环境。而能够满意一切这些要求的仅有已知处理计划便是虚拟体系原型技能。

虚拟体系原型

虚 拟体系原型是一个根据软件仿真、时序准确的电子体系级(ESL)模型,首要运用于架构级,然后在整个规划周期内作为可履行的黄金参阅模型。虚拟体系原型可 以包含周期准确、所履行的编译链接方针代码与实践硬件相同的虚拟处理器模型,因而能够准确地猜测体系的实践行为。还能够添加总线、外围器材和其它硬件规划 部分的周期准确模型,以便虚拟体系原型能够为多内核无线SoC的完好行为建模。

虚拟体系原型经过混合和匹配硬件和软件部分施行架构开发。针对实践行为建模的准确丈量能够协助体系架构师在开发进程前期进行准确的软硬件折衷。当树立开始的体系架构模型后,虚拟体系原型就能成为可履行的体系规范来进一步推动详细软硬件完结的并行开发。

图1 给出了与其它根据软件办法比较之下的虚拟体系原型中处理器模型的功能。由于能够一起供给高速和周期准确性,虚拟体系原型在SoC开发中扮演着十分重要的角 色。并且虚拟体系原型能够运转在规范PC渠道之上,因而它们能够很简略地发布给体系架构师、软件工程师和硬件规划师,乃至在地理上涣散的团队成员。

在 本例中,为了完结虚拟体系原型的高效仿真,VaST体系技能公司一起供给了模型和根底架构。VaST仿真内核能够在包含处理器内核、总线和外围器材在内的 各个模块间完结准确的同步式交互,一起还能促进与第三方调试器的通明通讯。由于能够履行完好的体系级单步调试,因而能为调试供给时序准确性以匹配实践的配 置。

多内核调试任何多内核SoC规划都会面对一些常见的调试应战。由于多处理器和外围器材之间存在杂乱交互,因而有许多通讯链接需求深层次的调查和调试才干确保生成高质量的软件。

对 于十分依赖于经过存储器进行同步的规划来说,常见的缺点包含不正确的存储器拜访裁定和不期望的数据过失。一些其它体系经过专用主机端口进行直接通讯,这是 办理通讯的一种便利有用的办法。选用这种办法的体系常会产生同步问题,假如没有细心进行规划和验证,或许会形成体系中止乃至死锁,这对调试来说是也是一个 艰巨的应战。

现在的要害是要能准确地评价各项体系功能、调试一切缺点以便经过修正架构或完结纠正这些缺点。典型问题与总线宽度以及由于大事务量引起的时延有关,这二方面问题都是语音分析和归纳类的实时运用所特有的,由于实时运用需求取得功能的确保。

总归,在无线SoC验证期间有必要调试和处理的典型问题有:

* 同享存储器运用

。数据紊乱

。竟态条件

* 直接通讯链路

。死锁

。中止

。缺输入

* 处理器功能

。缓存

。管线中止

。缺输入

* 体系总线功能

。拥塞

* 外围器材功能

。时延

通 过供给归纳的验证环境以及能够快速履行实践代码的一致性处理器模型,虚拟体系原型能使一切这些问题的调试变得愈加简略。与其它根据软件的办法比较,虚拟系 统原型能够愈加简略地设置杂乱的测验计划,并且由于能够链接到第三方调试器,在单步履行中能够愈加简略地全面调查规划内部细节。运用虚拟体系原型调试这些 问题的最要害点如图2所示。

定论

规划、验证和调试一个杂乱的多内核无线SoC不 是一件简略的工作。调试器只能供给较差的硬件内部可见性,再加上本钱和进展的压力都要求运用根据软件的办法。不幸的是,传统的软件技能存在速度和精度问 题,极大地约束了其测验和调试与处理器间同步、同享资源竞赛以及功能有关的常见问题的才能。

运用虚拟体系原型能够尽早施行软 件开发和调试,并具有更好的可调查功能。从上述带2个ARM CPU内核和1个StarCore处理器内核的规划实例能够看出,操控、丈量和调试杂乱多内核交互操作的才能是项目成功的要害。完结这种处理计划的报答是 巨大的:高效的架构开发,并行的软硬件开发,产品化芯片初次流片成功带来的巨大商业机会等等。

未来SoC测验面对的应战

SOC 内部晶体管集成度的添加远远高于芯片引脚的添加,有限的管脚资源使得外部数据带宽和内部数据带宽之间的差异越来越大。这种差异不只降低了内部模块的可测 性,还加大了直接复用计划中测验生成的难度。一起,具有必定毛病覆盖率的测验数据会跟着电路集成度和规划的添加而添加,很多的测验数据会对直接复用计划中 的测验拜访的频率和带宽提出要求。

SOC嵌入了类型丰厚的IP模块,一些公司已将模仿电路、数字电路、嵌入式DRAM等不同 方式的模块集成到芯片中。跟着技能的开展,将有更多的电路类型被集成到SOC中,如嵌入式的FPGA、Flash、射频产生器等。混合信号测验在SOC测 试中占有重要位置,现有的复用计划还未处理该问题。

迄今为止,还没有一个贯穿IP模块和SOC规划一直的完好的SOC测验解 决计划,由于这不只需求赶快缔结相关的国际规范,还需求进行一些关于复用办法上的研讨,例如,怎么在进行IP模块的测验开发中引进可复用的要素,使得模块 级的测验信息对被集成环境具有更好的适应性,能被更高层电路模块的测验开发高效率地复用;研讨根据复用的测验集成和优化技能,运用已有模块测验信息,集成 出更高层模块的测验并确保其可复用性等。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/195160.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部