一种GPGPU离线时钟的建模方法、装置和存储介质制造方法及图纸

技术编号:38076271 阅读:14 留言:0更新日期:2023-07-06 08:44
本发明专利技术公开了一种GPGPU离线时钟的建模方法、装置和存储介质,方法包括构建C模型和RTL模型,将测试数据输入到C模型和RTL模型,获取C模型的第一仿真波形数据和RTL模型第二仿真波形数据;解析第一仿真波形数据和第二仿真波形数据,获取RTL模型内与第一仿真波形数据相同数据的各功能逻辑的延时;构建与C模型相同功能逻辑的中间离线模型,将各功能逻辑的延时插入中间离线模型对应的功能模块中,获取目标离线模型。本发明专利技术结合C模型和RTL模型优点,获取目标离线模型,简化了模型仿真细节,提高了仿真速度;各功能逻辑的延时数据可以用作评估目标离线模型的系统性能,使得本发明专利技术即兼顾仿真速度,也具有评估性能评估的能力。也具有评估性能评估的能力。也具有评估性能评估的能力。

【技术实现步骤摘要】
一种GPGPU离线时钟的建模方法、装置和存储介质


[0001]本专利技术涉及芯片设计
,特别是涉及一种GPGPU离线时钟的建模方法、装置和存储介质。

技术介绍

[0002]现有GPU(Graphics Processing Unit,图像处理器)的仿真模型有两种,一种是功能模型,通常由C++开发,也称为C模型,其模块间交互是通过事件驱动或者直接方法调用的方式,无法准确描述流水线和系统运行并行性,不能精确评估系统运行时钟数,但是其仿真速度很快,大型用例通常只需要数小时,因此通常用于加速数据验证。另一种仿真模型由硬件描述语言开发,是寄存器和时钟精确级的模型,称为RTL(Register Transfer Level,寄存器传输级)模型,但是仿真速度非常慢,如果需要同时输出观测数据,往往需要数天甚至数周时间才能完成大型用例的仿真。
[0003]上述两种模型中,C模型仿真速度很快,要比RTL模型快几百甚至上千倍,但是由于其无法做较精准的时钟统计,故而无法评估系统性能。
[0004]鉴于此,克服该现有技术所存在的缺陷是本
亟待解决的问题。

技术实现思路

