ARM 《IQ》中文杂志 2009 Spring -5-ARM快速模型用于嵌入式软件开发的虚拟平台

更新时间:2023-08-20 22:30:01 阅读量: 高等教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

5-ARM快速模型用于嵌入式软件开发的虚拟平台

ARM快速模型

用于嵌入式软件开发的虚拟平台

作 者Nizar RomdanARM系统设计部摘 要:

随着越来越多的处理器集成到现代SoC中,加上软件内容大幅度增加(在很多情况下,占据了芯片功能的50%甚至更多),为确保满足日益缩短的上市时间期限,赶在尚未获得任何硬件原型之前就提前开始软件的开发变得至关重要。

本文介绍了适用于早期软件开

当今使用多个处理器的SoC已很常

速度仍然相对较慢,而时序逼近已不足以让人对硬件时序行为有一个准确的概念,也不允许大量的软件以足够快的速度来执行。并且更糟的是,业界无法对时序逼近给出一个统一的定义,导致关于时序逼近有许多种不同的解释。

考虑到程序员需要有关目标硬件功

见,有些SoC使用的处理器多达几十个,奇怪的是,这些复杂的SoC交付上市的时间却缩短了。以前一般期限为两年,在需要竭力捕捉商机并赢得重要市场份额的今天,这么长的时间是完全不可接受的。

传统的设计流程由两个步骤组成,

即先由硬件工程师开发SoC,然后软件团队才开始工作,只有在首个硬件原型到手后,软件工程师才能开始工作。随着交付期限的缩短,如今已不可能采用这种工作模式,目前有一种趋势正日益普及,那就是在还没获得硬件之前就开始着手软件开发,这就要求软件工程师们充分发挥自己的创造力,努力找到模拟硬件的方法。

解决问题的方法现已找到,即虚拟原

能和目标硬件的程序员模型的信息,则松散时序虚拟原型由于可提供功能精度和高仿真速度而成为早期软件开发的理想之选。ARM快速模型

ARM快速模型是一个丰富的产品组合,其中包括高速、可靠的程序员ARM CPU视图模型、ARM fabric IP和外围设备。它由一个工具套件提供支持,该工具套件分为两部分:设计画布与模型生成器以及调试器。设计画布与模型生成器被称为“系统生成器”,可支持使用这些模型构建基于ARM技术的子系统;调试器被成为“模型调试器”,可对这些子系统进行调试。

发的ARM快速模型,利用这一模型,不仅能够以近乎实时的速度执行软件,还能在功能上保持完整的精度。文章重点阐述了相比第三方供应商的同类产品,该模型所具备的关键不同元素。

此外,本文还对系统生成器工

型技术,有了这项技术,工程师们便能够在获得硬件之前就开始软件开发,通过这种方法,硬件团队可以极为迅速地提供SoC功能的虚拟表示,使软件开发人员能够开始编写软件。

第一个典型虚拟表示是提供一个具

具(System Generator tool)进行了介绍,该工具是ARM®快速模型的一部分,有了这一工具,开发人员不仅可以构建虚拟平台,并以100到500 MIPs的速度执行软件,还能将基于ARM技术的子系统导出到第三方SystemC仿真环境中。

有完整功能并且时序正确的硬件模型。但是,这种模型的仿真速度很慢,并且无法随着软件复杂度的提高而扩展;开发一小段启动代码可能行得通,但是在一个复杂操作系统上开发大型应用软件层是绝对不现实的。再者,在很短的时间期限内,在尚未获得RTL之前利用合理的资源开发精确的时序模型确实不具备可行性。

另一种做法是,在尝试提高仿真速度

这些模型的功能行为与从软件

中观察到的功能行为相符,包括基于TrustZone®硬件的安全技术和Jazelle

®

Java加速技术。为实现较快的仿真速

度,牺牲了时序精确性,所有存储器访问时序均被假定为零等待状态,所有指令都在一个组件主时钟输入周期内集中执行,并且在每个指令边界都不取中断。指令序列按批执行,若设备恰好处于在各次访问之间运行的间歇时间,这可能会使某个CPU的事务看起来像是在背靠背访问设备寄存器。虽然紧密耦合存储器

