CN101034351A - 一种基于构件的模拟器自动生成方法 - Google Patents

一种基于构件的模拟器自动生成方法 Download PDF

Info

Publication number
CN101034351A
CN101034351A CN 200710066605 CN200710066605A CN101034351A CN 101034351 A CN101034351 A CN 101034351A CN 200710066605 CN200710066605 CN 200710066605 CN 200710066605 A CN200710066605 A CN 200710066605A CN 101034351 A CN101034351 A CN 101034351A
Authority
CN
China
Prior art keywords
model
debugging
configuration file
loading
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN 200710066605
Other languages
English (en)
Inventor
赵民德
吕攀
李红
杨国青
姜旭锋
刘凯
吴朝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 200710066605 priority Critical patent/CN101034351A/zh
Publication of CN101034351A publication Critical patent/CN101034351A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种嵌入式系统开发工具,旨在提供一种基于构件的模拟器自动生成方法。该方法包括以下步骤:(1)启动调试服务器:用于调用配置文件的加载器;(2)加载配置文件:由配置文件的加载器完成;通过该配置文件,加载器动态生成一个嵌入式模拟系统;(3)启动调试服务和调试代理:完成加载配置文件后,调试服务器启动调试服务和调试代理,接收外部系统的调试请求,运行完成模拟器的自动生成。本发明的有益效果是:根据一个描述文件来生成仿真器部件不易出错;修改方便,对指令集的修改只需修改描述文件即可;采用此种方法可以大大减少仿真器的开发时间。

Description

