基于虚拟原型技术的arm9soc平台设计和性能测试分析

基于虚拟原型技术的arm9soc平台设计和性能测试分析

ID:24766340

大小:51.00 KB

页数:6页

时间:2018-11-10

基于虚拟原型技术的arm9soc平台设计和性能测试分析_第1页
基于虚拟原型技术的arm9soc平台设计和性能测试分析_第2页
基于虚拟原型技术的arm9soc平台设计和性能测试分析_第3页
基于虚拟原型技术的arm9soc平台设计和性能测试分析_第4页
基于虚拟原型技术的arm9soc平台设计和性能测试分析_第5页
资源描述:

《基于虚拟原型技术的arm9soc平台设计和性能测试分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于虚拟原型技术的ARM9SoC平台设计和性能测试分析

2、第1摘要:本文介绍了虚拟原型技术在当前SoC设计中的作用,ARM的虚拟原型工具Maxsim的使用和建模方法,以及如何使用Maxsim建立一个基本的ARM9嵌入式系统。文章最后给出了运行在模型上的testbench的编写、性能测试和分析。关键词:虚拟原型;SoC;Maxsim;ARM;SystemC引言随着SoC芯片复杂度的不断增加,在SoC设计的早期阶段,具有能够对系统建模、软硬件划分等进行设计验证的工具已成为业界的需求之一。为此,虚拟原型技术应运而生。它其实就是一个虚拟的硬件原型,用于在构建硬件系统之前虚拟其软

3、件模型,在其上开发和运行应用软件,分析性能,并进行软硬件的划分权衡。ARM提供了虚拟原型工具Maxsim,利用它可以设计虚拟硬件平台,仿真硬件系统,并进行性能开销折衷方面的分析。本文使用Maxsim设计出一个简单的ARM9平台,在其上运行了进行大量内存、寄存器访问和中断控制的测试程序,并分析了性能。虚拟原型的设计流程传统的嵌入式系统开发流程具有系统架构难以更改,软硬件难以协同设计,软件滞后于硬件开发等缺点,不适合当今SoC系统的开发。基于虚拟原型的系统开发流程如图1所示,它在系统架构设计阶段就利用虚拟原型开发工具进行仿真分析,找到合适的系统架构,并构造出一个参考的虚拟

4、原型供软、硬件开发使用。从而在真正的硬件构建出来之前,就能在此虚拟原型的基础上进行软件开发。这样加快了开发速度,避免了系统架构和应用软件不匹配的问题,更加适合复杂SoC系统的开发。500)this.style.ouseg(this)">图1基于虚拟原型的系统开发流程500)this.style.ouseg(this)">图2系统仿真流程500)this.style.ouseg(this)">图3仿真系统结构虚拟原型工具Maxsim的结构和特性当前国际上出现的虚拟原型工具包括ARM提供的Maxsim和Co提供了对ARM系列微处理器核的最好支持,而ConvergenSC则

5、提供了更加通用的SystemC模型,适合一般的非ARM嵌入式产品开发。Maxsim基于SystemC语言,提供了周期精确级和事件驱动事务级的两种仿真方法。Maxsim工具包括MaxSimDesigner、MaxLib元件库和MaxsimExplorer三部分:MaxSimDesigner用于创建元件模板和组建系统,可以将创建好的元件加入到MaxLib库中;MaxsimExplorer则对组建好的系统进行仿真分析。MaxSimDesigner的主要作用是探索系统的最佳架构,包括CPU内核、存储器、cache、总线结构、DMA等的最佳配置和组合;还可以通过向导生成一个元件

6、框架,再往其中添加代码描述行为,生成一个自定义的部件。  MaxSimExplorer可以对生成的系统进行仿真,仿真流程如图2所示。工具在创建阶段调用各对象的构造函数,初始化各数据结构;在配置阶段配置各对象运行时的参数;在初始化阶段根据配置阶段配置的参数为一些动态数据结构分配内存;在互联阶段建立对象间的连接,一旦开始运行仿真,这些连接就不能改变;在复位阶段将各对象复位为确知的状态,避免由于启动时状态不确定带来的错误;在通信阶段执行对象间的通信,但不更新对象内部状态和共享资源的值;在更新阶段更新各对象的内部状态和共享资源的值,但不进行对象间的通信;在结束和析构阶段执行仿

7、真结束和释放内存等操作。通信和更新阶段交替运行,仿真得以一拍一拍地运行,直到达到指定的仿真结束条件。将编译产生的动态链接库加入到MaxLib库中,就可以在以后的系统搭建中重复利用。用MaxSim创建ARM9的虚拟原型创建系统仿真模型为了测试一个ARM9通用系统的I/O性能,本文创建了一个仿真模型,结构如图3所示。图中clk(时钟)、irq(中断信号)、ahb(AHB总线)、mem(内存总线)、apb(APB总线)等均为信号名称,有的是逻辑信号,有的是抽象信号接口。该模型通过MaxsimDesigner创建,其中中断控制器为自定义的模块,其它都是MaxLib库中的现有模

8、块。添加好各个模块后,将各模块的抽象端口连接起来,启动MaxSimExplorer来对该系统模型进行仿真,加载应用程序testbench.axf,分析系统性能。创建中断控制模块为了分析系统的中断性能,本文创建了一个中断控制器。该元件是个Cycle-basedSystemC模块,具有四个端口:apb端口(transactionslave)是对ARMAPB总线访问的抽象接口,isrc端口(signalslave)是中断源发出的中断信号接口,clk是时钟端口,irq端口(signalmaster)是向CPU发出中断请求的信号接口,这些端口和其它元件的连接如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。