时只要求提供一个大致的时序精度,但是这样做结果也没有太大差别。这些模型的

Number 10, Spring 2009

5-ARM快速模型用于嵌入式软件开发的虚拟平台

表1 ARM快速模型库

ARM快速模型的竞争优势

与其他第三方产品相比,ARM快速模型拥有四个独一无二的关键功能,这不仅让这些模型独具特色,而且使成为在获得硬件之前提前对基于ARM技术的嵌入

图2 单个软件构建链

5-ARM快速模型用于嵌入式软件开发的虚拟平台

便会不时发现功能问题,而且,他们还必须分别为虚拟原型和硬件原型维护不同的构建链。

运行,也可通过一个合适的调试器来运行,系统生成器自动为独立平台和集成平台生成所需接口。

然后将新模型作为输入应用到更为复杂系统中,或将其作为单独仿真环境来分发。符合OSCI TLM 2.0规范的系统生成器导

出功能

要创建一个完整的SoC虚拟平台,用户通常需要集成其IP模型或第三方IP模型,并将模型与基于ARM技术的子系统关联起来。用户经常会面临的一个重要问题是适应不同的模型接口,在很多情况下,这个封装活动会占据构建虚拟平台的大部分工作,导致平台可供投入使用的时间严重推迟,并使得采用早期软件开发方法所获得的成果失效。

OSCI TLM 2.0标准是解决这一问题

表2 ARM快速模型性能测量

ARM CPU快速模型中使用的“代码 有了系统生成器,用户可以使用组

的良方,因为它提供了一个互操作层,允许以插件和“游戏”的方式来连接模型。ARM一直非常积极地参与OSCI TLM 2.0标准的建立,不仅为OSCI TLM 2.0定义的通用有效负载提供官方AMBA程序员视图扩展,而且推出了业界首个支持新标准的模型库(如图5所示)。

通过系统生成器,用户可将基于

转换”技术提供了一个创新方法,即在仿真期间动态转换ARM指令,既确保功能准确性,又能规避与交叉编译方法相关的风险。这些指令被转换为本地主机的对等指令并进行高速缓存,以便加快后续仿

件、组件端口、外部端口的图形化表示来组装系统,也有可能系统本身就是位于各端口相互连接的大型系统中的一个组件。系统生成器有一个框图编辑器,用于创建系统的图形化表示,它还提供了一些类似

ARM快速模型的子系统导出到符合OSCI TLM 2.0标准的接口上,以方便子系统与符合该标准的第三方模型集成,及子系统与第三方SystemC环境直接集成。导出功能通过针对OSCI TLM 2.0 AMBA的程序员视图扩展来实现,该功能可轻松适应

图3 系统生成器画布

用户自己的接口或扩展。结论

如今,大型SoC项目要取得成功,必须采用早期软件开发方法,因为在这类项目中,软件内容是非常关键的部分。

ARM快速模型是建立高效虚拟原型

真运行速度。与其他方法相比,这种方法的速度相当惊人,采用ARM快速模型构建、基于AMR技术的典型子系统每秒运行的指令数在1亿到5亿条之间,具体数字因执行软件的不同而异。构建虚拟平台:系统生成器画布

于面向向量绘图工具的功能,如流程图绘制程序。系统生成器的图形性质使其可以快速创建并配置组件或由多个组件组成的系统,新组件可以添加到单个项目中,也可以添加到一个组件库中供多个项目使用,组件由LISA+代码定义,并可使用系统生成器中的文本编辑器来编写。

制作流程的解决方案,由于它具有无与伦

Information Quarterly

Number 10, Spring 2009

5-ARM快速模型用于嵌入式软件开发的虚拟平台

比的关键竞争优势和丰富的工具集,让虚拟平台的创建、集成和部署变得简单而直接,这一解决方案也因而成为开

发获得成功的法宝。

图4 独立生成模型

图5 ARM快速模型SystemC导出

本文来源:https://www.bwwdw.com/article/z2uj.html

Top