一种基于构件的模拟器自动生成方法
技术领域
本发明涉及一种嵌入式系统开发工具,更具体的说,是涉及一种基于构件的模拟器自动生成方法。
背景技术
在嵌入式系统的设计中,采用软/硬件协同设计的方法能有效的提高系统的开发效率,缩短产品的开发周期。在通常的嵌入式系统中,处理器是整个系统的核心。同时,嵌入式系统还包括存储设备、其他I/O和通讯设备接口等。对于嵌入式系统软件的开发更具有意义的是对于整个系统的建模,在硬件和软件上统一系统仿真平台,开发一个用于处理器协同模拟,协同验证的系统模拟器。
完全手工开发一个仿真器,不但是一项非常繁重的工作,而且易于出错。一般来说,开发仿真器不仅需要花费数月的时间,还需要花费大量的时间来进行仿真器正确性的验证。即便如此,在使用该仿真器的时候,也不能认定其已经是正确的,显然,我们需要一个工具,可以根据用户的需求自动生成仿真器。这样,不但可以大大减少开发的工作量,并且易于修改排错。目前这方面的大部分工具都是针对硬件设计的正确性验证,在逻辑层进行仿真。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供了一种基于构件的模拟器自动生成方法。
为了解决上述技术问题,本发明是通过以下技术方案实现的。
一种基于构件的模拟器自动生成方法,包括以下步骤:
(1)启动调试服务器:
调试服务器在启动时只有一个主线程,用于调用配置文件的加载器;
(2)加载配置文件:
配置文件是具有特定格式的XML文件,加载配置文件是由配置文件的加载器完成;通过该配置文件,加载器动态生成一个嵌入式模拟系统;
(3)启动调试服务和调试代理:
完成加载配置文件后,调试服务器需要启动调试服务和调试代理,调试服务和调试代理都具有各自的线程,在调试服务和调试代理都启动以后,调试服务器就可以接收外部系统的调试请求,运行完成模拟器的自动生成。
作为一种改进,所述的调试服务器是嵌入式系统的一个容器,包括三种构件:嵌入式系统,程序加载器和调试服务;程序加载器用于加载用户程序到模拟系统的存储器;同时,调试服务器提供对外的调试服务,异步的和模拟系统的调试接口进行通信,完成调试功能,最后通过调试代理完成对于不同调试工具的适配。
作为一种改进,加载配置文件需要完成如下工作:对处理器模型、CPU模型、存储器模型、外围设备模型及总线模型的加载,配置系统的连接,对程序加载器、调试服务及调试代理的加载;
所述的处理器模型是整个模拟系统的核心部分,负责对处理器内部具有独立运算能力的不同运算单元的管理,采用二级模型来表示真实的处理器系统;
所述的CPU模型是对具有独立运算能力的运算单元的描述,是整个处理器模型的核心;
所述的存储器模型是模拟系统的重要组成部分,存储器模型采用两级结构设计,对外表现为统一的32位寻址,外部的执行实体发起存取数据的请求,存储器将地址进行翻译,完成逻辑地址到物理地址的转换,同时,对于物理地址经过访问控制模型的过滤,最后存取数据的请求发送到存储区域模型;
所述的外围设备模型分为片内设备模型和片外设备模型,片内设备模型与系统有较高的耦合度,片外设备模型采用软总线互连;
所述的总线模型是整个系统互连模型的核心,它是一个软总线的模型,对执行实体间的数据交换通路进行建模;
作为一种改进,还实现了系统互连模型和调试模型;
所述的系统互连模型是从处理器模拟到系统模拟的重要环节,系统互连模型定义了各个不同的执行实体如何互连形成一个完整的系统;
所述的调试模型是贯穿整个模拟系统的模型,整个模拟系统在调试模型中被看作是一个调试服务器,调试模型实现了模拟引擎的概念;
作为一种改进,所述的存储区域模型是对不同存储介质的建模。
作为一种改进,所述的系统互连模型包括两个部分,一个是同步互连模型,一个是异步互连模型。
与现有技术相比,本发明的有益效果是:
首先,根据一个描述文件来生成仿真器部件不易出错;其次,修改方便,对指令集的修改只需修改描述文件即可;第三,采用此种方法可以大大减少仿真器的开发时间。
附图说明
图1是模拟系统的总体框架图。
图2是系统互连模型图。
图3是同步互连总线图。
图4是异步互连总线图。
图中,1处理器模块、2存储器模块、3外围设备模块、4程序加载器、5调试服务、6调试代理、7调试服务器、21执行实体、22互连总线。
具体实施方式
结合附图,下面对本发明进行详细说明。
一种基于构件的模拟器自动生成方法,包括以下步骤:
1、设计模拟器,包括以下步骤:
继承SourceInstruction类实现处理器的指令对象;实现指令加载器IInstructionLoader接口,该类定义处理器的取指逻辑;实现处理器IProcessor接口,该类定义处理器的特殊功能;实现IAddressGenerator接口,该接口需要实现地址产生逻辑;实现IAccessManager接口,完成寻址逻辑;实现IInstructionTranslator接口,完成源指令到虚拟指令的转换;继承或实现RegisterFile,实现处理器的寄存器模型;实现IDevice接口,实现处理器的片上外设。以上英文名称为具体实现的JAVA程序语言的类名或是接口名。
2、模拟器的运行步骤:
(1)启动调试服务器:
调试服务器在刚启动时只有一个主线程,主线程的唯一任务就是调用配置文件的加载器。
(2)加载配置文件:
加载配置文件是由配置文件的加载器完成的。配置文件是一个具有特定格式的XML文件。通过该配置文件,加载器动态生成一个嵌入式系统。加载配置文件需要完成如下工作:
加载处理器模型:处理器模型是整个模拟系统的核心部分,负责对处理器内部具有独立运算能力的不同运算单元的管理,采用二级模型来表示真实的处理器系统;
加载CPU模型:CPU模型是对具有独立运算能力的运算单元的描述,是整个处理器模型的核心;
加载存储器模型:存储器模型是模拟系统的重要组成部分,存储器模型采用两级结构设计,对外表现为统一的32位寻址,外部的执行实体发起存取数据的请求,存储器将地址进行翻译,完成逻辑地址到物理地址的转换,同时,对于物理地址经过访问控制模型的过滤,最后存取数据的请求发送到存储区域模型;
加载外围设备模型:外围设备模型分为片内设备模型和片外设备模型,片内设备模型与系统有较高的耦合度,片外设备模型采用软总线互连;
加载总线模型:总线模型是整个系统互连模型的核心,它是一个软总线的模型,对执行实体间的数据交换通路进行建模;
配置系统的连接:将上述各个模型连接配置成一个完整的嵌入式系统;
加载系统的程序加载器:程序加载器是模拟系统一个重要的组成部分,用于加载用户程序到模拟系统的存储器;
加载调试服务:调试服务是独立于处理器线程的一个提供调试服务的线程,调试服务异步的和模拟系统的调试接口进行通信,完成调试功能;
加载调试代理:调试代理整个系统和外部系统连接的一个接口,管理两种不同的调试方式,一种是本地调式,一种是分布式的调试。
(3)启动调试服务和调试代理:
在完成加载系统模型以后,调试服务器需要启动调试服务和调试代理,调试服务和调试代理都具有各自的线程。在服务和代理都启动以后,调试服务器就可以接收外部系统的调试请求了。嵌入式模拟系统是整个调试服务器的基础,负责执行应用程序。调试服务器负责和嵌入式系统通信,控制系统的运行,获取系统的运行状态。
最后,还需要注意的是,以上列举的仅是本发明的一个具体实施例。显然,本发明不限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

