System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 仿真方法、模型、电子设备、存储介质技术_技高网

仿真方法、模型、电子设备、存储介质技术

技术编号:40564545 阅读:10 留言:0更新日期:2024-03-05 19:28
本公开涉及集成电路设计领域,提出一种仿真方法、模型、电子设备、存储介质。仿真方法应用于固件仿真模型,包括:获取固件代码中的指令,执行获取的指令,在获取的指令与寄存器模型的访问有关时,产生寄存器访问任务;执行寄存器访问任务,在寄存器访问任务的类型为触发类型时,产生渲染任务;在渲染任务为重任务类型时,将渲染任务传输至图形渲染管线模型,在接收到指示渲染任务已缓存至图形渲染管线模型的信息后,继续获取下一条指令。本公开实施例的仿真方法应用在轻量级模型上,可以降低模型维护成本,提高模型开发效率,且避免固件代码的执行流程出现长时间的阻塞,提高固件仿真模型的性能判断准确度。

【技术实现步骤摘要】

本公开涉及集成电路设计领域,尤其涉及一种仿真方法、模型、电子设备、存储介质


技术介绍

1、在图形处理器(graphics processing unit,gpu)的设计过程中,需要在设计前期对图形处理器进行软件建模,一方面可以对图形处理器的功能、性能进行前期验证,另一方面可以通过虚拟机来提前向软件开发人员提供开发平台,便于多部门并行对图形处理器进行开发。在图形处理器的建模过程中,固件(firmware)仿真是不可或缺的一部分。

2、现有技术中,通常基于图形处理器硬件设计,使用高级编程语言对固件进行建模,实现固件代码解析、执行等操作。由于硬件特性,模型维护成本较高。并且使用如systemc等大型的编程库来实现固件仿真模型包括的各模块间的互联以及时钟设置等,模型开发工作量比较大,导致模型开发效率低。在使用固件仿真模型进行验证时,也容易导致固件代码的执行流程出现长时间的阻塞,导致对固件仿真模型的性能产生错误判断,影响模型的验证效果。


技术实现思路

1、有鉴于此,本公开提出了一种仿真方法、模型、电子设备、存储介质,本公开实施例的仿真方法无需使用大型的编程库,无需设置时钟,因此该方法应用在轻量级模型上,可以降低模型维护成本,提高模型开发效率,且避免固件代码的执行流程出现长时间的阻塞,提高固件仿真模型的性能判断准确度,提高模型的验证效果。

2、根据本公开的一方面,提供了一种仿真方法,应用于固件仿真模型,所述固件仿真模型设置在图形处理器仿真模型中,所述图形处理器仿真模型还包括图形渲染管线模型和寄存器模型,所述方法包括:获取固件代码中的指令,所述固件代码包括多条指令;执行获取的指令,在获取的指令与所述寄存器模型的访问有关时,产生寄存器访问任务;执行所述寄存器访问任务,在所述寄存器访问任务的类型为触发类型时,产生渲染任务;在所述渲染任务为轻任务类型时,将所述渲染任务传输至所述图形渲染管线模型,在接收到指示所述渲染任务执行完毕的信息后,继续获取下一条指令;在所述渲染任务为重任务类型时,将所述渲染任务传输至所述图形渲染管线模型,在接收到指示所述渲染任务已缓存至所述图形渲染管线模型的信息后,继续获取下一条指令,其中,所述重任务类型对应的任务量大于所述轻任务类型对应的任务量。

3、在一种可能的实现方式中,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述方法还包括:在所述渲染任务为轻任务类型时,在所述固件仿真模型对应的线程中调用所述图形渲染管线模型的实例执行所述渲染任务。

4、在一种可能的实现方式中,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述图形渲染管线模型对应的线程包括第一缓存模块,所述方法还包括:在所述渲染任务为重任务类型时,将所述渲染任务缓存至所述第一缓存模块,所述第一缓存模块调用所述图形渲染管线模型的实例执行所述渲染任务,所述第一缓存模块以先入先出方式缓存所述渲染任务。

5、在一种可能的实现方式中,所述图形处理器仿真模型由虚拟机运行,所述虚拟机还运行用户端,所述获取固件代码中的指令之前,所述方法还包括:接收来自所述图形渲染管线模型的硬件中断信号;将所述硬件中断信号传输至所述用户端。

6、在一种可能的实现方式中,所述图形处理器仿真模型还包括内存模型,所述方法还包括:获取的指令与所述内存模型的访问有关时,产生内存访问任务;通过回调函数绑定内存访问操作与访存处理函数的入口;执行所述内存访问任务,将内存访问操作回调至所述访存处理函数的入口,在所述访存处理函数中,判断是否进入直接内存访问模式;在进入直接内存访问模式时,通过直接内存访问函数执行所述内存访问操作。

7、在一种可能的实现方式中,所述执行寄存器访问任务还包括:在所述寄存器访问任务的类型为非触发类型时,将所述寄存器访问任务传输至所述图形渲染管线模型,在接收到指示所述寄存器访问任务执行完毕的信息后,继续获取下一条指令。

8、根据本公开的另一方面,提供了一种固件仿真模型,所述固件仿真模型设置在图形处理器仿真模型中,所述图形处理器仿真模型还包括图形渲染管线模型和寄存器模型,所述固件仿真模型包括高速外围组件互联接口、固件指令模拟单元、寄存器接口,所述固件指令模拟单元用于:通过所述高速外围组件互联接口获取固件代码中的指令,所述固件代码包括多条指令;执行获取的指令,在获取的指令与所述寄存器模型的访问有关时,产生寄存器访问任务;通过所述寄存器接口执行所述寄存器访问任务,在所述寄存器访问任务的类型为触发类型时,产生渲染任务;在所述渲染任务为轻任务类型时,通过所述寄存器接口将所述渲染任务传输至所述图形渲染管线模型,在通过所述寄存器接口接收到指示所述渲染任务执行完毕的信息后,继续通过所述高速外围组件互联接口获取下一条指令;在所述渲染任务为重任务类型时,通过所述寄存器接口将所述渲染任务传输至所述图形渲染管线模型,在通过所述寄存器接口接收到指示所述渲染任务已缓存至所述图形渲染管线模型的信息后,继续通过所述高速外围组件互联接口获取下一条指令,其中,所述重任务类型对应的任务量大于所述轻任务类型对应的任务量。

9、在一种可能的实现方式中,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述固件仿真模型用于:在所述渲染任务为轻任务类型时,在所述固件仿真模型对应的线程中调用所述图形渲染管线模型的实例执行所述渲染任务。

10、在一种可能的实现方式中,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述图形渲染管线模型对应的线程包括第一缓存模块,所述固件仿真模型用于:在所述渲染任务为重任务类型时,将所述渲染任务缓存至所述第一缓存模块,所述第一缓存模块调用所述图形渲染管线模型的实例执行所述渲染任务,所述第一缓存模块以先入先出方式缓存所述渲染任务。

11、在一种可能的实现方式中,所述图形处理器仿真模型由虚拟机运行,所述虚拟机还运行用户端,所述模型还包括硬件中断处理单元,所述固件指令模拟单元还用于:通过所述硬件中断处理单元接收来自所述图形渲染管线模型的硬件中断信号;将所述硬件中断信号传输至所述用户端。

12、在一种可能的实现方式中,所述图形处理器仿真模型还包括内存模型,所述固件仿真模型还包括内存接口,所述固件指令模拟单元还用于:获取的指令与所述内存模型的访问有关时,产生内存访问任务;通过回调函数绑定内存访问操作与访存处理函数的入口;通过所述内存接口执行所述内存访问任务,将内存访问操作回调至所述访存处理函数的入口,在所述访存处理函数中,判断是否进入直接内存访问模式;在进入直接内存访问模式时,通过直接内存访问函数执行所述内存访问操作。

13、根据本公开的另一方面,提供了一种图形处理器仿真模型,包括以上所述的固件仿真模型,以及图形渲染管线模型、寄存器模型、内存模型。

14、在一种可能的实现方式中,所述执行寄存器访问任务还包括:在所述寄存器访问任务的类型为非触发类型时,将所述寄存器访问任务传输至所述图形渲染管线模型,在接收到指示本文档来自技高网...

【技术保护点】

1.一种仿真方法,其特征在于,应用于固件仿真模型,所述固件仿真模型设置在图形处理器仿真模型中,所述图形处理器仿真模型还包括图形渲染管线模型和寄存器模型,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述图形渲染管线模型对应的线程包括第一缓存模块,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述图形处理器仿真模型由虚拟机运行,所述虚拟机还运行用户端,

5.根据权利要求1所述的方法,其特征在于,所述图形处理器仿真模型还包括内存模型,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述执行寄存器访问任务还包括:

7.一种固件仿真模型,其特征在于,所述固件仿真模型设置在图形处理器仿真模型中,所述图形处理器仿真模型还包括图形渲染管线模型和寄存器模型,所述固件仿真模型包括高速外围组件互联接口、固件指令模拟单元、寄存器接口,

8.一种图形处理器仿真模型,其特征在于,包括权利要求7所述的固件仿真模型,以及图形渲染管线模型、寄存器模型、内存模型。

9.一种电子设备,其特征在于,包括:

10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至6中任意一项所述的方法。

...

【技术特征摘要】

1.一种仿真方法,其特征在于,应用于固件仿真模型,所述固件仿真模型设置在图形处理器仿真模型中,所述图形处理器仿真模型还包括图形渲染管线模型和寄存器模型,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述固件仿真模型和所述图形渲染管线模型对应不同的线程,所述图形渲染管线模型对应的线程包括第一缓存模块,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述图形处理器仿真模型由虚拟机运行,所述虚拟机还运行用户端,

5.根据权利要求1所述的方法,其特征在于,所述图形处理器仿真模型还包括内存...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1