System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() FPGA加速仿真中内存行为确定性重放系统及方法技术方案_技高网

FPGA加速仿真中内存行为确定性重放系统及方法技术方案

技术编号:40369221 阅读:4 留言:0更新日期:2024-02-20 22:14
本发明专利技术提出一种FPGA加速仿真中内存行为确定性重放系统与方法。本发明专利技术设计了一种用于FPGA加速仿真的内存模型系统,并基于检查点技术和事务级确定性的保障方法精确保存目标系统中内存模型的事务级状态,无需考虑FPGA系统中物理内存控制器与内存器件与逻辑仿真中内存模型的差异,可实现FPGA硬件原型仿真平台与逻辑电路仿真软件工具间的状态迁移与确定性重放。

【技术实现步骤摘要】

本专利技术涉及基于fpga的数字逻辑设计加速仿真与原型验证领域,并特别涉及一种fpga加速仿真中内存行为确定性重放系统及方法。


技术介绍

1、在处理器系统级仿真验证中,为构建较为完整的功能场景,除需对处理器核内部逻辑进行精确仿真外,还需添加内存(memory)设备,形成较为完整的计算系统。为实现这一目标,在通用处理器仿真验证过程中通常需要将处理器放入一个包含了内存模型的模拟仿真系统中。

2、fpga硬件加速仿真在物理时钟上添加了全局时钟门控,fpga硬件加速仿真控制器通过控制电路的暂停与启动来精准仿真目标时钟。目标系统指被仿真的系统,一个目标时钟的时钟周期由可变数量的一或多个fpga物理时钟周期仿真。基于检查点的fpga加速仿真手段通过将fpga上逻辑电路状态迁移到逻辑仿真软件,实现了全信号波形可见的重放功能。检查点为保存某个时钟周期内仿真电路中每个信号的状态输出的文件,可被注入基于fpga的仿真引擎或基于软件的rtl模拟器中用于仿真电路行为重放。然而,目标待测计算系统设计(designundertest,dut)在每个物理时钟周期(驱动待验证处理器目标系统的fpga时钟)内可完成的电路功能受时钟频率的严格制约。为了实现对目标计算系统的确定性系统级仿真验证,内存硬件模型和接口需要使用多个fpga物理时钟周期来模拟一个逻辑时钟周期的完整行为。因此,对于内存仿真,无法保证在逻辑仿真软件中使用的内存模型和fpga加速仿真环境中使用的硬件模型与接口具有相同的物理周期级别的逻辑行为,导致fpga硬件电路上实现的内存行为不能直接在逻辑电路逻辑仿真软件工具中进行复现,给目标系统状态从fpga加速仿真向逻辑仿真软件迁移带来极大的困难。

3、目前,业界已面向基于fpga的加速仿真系统中内存的实现方式开展研究工作,但尚未在公开的研究论文与专利中检索到针对逻辑行为的确定性重放进行探讨。

4、对于内存,简单的模拟方法是在访存接口上增加固定延迟,以模拟真实系统中处理器与内存运行速度的比例关系。这种模拟方式实现简单,但无法模拟真实dram内存中的访存冲突、内存刷新等细节,会导致性能评估结果有偏差。fased是一个能够以较高精度模拟dram访存细节与时序的fpga内存模型,对处理器提供标准片内总线接口。fased内存模型模拟dram控制器的访存调度行为,并按照相应的延迟回应处理器的访存请求,可达到与软件内存行为级模拟器(如dramsim2)相似的仿真效果。


技术实现思路

1、本专利技术提出一种fpga加速仿真中内存行为确定性重放系统与方法。本专利技术设计了一种用于fpga加速仿真的内存模型系统,并基于检查点技术和事务级确定性的保障方法精确保存目标系统中内存模型的事务级状态,无需考虑fpga系统中物理内存控制器与内存器件与逻辑仿真中内存模型的差异,可实现fpga硬件原型仿真平台与逻辑电路仿真软件工具间的状态迁移与确定性重放。

2、具体来说,本专利技术提出了一种fpga加速仿真中内存行为确定性重放系统,其中该内存行为确定性重放系统为用于fpga加速仿真的内存模型;该内存模型基于可编程逻辑资源构建并部署于fpga内;该内存模型包括前端组件与后端组件,以及用于连接该前端组件与该后端组件的令牌通道;

3、该前端组件通过标准芯片内总线接口与dut处理器进行交互,该前端组件包含事务跟踪器子组件,时序模型子组件和三个分叉子组件;目标时钟驱动该前端组件,且该目标时钟与该dut处理器的时钟相同;

4、该分叉子组件用于进行信息复制分发;该时序模型子组件用于记录在途访存请求的指定响应延时,该时序模型子组件的计时到达指定时间后,判断该后端组件是否生成完整的读数据或完整的写响应数据,若是则从该后端组件拉取相应的该读数据或该写响应数据至该dut处理器,否则暂停驱动该前端组件和该dut处理器的目标时钟,直到后端生成完整的该读数据或该写响应数据;所述事务跟踪器子组件,用于记录在途的该访存请求个数,达到上限时反压新请求;

5、该后端组件由该fpga的物理时钟驱动,将来自该前端组件发出的访存请求调度至该fpga的物理dram控制器,同时也从该物理dram控制器中接收访存请求应答并反馈给该前端组件。

6、所述的fpga加速仿真中内存行为确定性重放系统,其中该后端组件包含读写地址发射队列、写数据发射队列、调度器、读请求标识队列、写请求标识队列和r重排序队列、b重排序队列;该后端组件将来自该物理dram控制器的读响应和写响应放置于该r重排序队列、该b重排序队列中等待前端时序模型的拉取;