Claims (6)

1、一种基于构件的模拟器自动生成方法,其特征在于,包括以下步骤:
(1)启动调试服务器:
调试服务器在启动时只有一个主线程,用于调用配置文件的加载器;
(2)加载配置文件:
配置文件是具有特定格式的XML文件,加载配置文件是由配置文件的加载器完成;通过该配置文件,加载器动态生成一个嵌入式模拟系统;
(3)启动调试服务和调试代理:
完成加载配置文件后,调试服务器需要启动调试服务和调试代理,调试服务和调试代理都具有各自的线程,在调试服务和调试代理都启动以后,调试服务器就可以接收外部系统的调试请求,运行完成模拟器的自动生成。
2、根据权利要求1所述的一种基于构件的模拟器自动生成方法,其特征在于,所述的调试服务器是嵌入式系统的一个容器,包括三种构件:嵌入式系统,程序加载器和调试服务;程序加载器用于加载用户程序到模拟系统的存储器;同时,调试服务器提供对外的调试服务,异步的和模拟系统的调试接口进行通信,完成调试功能,最后通过调试代理完成对于不同调试工具的适配。
3、根据权利要求1所述的一种基于构件的模拟器自动生成方法,其特征在于,加载配置文件需要完成如下工作:对处理器模型、CPU模型、存储器模型、外围设备模型及总线模型的加载,配置系统的连接,对程序加载器、调试服务及调试代理的加载;
所述的处理器模型是整个模拟系统的核心部分,负责对处理器内部具有独立运算能力的不同运算单元的管理,采用二级模型来表示真实的处理器系统;
所述的CPU模型是对具有独立运算能力的运算单元的描述,是整个处理器模型的核心;
所述的存储器模型是模拟系统的重要组成部分,存储器模型采用两级结构设计,对外表现为统一的32位寻址,外部的执行实体发起存取数据的请求,存储器将地址进行翻译,完成逻辑地址到物理地址的转换,同时,对于物理地址经过访问控制模型的过滤,最后存取数据的请求发送到存储区域模型;
所述的外围设备模型分为片内设备模型和片外设备模型,片内设备模型与系统有较高的耦合度,片外设备模型采用软总线互连;
所述的总线模型是整个系统互连模型的核心,它是一个软总线的模型,对执行实体间的数据交换通路进行建模。
4、根据权利要求1所述的一种基于构件的模拟器自动生成方法,其特征在于,还实现了系统互连模型和调试模型;
所述的系统互连模型是从处理器模拟到系统模拟的重要环节,系统互连模型定义了各个不同的执行实体如何互连形成一个完整的系统;
所述的调试模型是贯穿整个模拟系统的模型,整个模拟系统在调试模型中被看作是一个调试服务器,调试模型实现了模拟引擎的概念。
5、根据权利要求3所述的一种基于构件的模拟器自动生成方法,其特征在于,所述的存储区域模型是对不同存储介质的建模。
6、根据权利要求4所述的一种基于构件的模拟器自动生成方法,其特征在于,所述的系统互连模型包括两个部分,一个是同步互连模型,一个是异步互连模型。
CN 200710066605 2007-01-05 2007-01-05 一种基于构件的模拟器自动生成方法 Pending CN101034351A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710066605 CN101034351A (zh) 2007-01-05 2007-01-05 一种基于构件的模拟器自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710066605 CN101034351A (zh) 2007-01-05 2007-01-05 一种基于构件的模拟器自动生成方法

Publications (1)

Publication Number Publication Date
CN101034351A true CN101034351A (zh) 2007-09-12

Family

ID=38730923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710066605 Pending CN101034351A (zh) 2007-01-05 2007-01-05 一种基于构件的模拟器自动生成方法

