一种处理器系统模拟平台实现方法与流程

摘要: 本发明属于嵌入式处理器,具体为一种处理器系统模拟平台实现方法。背景技术:1、处理器行为功能模拟作为处理器研发领域的重要技术环节,主要涵盖指令模拟与外设模拟两大核...
一种处理器系统模拟平台实现方法与流程

本发明属于嵌入式处理器,具体为一种处理器系统模拟平台实现方法。

背景技术:

1、处理器行为功能模拟作为处理器研发领域的重要技术环节,主要涵盖指令模拟与外设模拟两大核心方向,系统级模拟器是实现该模拟工作的核心工具。

2、现有主流系统级模拟器的硬件板卡与外设模拟功能适配性有限,无法全面匹配处理器的专属设计需求,难以支撑处理器的完整系统模拟研发工作。

3、目前行业内主流依托qemu系统级模拟器开展处理器的系统模拟工作,该模拟器具备极强的通用性与适用性,是业内广泛应用的模拟工具。其核心采用二进制翻译技术,摒弃传统直接翻译不同架构指令的模式,在目标指令集与主机指令集之间增设独立于具体指令的tcg op算子,通过该中间算子的转换,打破指令集架构壁垒,可方便支持多种不同体系架构的处理器指令模拟。同时,qemu集成了各类常规硬件外设的模拟模块,能够完成通用场景下处理器配套外设的模拟运行,可满足多数通用处理器的基础系统模拟需求,具备成熟度高、适配场景广的优势。

4、整体而言,现有基于qemu的处理器系统模拟方案存在核心适配性短板,无法针对性适配处理器的定制化硬件设计与专属外设架构。qemu内置的硬件板卡和外设模拟模块均为通用化设计,仅适配市面主流通用处理器架构,未针对处理器的专属硬件特性、定制外设配置进行优化适配,覆盖范围存在明显缺口。这一问题直接导致现有模拟平台无法快速、精准搭建适配处理器的模拟环境,缺乏标准化、通用化的快速搭建流程,极大制约了处理器研发过程中系统模拟测试、功能验证等工作的高效开展,难以适配处理器自主化研发的发展需求。

技术实现思路

1、本发明提供了一种处理器系统模拟平台实现方法,解决了qemu内置的硬件板卡和外设模拟模块均为通用化设计,仅适配市面主流通用处理器架构,未针对处理器的专属硬件特性、定制外设配置进行优化适配,覆盖范围存在明显缺口的问题。

2、为实现上述目的,本发明提供如下技术方案:

3、本发明提供一种处理器系统模拟平台实现方法,包括以下步骤:

4、步骤1:设计继承自机器类的自定义板卡类,设置板卡基本属性及系统模块初始化接口;

5、步骤2:在步骤1设计的板卡框架下模拟处理器核心:若处理器采用标准指令集则复用已有处理器模型,若采用自定义指令集则编写继承自处理器类的自定义处理器核心类,实现指令翻译算子及调试模块访问接口;

6、步骤3:在步骤1设计的板卡框架下开发外设模块:通过存储域模拟外设寄存器访问空间,并通过前后端分离机制模拟外设通信功能;

7、步骤4:将步骤1设计的自定义板卡类、步骤2编写的自定义处理器核心类以及步骤3开发的外设类分别封装为类型信息结构体,注册进入系统模拟平台,并在构建系统中添加编译信息;

8、步骤5:根据步骤4中注册的组件信息开发图形化界面,所述图形化界面配置为对模拟器组件进行可视化勾选及参数编辑。

9、根据本发明的一个实施方式,所述步骤1中自定义板卡类的初始化接口设置处理器核数、存储空间大小,并创建及初始化系统中的其他模块。

10、根据本发明的一个实施方式,所述步骤2中指令翻译算子的实现方式为:将处理器核中的寄存器转换为tcg操作变量,并解析目标指令码翻译为具有相同语义的tcg微操作码;所述调试模块访问接口实现读写寄存器、读写存储区及访问pc寄存器。

11、根据本发明的一个实施方式,所述步骤3中通过前后端分离机制模拟外设通信功能的具体方式为:前端为自定义的外设类,后端为操作系统提供的底层接口;外设要发送的数据经由存储域通过后端发送至连接的对端或输出流,后端接收的数据传递至前端的寄存器。

