基于FPGA的仿真数据存取方法及装置与流程

文档序号:12464302阅读:来源:国知局

技术特征:

1.一种基于FPGA的仿真数据存取方法,其特征在于,包括以下步骤:

S1:建立缓冲区状态表,缓冲区状态表用来描述存储器中各个缓冲区的状态,状态表中的每一位都记录对应存储器中一个缓冲区的状态;

S2:建立子地址状态表,子地址状态表的每一个表项记录仿真设备当前仿真的一个子地址下数据缓冲区的描述信息;

S3:收到仿真数据存入或读取申请时提取其中的节点地址、子地址信息;

S4:以节点地址、子地址信息作为输入参数,经哈希压缩映射算法得出子地址状态表入口地址;

S5:根据所述入口地址查找子地址状态表,获取子地址的记录表项以及缓冲区地址,将仿真数据存入所述缓冲区地址对应的缓冲区或从所述缓冲区地址对应的缓冲区读取仿真数据;

S6:存入或读取完毕后更新缓冲区状态表及子地址状态表表项信息。

2.如权利要求1所述的基于FPGA的仿真数据存取方法,其特征在于,在步骤S1之前还包括步骤S0:将存储器分成固定大小的分块,分块的大小根据总线协议设定为大于该协议最大帧长度,且为字节,n为正整数,将每个分块都作为一个数据缓冲区。

3.如权利要求1所述的基于FPGA的仿真数据存取方法,其特征在于,若某一缓冲区分块被占用,其在所述缓冲区状态表中对应的记录位设置为1,反之若该缓冲区分块未被占用,对应的记录位设置为0。

4.如权利要求1所述的基于FPGA的仿真数据存取方法,其特征在于,若步骤S3收到的是仿真数据存入申请,在步骤S5中,根据所述入口地址在子地址状态表中进行匹配查找时,若未查找到匹配项且该入口地址未被占用,则在此地址建立这个子地址的记录表项;若未查找到匹配项且该入口地址已被占用,则根据冲突算法计算下一入口地址,然后重复步骤S5。

5.如权利要求1所述的基于FPGA的仿真数据存取方法,其特征在于,若步骤S3收到的是仿真数据读取申请,在步骤S5中,若获取的所述子地址记录表项中记录的缓冲区个数为0,则返回错误信息;若未查找到匹配项且该入口地址未被占用,返回错误信息;若未查找到匹配项且该入口地址已被占用,则根据冲突算法计算下一入口地址,然后重复步骤S5。

6.如权利要求1所述的基于FPGA的仿真数据存取方法,其特征在于,所述子地址状态表表项信息包括节点地址、子地址、子地址状态信息、头缓冲区指针、头缓冲区数据长度、尾缓冲区指针、缓冲区个数等。

7.如权利要求1所述的基于FPGA的仿真数据存取方法,其特征在于,提前查询缓冲区状态表,获取一定数量的待用缓冲区地址存入待用数据缓冲区表中待使用,在进行仿真数据存入时直接从待用数据缓冲区表中获取一个未被占用的缓冲区地址。

8.一种基于FPGA的仿真数据存取装置,其特征在于,包括:

缓冲区状态表建立模块,用来建立缓冲区状态表来描述存储器中各个缓冲区的状态,状态表中的每一位都记录对应存储器中一个缓冲区的状态;

子地址状态表建立模块,用来建立子地址状态表,子地址状态表的每一个表项记录仿真设备当前仿真的一个子地址下数据缓冲区的描述信息;

子地址状态表入口地址获取模块,用来在收到仿真数据存入或读取申请时,提取其中的节点地址、子地址信息,以节点地址、子地址信息作为输入参数,经哈希压缩映射算法得出子地址状态表入口地址;

数据存取模块,用来根据所述入口地址查找子地址状态表,获取子地址的记录表项以及缓冲区地址,将仿真数据存入所述缓冲区地址对应的缓冲区或从所述缓冲区地址对应的缓冲区读取仿真数据,并在存入或读取完毕后更新缓冲区状态表及子地址状态表表项信息。

9.如权利要求8所述的基于FPGA的仿真数据存取装置,其特征在于,还包括数据缓冲区划分模块,用于将存储器分成固定大小的分块,分块的大小根据总线协议设定为大于该协议最大帧长度,且为字节,n为正整数,将每个分块都作为一个数据缓冲区。

10.如权利要求8所述的基于FPGA的仿真数据存取装置,其特征在于,若某一缓冲区分块被占用,其在所述缓冲区状态表中对应的记录位设置为1,反之若该缓冲区分块未被占用,对应的记录位设置为0。

11.如权利要求8所述的基于FPGA的仿真数据存取装置,其特征在于,若收到的是仿真数据存入申请,数据存取模块根据所述入口地址在子地址状态表中进行匹配查找时,若未查找到匹配项且该入口地址未被占用,则在此地址建立这个子地址的记录表项,若未查找到匹配项且该入口地址已被占用,则根据冲突算法计算下一入口地址,然后重新利用所述入口地址在子地址状态表中进行匹配查找。

12.如权利要求8所述的基于FPGA的仿真数据存取装置,其特征在于,若收到的是仿真数据读取申请,数据存取模块根据所述入口地址在子地址状态表中进行匹配查找时,若获取的所述子地址记录表项中记录的缓冲区个数为0,则返回错误信息;若未查找到匹配项且该入口地址未被占用,返回错误信息;若未查找到匹配项且该入口地址已被占用,则根据冲突算法计算下一入口地址,然后重新利用所述入口地址在子地址状态表中进行匹配查找。

13.如权利要求8所述的基于FPGA的仿真数据存取装置,其特征在于,所述子地址状态表表项信息包括节点地址、子地址、子地址状态信息、头缓冲区指针、头缓冲区数据长度、尾缓冲区指针、缓冲区个数等。

14.如权利要求8所述的基于FPGA的仿真数据存取装置,其特征在于,还包括待用缓冲区查询模块,用于查询缓冲区状态表,获取一定数量的待用缓冲区地址后存入待用数据缓冲区表中待使用,在进行仿真数据存入时直接从待用数据缓冲区表中获取一个未被占用的缓冲区地址。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1