[0005]本专利技术实施例要解决的技术问题在于如何克服现有C模型因无法做到较精准的时钟所导致无法对系统性能进行评估,以及RTL模型仿真效率低下的问题。
[0006]本专利技术实施例采用如下技术方案:第一方面,本专利技术提出了一种GPGPU离线时钟的建模方法,包括:构建C模型和RTL模型,将测试数据分别输入到C模型和RTL模型内,获取C模型的第一仿真波形数据,以及RTL模型的第二仿真波形数据;分别对第一仿真波形数据和第二仿真波形数据进行解析,获取RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的延时;构建与所述C模型相同功能逻辑的中间离线模型,将RTL模型仿真阶段各功能逻辑的延时插入所述中间离线模型对应的功能模块中,以获取目标离线模型。
[0007]优选的,所述分别对第一仿真波形数据和第二仿真波形数据进行解析,获取RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的延时包括:将第一仿真波形数据进行解析,获取第一仿真波形数据的第一解析结果;将第二仿真波形数据进行解析,获取第二仿真波形数据的第二解析结果,以及第二仿真波形数据对应的RTL模型仿真阶段各功能逻辑的输入信号时序和输出信号时序;将第一解析结果与第二解析结果进行比对,获取RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的输入信号时序和输出信号时序,并计算RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的延时。
[0008]优选的,所述将RTL模型仿真阶段各功能逻辑的延时插入所述中间离线模型对应
的功能模块中包括:从第二仿真波形数据中抽取各功能逻辑输入信号时序和输出信号时序,获取各功能逻辑输入信号时序和输出信号时序之间的时钟数差;当功能逻辑不存在分支时,将所述时钟数差作为功能逻辑的延时插入中间离线模型对应的功能逻辑中;当功能逻辑存在分支时,获取功能逻辑对应每个分支的输入信号时序和输出信号时序之间的时钟数差,将功能逻辑所有分支中的时钟数差的中值插入中间离线模型对应的功能逻辑中。
[0009]优选的,所述从第二仿真波形数据中抽取各功能逻辑输入信号时序和输出信号时序,获取各功能逻辑输入信号时序和输出信号时序之间的时钟数差包括:从第二仿真波形数据中抽取各功能逻辑对应模块的输入使能信号和输出使能信号;根据数据的输入顺序记录每个数据对应的输入使能信号和输出使能信号;当数据的输入使能信号为高电平时,进行计时,获取对应数据的输入信号时序;当数据的输出使能信号为高电平时,计时结束,获取对应数据的输出信号时序;计算输出信号时序与输入信号时序之间的差值,获取各功能逻辑输入信号时序和输出信号时序之间的时钟数差。
[0010]优选的,所述获取目标离线模型之后,还包括对于目标离线模型内的功能逻辑的延时进行验证,包括:获取预设数量的测试数据,将测试数据依次输入RTL模型内进行仿真,获取RTL模型的第三仿真波形数据;将测试数据依次输入目标离线模型内进行仿真,获取目标离线模型的第四仿真波形数据;将第三仿真波形数据与第四波形数据进行比对,根据比对结果获取目标离线模型与RTL模型之间不一致的数据量,并计算出所述数据量占测试数据的第一误差百分比;设定第一误差百分比的比对阈值,若第一误差百分比小于或等于比对阈值,则说明验证通过;若第一误差百分比大于比对阈值,则说明验证不通过,对目标离线模型进行重新调整。
[0011]优选的,所述目标离线模型内的功能逻辑的延时验证,按照功能逻辑的长度统计耗时、任务整体统计耗时或任务对应的各子阶段功能逻辑的耗时中的一种或多种。
[0012]优选的,所述获取目标离线模型之后,还包括利用目标离线模型进行仿真,包括:加载从RTL模型内获取的延时配置文件,配置各功能逻辑延时;获取待仿真的数据任务总数,按照输入目标离线模型内的顺序对待仿真的数据任务进行排序;依次按照排序的序号将待仿真的数据任务输入目标离线模型内进行仿真,直至所有的待仿真的数据任务总数仿真完,并记录每个待仿真的数据任务开始的时钟、结束的时钟,以及结束时对应的仿真波形数据。
[0013]优选的,所述构建与所述C模型相同功能逻辑的中间离线模型包括:载入和解析C模型任务单元下发的任务数据;
解析任务数据,并按照解析的顺序依次存放在中间离线模型内,直到C模型将所有的数据下发完为止。
[0014]第二方面,本专利技术还提供了一种GPGPU离线时钟的建模装置,所述建模装置用于实现如第一方面所述的GPGPU离线时钟的建模方法,所述建模装置包括前端处理单元、插桩单元以及时序单元;所述前端处理单元用于解析C模型和RTL模型内的仿真数据,以及加载输入数据,并且按RTL数据输出速率向模型中发送数据以还原RTL仿真场景的输入时序;所述GPGPU用于对数据进行仿真;所述插桩单元用于从RTL仿真波形数据中抽取各个功能逻辑输入信号和输出信号之间的时钟数差,并将所述时钟数差作为功能逻辑的延迟插入到离线模型相应的功能逻辑中;所述时序单元用于将离线模型导出的仿真数据与RTL仿真数据进行比对,以验证离线模型的误差。
[0015]第三方面,本专利技术还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成如第一方面所述的GPGPU离线时钟的建模方法。
[0016]本专利技术结合C模型和RTL模型优点,按照RTL模型的输入时序向模型中输入C模型数据,内部处理逻辑按照C模型方式做功能建模,并在相应的功能逻辑中加入延时计数模拟该处理逻辑耗时,最终获取本专利技术的目标离线模型,使得本专利技术的目标离线模型简化了模型的仿真细节,提高了仿真速度;同时,目标离线模型中计算结束后,输出包括仿真波形的数据和功能逻辑的延时数据,功能逻辑的延时数据可以用作评估目标离线模型的系统性能,使得本专利技术的目标离线模型既可兼顾仿真速度,也具有进行系统性能评估的能力。
附图说明<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPGPU离线时钟的建模方法,其特征在于,包括:构建C模型和RTL模型,将测试数据分别输入到C模型和RTL模型内,获取C模型的第一仿真波形数据,以及RTL模型的第二仿真波形数据;分别对第一仿真波形数据和第二仿真波形数据进行解析,获取RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的延时;构建与所述C模型相同功能逻辑的中间离线模型,将RTL模型仿真阶段各功能逻辑的延时插入所述中间离线模型对应的功能模块中,以获取目标离线模型。2.根据权利要求1所述的GPGPU离线时钟的建模方法,其特征在于,所述分别对第一仿真波形数据和第二仿真波形数据进行解析,获取RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的延时包括:将第一仿真波形数据进行解析,获取第一仿真波形数据的第一解析结果;将第二仿真波形数据进行解析,获取第二仿真波形数据的第二解析结果,以及第二仿真波形数据对应的RTL模型仿真阶段各功能逻辑的输入信号时序和输出信号时序;将第一解析结果与第二解析结果进行比对,获取RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的输入信号时序和输出信号时序,并计算RTL模型内与第一仿真波形数据相同数据对应的各功能逻辑的延时。3.根据权利要求1所述的GPGPU离线时钟的建模方法,其特征在于,所述将RTL模型仿真阶段各功能逻辑的延时插入所述中间离线模型对应的功能模块中包括:从第二仿真波形数据中抽取各功能逻辑输入信号时序和输出信号时序,获取各功能逻辑输入信号时序和输出信号时序之间的时钟数差;当功能逻辑不存在分支时,将所述时钟数差作为功能逻辑的延时插入中间离线模型对应的功能逻辑中;当功能逻辑存在分支时,获取功能逻辑对应每个分支的输入信号时序和输出信号时序之间的时钟数差,将功能逻辑所有分支中的时钟数差的中值插入中间离线模型对应的功能逻辑中。4.根据权利要求3所述的GPGPU离线时钟的建模方法,其特征在于,所述从第二仿真波形数据中抽取各功能逻辑输入信号时序和输出信号时序,获取各功能逻辑输入信号时序和输出信号时序之间的时钟数差包括:从第二仿真波形数据中抽取各功能逻辑对应模块的输入使能信号和输出使能信号;根据数据的输入顺序记录每个数据对应的输入使能信号和输出使能信号;当数据的输入使能信号为高电平时,进行计时,获取对应数据的输入信号时序;当数据的输出使能信号为高电平时,计时结束,获取对应数据的输出信号时序;计算输出信号时序与输入信号时序之间的差值,获取各功能逻辑输入信号时序和输出信号时序之间的时钟数差。5.根据权利要求1所述的GPGPU离线时钟的建模方法,其特征在于,所述获取目标离线模型之后,还包括对于目标离线模型内的功能逻辑的延...

【专利技术属性】
技术研发人员:张一刘可为
申请(专利权)人:芯动微电子科技珠海有限公司
类型:发明
国别省市:

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

1