一种基于FPGA的高速数据自动筛选方法及电子设备与流程

文档序号:36969890发布日期:2024-02-07 13:18阅读:17来源:国知局
一种基于FPGA的高速数据自动筛选方法及电子设备与流程

本发明属于数据传输,具体涉及一种基于fpga的高速数据自动筛选方法及电子设备。


背景技术:

1、在使用原型验证平台进行项目调试时,往往会使用高速数据传输接口如aurora,gtx,gth等将原型验证平台的实时数据发送到调试板上,由于高速接口的限制,一次传输的数据量为64bit、256bit等2的整数次幂,而原型验证板所观察的信号不一定是2的整数次幂,因此原型验证平台端发送数据时要进行数据对齐操作,数据对齐的过程中就要引入无效数据,无效数据与有效数据一起发送到调试板上,调试板接收到数据并进行存储。

2、由于无效数据的存在,在整个数据传输过程中降低了数据传输的有效带宽,在存储过程中由于存储了无效数据,浪费了存储空间。例如:transceiver的传输位宽为256,而用户所观察的信号个数为64bit,每个256bit中只有64bit是有效的。如此,带来了以下问题:

3、1)存储到ddr中的无效空间所占的空间是有效空间的4倍,大大降低了双倍速率同步动态随机存储器(double data rate,ddr)的利用率。

4、2)由于储存无效数据占用了ddr带宽,因此使得原型验证板的传输带宽受到了限制,从而降低了原型验证板的性能。

5、3)为了观察高频率数据信号,可能造成transceiver的传输带宽高于ddr的存储带宽,从而造成数据的丢失。

6、针对上述问题,传统的解决方法如下:

7、a)为了实现传输带宽与ddr存储带宽相匹配,采用降低原型验证板的传输带宽,从而实现数据不丢失的存储。

8、b)通过增加ddr的数量实现ddr带宽的增加,从而可以保证高速信号的存储。

9、c)引入压缩算法,在存储时对数据进行压缩,读出时再进行解压。

10、然而,上述a)所述的方法对于高频率下的信号却束手无策,造成了调试过程中的麻烦;上述b)所述的方法在增加ddr数量时必然要进行硬件的改动,使调试成本增大;上述c)所述的方法对ddr存储带宽增加有限,而且引入了数据压缩和解压模块,增大了fpga的逻辑消耗。


技术实现思路

1、为了解决现有技术中所存在的上述问题,本发明提供了一种基于fpga的高速数据自动筛选方法及电子设备。

2、本发明要解决的技术问题通过以下技术方案实现:

3、一种基于fpga的高速数据自动筛选方法,包括:

4、在第i个时钟周期接收数据,并当接收到第j个数据包的一个数据块时解析所述数据块,得到所述数据块包含的数据;每个数据块中包含有效数据和无效数据;i和j均为正整数;

5、当所述数据块不是所述第j个数据包中的最后一个数据块时,根据第一有效位宽,从所述数据块包含的数据中提取有效数据;所述第一有效位宽表示所述第j个数据包的每个数据块包含的有效数据的位宽;

6、根据提取的有效数据和第i-1个时钟周期的剩余有效数据,确定第i个时钟周期的全局有效数据;

7、根据第i个时钟周期的所述全局有效数据和存储设备的存储位宽,确定第i+1个时钟周期的发送参数;所述发送参数表征需发送的有效数据组的数量;

8、在第i+1个时钟周期时,根据第i+1个时钟周期的所述发送参数,将第i个时钟周期的所述全局有效数据中的目标有效数据发送至所述存储设备,并得到第i+1个时钟周期的剩余有效数据。

9、在一些实施例中,所述根据提取的有效数据和第i-1个时钟周期的剩余有效数据,确定第i个时钟周期的全局有效数据,包括:

10、将提取的有效数据和第i-1个时钟周期的剩余有效数据的总和,作为第i个时钟周期的所述全局有效数据。

11、在一些实施例中,一个有效数据组的位宽为所述存储设备的存储位宽;所述根据第i个时钟周期的所述全局有效数据和存储设备的存储位宽,确定第i+1个时钟周期的发送参数,包括:

12、确定第i个时钟周期的所述全局有效数据的总位数与存储设备的存储位宽之间的商,并将所述商作为第i+1个时钟周期的发送参数。

13、在一些实施例中,所述在第i+1个时钟周期时,根据第i+1个时钟周期的所述发送参数,将第i个时钟周期的所述全局有效数据中的目标有效数据发送至所述存储设备,并得到第i+1个时钟周期的剩余有效数据,包括:

14、在第i+1个时钟周期时,将第i个时钟周期的所述全局有效数据中,第i+1个时钟周期的所述发送参数所表征的有效数据作为目标有效数据,并将所述目标有效数据发送至所述存储设备;

15、将第i个时钟周期的所述全局有效数据中未发送的数据,作为第i+1个时钟周期的剩余有效数据。

16、在一些实施例中,在所述在第i个时钟周期接收数据,并当接收到第j个数据包的一个数据块时解析所述数据块,得到所述数据块包含的数据之前,所述方法还包括:

17、在第i-x个时钟周期内接收数据,并当接收到所述第j个数据包的包头时,对所述第j个数据包的包头进行解析,得到所述第一有效位宽;x为正整数。

18、在一些实施例中,所述方法还包括:

19、当所述第q个数据块是所述第j个数据包中的最后一个数据块,所述第j个数据包为最后一个数据包,且第i个时钟周期的剩余有效数据的位数不为0时,将第i+1个时钟周期的剩余有效数据的位宽补全至一个所述有效数据组的位宽,得到第i+1个时钟周期的补全数据;

20、在第i+1个时钟周期时,将第i+1个时钟周期的所述补全数据发送至所述存储设备进行存储。

21、在一些实施例中,所述方法还包括:

22、在第i+2个时钟周期接收数据,并当接收到所述第j个数据包的包尾时,继续在第i+3个时钟周期接收数据,并当接收到第j+1个数据包的包头时,对所述第j+1个数据包的包头进行解析,得到第二有效位宽;所述第二有效位宽表示所述第j+1个数据包的每个数据块包含的有效数据的位宽;

23、根据所述第二有效位宽,将第i+3个时钟周期之后的时钟周期所接收到的所述第j+1个数据包中的每个数据块包含的有效数据发送至所述存储设备。

24、在一些实施例中,所述第一有效位宽和所述第二有效位宽相同,或者,所述第一有效位宽和所述第二有效位宽不同。

25、在一些实施例中,当所述数据块是所述第j个数据包中的第一个数据块时,第i-1个时钟周期的剩余有效数据是第i-x-2个时钟周期的剩余有效数据;其中,第i-x-2个时钟周期用于发送第j-1个数据包的最后一个数据块的有效数据中的所述目标有效数据,第i-x-1个时钟周期用于接收所述第j-1个数据包的包尾。

26、一种基于fpga的高速数据自动筛选设备,包括处理器、通信接口、存储器和通信总线,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;

27、所述存储器,用于存放计算机程序;

28、所述处理器,用于执行存储器上所存放的程序时,实现上述的基于fpga的高速数据自动筛选方法的步骤。

29、与现有技术相比,本发明的有益效果:

30、本发明在第i个时钟周期接收数据,并当接收到第m个数据包的一个数据块时解析数据块,得到数据块包含的数据,当数据块不是第m个数据包中的最后一个数据块时,根据第一有效位宽从数据块包含的数据中提取有效数据,根据提取的有效数据和第i-1个时钟周期的剩余有效数据,确定第i个时钟周期的全局有效数据,根据第i个时钟周期的全局有效数据和存储设备的存储位宽,确定第i+1个时钟周期的发送参数,在第i个时钟周期内,根据第i+1个时钟周期的发送参数,将第i个时钟周期的全局有效数据中的目标有效数据发送至存储设备,并得到第i+1个时钟周期的剩余有效数据,如此,可以仅存储有效数据而将无效数据删除,实现了对数据的准确解析,以及节约了存储带宽和存储空间,节省了fpga的内容资源和外部资源,还提高了有效数据的存储速度,从而支持更高的传输带宽。

31、以下将结合附图及对本发明做进一步详细说明。

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