7、该调度器用于根据调度策略将其从该读写地址发射队列、该写数据发射队列接收到的访存请求进行id信息剥离,以及对经剥离id信息处理后的请求进行转发,将所剥离出的id信息发送至对应的该读请求标识队列、该写请求标识队列。

8、所述的fpga加速仿真中内存行为确定性重放系统,其中该令牌通道包括ar请求、aw请求、w请求、r请求、r响应、b请求、b响应七个令牌通道;

9、所述ar请求、aw请求、w请求令牌通道分别用于该前端组件向该后端组件传输ar、aw、w请求内容,r请求、r响应与b请求、b响应两对通路分别用于该时序模型子组件拉取该后端组件的读数据r与写响应b。

10、所述的fpga加速仿真中内存行为确定性重放系统,其中每个该令牌通道完成一次令牌传输后,该目标时钟前进一个周期;当遇到时序模型所请求拉取的某个响应不存在于重排序队列中时,该后端组件会将相应的基于令牌的通路将设为阻塞并暂停目标时钟。

11、所述的fpga加速仿真中内存行为确定性重放系统,其中该延时由用户通过该时序模型子组件进行设定。

12、本专利技术还提出了一种基于所述权利要求1的fpga加速仿真中内存行为确定性重放方法,其中采用软扫描链控制用于fpga加速仿真的该内存模型,控制方法包括:

13、硬件加速逻辑仿真状态记录步骤,该前端组件作为该目标时钟驱动的rtl模型,通过该软扫描链捕获dut处理器在硬件加速逻辑仿真过程的电路层次状态;通过该软扫描链与fpga硬件加速仿真控制器,分别记录被放置于该r重排序队列、该b重排序队列、读写地址发射队列和该写数据发射队列的所有在途事务和fpga上的物理dram内存储的全部数据;

14、事务级状态迁移步骤,将该所有在途事务迁移至软件逻辑仿真下的功能模型中,使硬件队列中的数据按照入队顺序放入软件逻辑仿真的队列;后端控制器在启动事务级状态捕获时,向fpga上的物理dram发出的所有读写访存请求都已完成;事务级状态迁移对应图3a-3b;

15、软件逻辑仿真重放步骤,在该软件逻辑仿真中,该令牌通道被替换为软件逻辑仿真器接口调用。

16、所述的fpga加速仿真中内存行为确定性重放方法,其中包括:

17、该后端组件将访存请求的请求标识axi id信息剥离,并按访存请求流入顺序分别放置于对应的读或写请求id队列;从该前端组本文档来自技高网...

【技术保护点】

1.一种FPGA加速仿真中内存行为确定性重放系统,其特征在于,该内存行为确定性重放系统为用于FPGA加速仿真的内存模型;该内存模型基于可编程逻辑资源构建并部署于FPGA内;该内存模型包括前端组件与后端组件,以及用于连接该前端组件与该后端组件的令牌通道;

2.如权利要求1所述的FPGA加速仿真中内存行为确定性重放系统,其特征在于,该后端组件包含读写地址发射队列、写数据发射队列、调度器、读请求标识队列、写请求标识队列和R重排序队列、B重排序队列;该后端组件将来自该物理DRAM控制器的读响应和写响应分别放置于该R重排序队列、该B重排序队列中等待前端时序模型的拉取;

3.如权利要求1所述的FPGA加速仿真中内存行为确定性重放系统,其特征在于,该令牌通道包括AR请求、AW请求、W请求、R请求、R响应、B请求、B响应七个令牌通道;

4.如权利要求1所述的FPGA加速仿真中内存行为确定性重放系统,其特征在于,每个该令牌通道完成一次令牌传输后,该目标时钟前进一个周期;当遇到时序模型所请求拉取的某个响应不存在于重排序队列中时,该后端组件会将相应的基于令牌的通路将设为阻塞并暂停目标时钟。

5.一种基于所述权利要求1的FPGA加速仿真中内存行为确定性重放方法,其特征在于,采用软扫描链控制用于FPGA加速仿真的该内存模型,控制方法包括:

6.如权利要求5所述的FPGA加速仿真中内存行为确定性重放方法,其特征在于,包括:

7.如权利要求5所述的FPGA加速仿真中内存行为确定性重放方法,其特征在于,包括:

8.如权利要求5所述的FPGA加速仿真中内存行为确定性重放方法,其特征在于,包括:

9.一种服务器,其特征在于,包括权利要求1-4所述的一种FPGA加速仿真中内存行为确定性重放系统。

10.一种存储介质,用于存储一种执行权利要求5-8所述FPGA加速仿真中内存行为确定性重放方法的计算机程序。

...

【技术特征摘要】

1.一种fpga加速仿真中内存行为确定性重放系统,其特征在于,该内存行为确定性重放系统为用于fpga加速仿真的内存模型;该内存模型基于可编程逻辑资源构建并部署于fpga内;该内存模型包括前端组件与后端组件,以及用于连接该前端组件与该后端组件的令牌通道;

2.如权利要求1所述的fpga加速仿真中内存行为确定性重放系统,其特征在于,该后端组件包含读写地址发射队列、写数据发射队列、调度器、读请求标识队列、写请求标识队列和r重排序队列、b重排序队列;该后端组件将来自该物理dram控制器的读响应和写响应分别放置于该r重排序队列、该b重排序队列中等待前端时序模型的拉取;

3.如权利要求1所述的fpga加速仿真中内存行为确定性重放系统,其特征在于,该令牌通道包括ar请求、aw请求、w请求、r请求、r响应、b请求、b响应七个令牌通道;

4.如权利要求1所述的fpga加速仿真中内存行为确定性重放系统,其特征在于,每个该令...

【专利技术属性】
技术研发人员:常轶松陈欲晓张科陈飞羽齐乐陈明宇包云岗
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1