12、根据本发明的一个实施方式,所述步骤3中开发外设模块的具体子步骤包括:设计包含模拟外设所需资源的结构体,所述结构体包括寄存器、fifo、中断及外设绑定的后端;编写继承自设备类的自定义类作为模拟外设的前端,实现类初始化接口及实例初始化接口;为每个外设实例分配存储域并映射至外设控制寄存器的地址空间,实现该存储域的读写接口,所述读写接口模拟外设内部处理逻辑及前后端数据传递。

13、根据本发明的一个实施方式,所述步骤4中注册自定义类的具体方式为:将封装为类型信息结构体的自定义板卡类及外设类通过注册接口在系统模拟平台启动的初始化阶段被加载;在构建系统中添加编译信息的方式为:为自定义类对应的源文件添加编译选项开关,并启动相应的编译开关。

14、根据本发明的一个实施方式,所述步骤4中通过修改构建文件添加条件编译,并通过修改配置文件启动自定义硬件板卡的编译开关,外设的编译开关由板卡的配置选项决定。

15、根据本发明的一个实施方式,所述步骤5中图形化界面包括组件树形选择区域、参数列表编辑区域及组件或参数检索区域;所述组件树形选择区域对模拟器所支持的组件进行勾选操作,所述参数列表编辑区域显示和输入当前选择组件的参数信息,所述组件或参数检索区域通过关键字或参数值进行检索。

16、与现有技术相比,本发明具有以下有益效果:本发明提供了一种处理器系统模拟平台实现方法,通过设计继承自机器类的自定义板卡类并设置基本属性与初始化接口,构建了板卡级模拟框架;在该框架下复用已有处理器模型或编写自定义处理器核心类实现指令翻译与调试访问,解决了处理器指令模拟的适配问题;通过存储域模拟外设寄存器访问空间并结合前后端分离机制实现外设通信功能,使外设模拟与真实硬件行为一致;将自定义板卡类、处理器核心类及外设类封装注册并添加编译信息,实现了自定义组件的系统集成;最后根据注册组件开发图形化界面支持可视化勾选与参数编辑,降低了模拟平台配置复杂度。形成了一套从板卡、处理器到外设的完整模拟平台搭建流程,使系统模拟平台能够覆盖处理器的指令集与外设需求,缩短了硬件板卡开发周期,提升了模拟平台的复用性和可配置性,解决了现有qemu无法完全适配处理器设计的技术问题。

1.一种处理器系统模拟平台实现方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种处理器系统模拟平台实现方法,其特征在于,通过所述步骤1中自定义板卡类的初始化接口设置处理器核数、存储空间大小,并创建及初始化系统中的其他模块。

3.根据权利要求1所述的一种处理器系统模拟平台实现方法,其特征在于,所述步骤2中指令翻译算子的实现方式为:将处理器核中的寄存器转换为tcg操作变量,并解析目标指令码翻译为具有相同语义的tcg微操作码;所述调试模块访问接口实现读写寄存器、存储区及对处理器停止、运行状态的控制。

4.根据权利要求1所述的一种处理器系统模拟平台实现方法,其特征在于,所述步骤3中通过前后端分离机制模拟外设通信功能的具体方式为:前端为自定义的外设类,后端为操作系统提供的底层接口;外设要发送的数据经由存储域通过后端发送至连接的对端或输出流,后端接收的数据传递至前端的寄存器。

5.根据权利要求4所述的一种处理器系统模拟平台实现方法,其特征在于,所述步骤3中开发外设模块的具体子步骤包括:

6.根据权利要求1所述的一种处理器系统模拟平台实现方法,其特征在于,所述步骤4中注册自定义类的具体方式为:将封装为类型信息结构体的自定义板卡类及外设类通过注册接口在系统模拟平台启动的初始化阶段被加载;在构建系统中添加编译信息的方式为:为自定义类对应的源文件添加编译选项开关,并启动相应的编译开关。

7.根据权利要求6所述的一种处理器系统模拟平台实现方法,其特征在于,所述步骤4中通过修改构建文件添加条件编译,并通过修改配置文件启动自定义硬件板卡的编译开关,外设的编译开关由板卡的配置选项决定。

8.根据权利要求1所述的一种处理器系统模拟平台实现方法,其特征在于,所述步骤5中图形化界面包括组件树形选择区域、参数列表编辑区域及组件或参数检索区域;所述组件树形选择区域对模拟器所支持的组件进行勾选操作,所述参数列表编辑区域显示和输入当前选择组件的参数信息,所述组件或参数检索区域通过关键字或参数值进行检索。