Country Status (1)

Country Link
CN (1) CN101034351A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508697A (zh) * 2011-11-25 2012-06-20 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN102521011A (zh) * 2011-11-18 2012-06-27 华为技术有限公司 一种模拟器的生成方法及装置
CN106250308A (zh) * 2016-07-22 2016-12-21 北京赛博智通信息技术有限责任公司 一种基于仿真数据模型的模拟器系统及方法
CN110007962A (zh) * 2019-03-08 2019-07-12 浙江大学 一种基于代码自动生成的指令集模拟方法
CN111600928A (zh) * 2020-04-07 2020-08-28 深圳震有科技股份有限公司 一种模拟服务控制方法、智能终端及存储介质

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521011A (zh) * 2011-11-18 2012-06-27 华为技术有限公司 一种模拟器的生成方法及装置
WO2013071894A1 (zh) * 2011-11-18 2013-05-23 华为技术有限公司 一种模拟器的生成方法及装置
CN102521011B (zh) * 2011-11-18 2014-08-06 华为技术有限公司 一种模拟器的生成方法及装置
US9753752B2 (en) 2011-11-18 2017-09-05 Huawei Technologies Co., Ltd. Simulator generation method and apparatus
CN102508697A (zh) * 2011-11-25 2012-06-20 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN102508697B (zh) * 2011-11-25 2014-10-08 武汉钢铁(集团)公司 一种Java实现8位嵌入式CPU仿真运行环境的方法
CN106250308A (zh) * 2016-07-22 2016-12-21 北京赛博智通信息技术有限责任公司 一种基于仿真数据模型的模拟器系统及方法
CN106250308B (zh) * 2016-07-22 2019-06-04 北京赛博智通信息技术有限责任公司 一种基于仿真数据模型的模拟器系统及方法
CN110007962A (zh) * 2019-03-08 2019-07-12 浙江大学 一种基于代码自动生成的指令集模拟方法
CN111600928A (zh) * 2020-04-07 2020-08-28 深圳震有科技股份有限公司 一种模拟服务控制方法、智能终端及存储介质
CN111600928B (zh) * 2020-04-07 2022-11-22 深圳震有科技股份有限公司 一种模拟服务控制方法、智能终端及存储介质

Similar Documents

Publication Publication Date Title
CN101262486B (zh) 基于嵌入式平台的Modbus总线分析系统
CN111428458A (zh) 通用报表生成方法、装置及计算机可读存储介质
CN111859832B (zh) 一种芯片仿真验证方法、装置及相关设备
CN101034351A (zh) 一种基于构件的模拟器自动生成方法
CN101059773A (zh) 基于总线模型的嵌入系统仿真平台
US7478027B2 (en) Systems, methods, and media for simulation of integrated hardware and software designs
CN1560743A (zh) 多媒体处理器协同仿真验证平台
CN115271078A (zh) 一种超级计算机与量子计算机协同的软件栈及工作方法
US11475199B1 (en) Parallelizing simulation and hardware co-simulation of circuit designs through partitioning
CN114489861A (zh) 目标组件转化方法、装置、电子设备及可读存储介质
CN118052196A (zh) 基于uvm的芯片验证测试方法、装置及电子设备
CN116467211B (zh) 一种基于数字化仿真环境的系统级测试验证方法
CN110865942B (zh) 一种综合模块化航电系统的模型规则校验方法
CN102231132A (zh) 一种基于SystemC的AADL软构件模型仿真测试实例生成方法
Perez et al. Coyote: an open source simulation tool to enable RISC-V in HPC
CN116594887A (zh) 一种基于cfd软件的自动化测试方法及系统
CN115903569A (zh) 一种全数字综合模块化航电系统
CN1945586A (zh) 电子电路设计的自动构建系统及自动构建方法
CN1932760B (zh) 用于运行应用程序的系统和方法
Wang et al. System-level development and verification framework for high-performance system accelerator
Fard et al. Model And simulation scalability traits for interaction (Nexus) modeling of water and energy systems
CN1794243A (zh) 一种数据缓存单元及其实现方法
CN1667590A (zh) 一种快速开发嵌入式应用系统的方法及应用系统
Diaz-Herrera et al. Aspect-oriented UML modeling for developing embedded systems product lines
US20230367923A1 (en) Framework for system simulation using multiple simulators

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication