首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

采用多内核无线虚拟系统原型的系统级调试(2)

采用多内核无线虚拟系统原型的系统级调试(2)

使用独立的ISS模型会给调试带来很大的限制。由于单个模型之间缺少同步机制,在试 图调试故障测试案例时很难理解处理器之间是如何交互信息的。另外,由于内核周边环境中而不是内核本身内的时序问题会导致许多错误发生(如竞态条件和死 锁),因此使用单步执行调试根本无法捕获这些错误。
        从传统角度看唯一的替代方案是针对处理器内核使用周期精确性仿真模型。这 种模型牺牲速度换取精度,由于运行速度太慢,仿真中只能执行关键代码中的一小部分。然而在单内核芯片中,周期精确模型允许详尽的测量,与硬件设计有更多的 交互,可提供精确调试所需的深度可观察性。只有这些模型被链接进一个公共验证环境、而且速度不重要的条件下多内核调试才可能获得相同的好处。
        多内核无线设计师真正需要的解决方案需要具有很高的仿真速度、完全的周期精确以及支持不同处理器之间精确控制和交互调试的集成环境。而能够满足所有这些要求的唯一已知解决方案就是虚拟系统原型技术。
虚拟系统原型
        虚 拟系统原型是一个基于软件仿真、时序精确的电子系统级(ESL)模型,首先使用于架构级,然后在整个设计周期内作为可执行的黄金参考模型。虚拟系统原型可 以包含周期精确、所执行的编译链接目标代码与实际硬件相同的虚拟处理器模型,因此可以准确地预测系统的实际行为。还可以增加总线、外围器件和其它硬件设计 部分的周期精确模型,以便虚拟系统原型能够为多内核无线SoC的完整行为建模。
        虚拟系统原型通过混合和匹配硬件和软件部分实施架构开发。针对实际行为建模的精确测量可以帮助系统架构师在开发过程早期进行精确的软硬件折衷。当建立最初的系统架构模型后,虚拟系统原型就能成为可执行的系统规范来进一步推进具体软硬件实现的并行开发。
        图1 给出了与其它基于软件方法相比之下的虚拟系统原型中处理器模型的性能。由于可以同时提供高速和周期精确性,虚拟系统原型在SoC开发中扮演着非常重要的角 色。而且虚拟系统原型可以运行在标准PC平台之上,因此它们能够很容易地发布给系统架构师、软件工程师和硬件设计师,甚至在地理上分散的团队成员。
        在 本例中,为了实现虚拟系统原型的高效仿真,VaST系统技术公司同时提供了模型和基础架构。VaST仿真内核能够在包括处理器内核、总线和外围器件在内的 各个模块间实现精确的同步式交互,同时还能促进与第三方调试器的透明通信。由于能够执行完整的系统级单步调试,因此能为调试提供时序精确性以匹配实际的配 置。
        多内核调试任何多内核SoC设计都会面临一些常见的调试挑战。由于多处理器和外围器件之间存在复杂交互,因此有许多通信链接需要深层次的观察和调试才能确保生成高质量的软件。
        对 于非常依赖于通过存储器进行同步的设计来说,常见的缺陷包括不正确的存储器访问仲裁和不希望的数据差错。一些其它系统通过专用主机端口进行直接通信,这是 管理通信的一种方便有效的方式。采用这种方法的系统常会发生同步问题,如果没有仔细进行设计和验证,可能会造成系统中断甚至死锁,这对调试来说是也是一个 艰巨的挑战。
        目前的关键是要能精确地评估各项系统性能、调试所有缺陷以便通过修改架构或实现纠正这些缺陷。典型问题与总线宽度以及由于大业务量引起的时延有关,这二方面问题都是语音分析和综合类的实时应用所特有的,因为实时应用需要获得性能的保证。
  通 过提供综合的验证环境以及能够快速执行实际代码的一致性处理器模型,虚拟系统原型能使所有这些问题的调试变得更加容易。与其它基于软件的方法相比,虚拟系 统原型能够更加容易地设置复杂的测试方案,而且由于能够链接到第三方调试器,在单步执行中能够更加容易地全面观察设计内部细节。利用虚拟系统原型调试这些 问题的最关键点如图2所示。
结论
        设计、验证和调试一个复杂的多内核无线SoC不 是一件简单的事情。调试器只能提供较差的硬件内部可见性,再加上成本和进度的压力都要求使用基于软件的方法。不幸的是,传统的软件技术存在速度和精度问 题,极大地限制了其测试和调试与处理器间同步、共享资源竞争以及性能有关的常见问题的能力。
        利用虚拟系统原型能够尽早实施软 件开发和调试,并具有更好的可观察性能。从上述带2个ARM CPU内核和1个StarCore处理器内核的设计实例可以看出,控制、测量和调试复杂多内核交互操作的能力是项目成功的关键。实现这种解决方案的回报是 巨大的:高效的架构开发,并行的软硬件开发,产品化芯片首次流片成功带来的巨大商业机会等等。
未来SoC测试面临的挑战
        SOC 内部晶体管集成度的增长远远高于芯片引脚的增长,有限的管脚资源使得外部数据带宽和内部数据带宽之间的差异越来越大。这种差异不仅降低了内部模块的可测 性,还加大了间接复用方案中测试生成的难度。同时,具有一定故障覆盖率的测试数据会随着电路集成度和规模的增加而增加,大量的测试数据会对直接复用方案中 的测试访问的频率和带宽提出要求。
        SOC嵌入了类型丰富的IP模块,一些公司已将模拟电路、数字电路、嵌入式DRAM等不同 形式的模块集成到芯片中。随着技术的发展,将有更多的电路类型被集成到SOC中,如嵌入式的FPGA、Flash、射频发生器等。混合信号测试在SOC测 试中占有重要地位,现有的复用方案还未解决该问题。
        迄今为止,还没有一个贯穿IP模块和SOC设计始终的完整的SOC测试解 决方案,因为这不仅需要尽快订立相关的国际标准,还需要进行一些关于复用方法上的研究,例如,如何在进行IP模块的测试开发中引入可复用的因素,使得模块 级的测试信息对被集成环境具有更好的适应性,能被更高层电路模块的测试开发高效率地复用;研究基于复用的测试集成和优化技术,利用已有模块测试信息,集成 出更高层模块的测试并保证其可复用性等。
继承事业,薪火相传
返回列表