一种基于FPGA的数据重组方法技术

技术编号:9828546 阅读:118 留言:0更新日期:2014-04-01 17:44
本发明专利技术提供一种基于FPGA的数据重组方法,步骤一:计算相关参数。求出原始数据位宽和目标数据位宽的最小公倍数,并求出最小公倍数与两个位宽值的商。步骤二:构建相应的数据重组装置。根据步骤一中求出的参数,在FPGA中构建相应的数据组合单元、数据缓存单元以及数据拆分单元,以及锁相环;步骤三:启动数据重组流程。采用上述方案,当低位宽的原始数据重组为高位宽的目标数据时,不会由于增加无效位导致冗余率增加,也不会给后端接口的实现增加时序上的难度;当高位宽的原始数据重组为低位宽的目标数据时,不会因为删减有效位降低原始数据的精度。并且该方法能够实现任意位宽比下的数据重组。

【技术实现步骤摘要】
一种基于FPGA的数据重组方法
本专利技术属于数据重组
,尤其涉及的是一种基于FPGA的数据重组方法。
技术介绍
在电磁信号监测与接收设备中,对感兴趣的信号进行监听和记录是一项重要的功能。随着电子技术的发展,使得在一段频段内,对高频模拟信号进行高速采样,并对采样后的高速数据进行实时存储变为可能。在现实中,采样后的高速数据位宽可能小于存储器的对外接口位宽,也可能大于存储器的对外接口位宽,这就需要一种数据重组方法,将一种位宽的原始数据转换为另外一种位宽的目标数据。例如,在某项电磁信号监测设备中,有两块高速采集与存储电路板,其中电路板1的ADC芯片数据位宽为12位,存储器接口位宽为16位,电路板2的ADC芯片数据位宽为20位,存储器接口位宽为16位,在数据存储时,电路板1中必须将12位位宽的原始数据转换为16位位宽的目标数据,电路板2中必须将20位位宽的原始数据转换为16位位宽的目标数据。现有的数据重组方法主要有两种:一是通过FIFO进行位宽的变换,从而实现数据的重组,比如8位位宽的原始数据可以通过数据宽度8:16的FIFO重组为16位位宽的目标数据;二是在原始数据上直接进行位宽拓展,当原始数据位宽小于目标数据位宽时,通过增加无效位实现数据重组,当原始数据位宽大于目标数据位宽时,通过删减有效位实现数据重组。比如,12位位宽的原始数据增加4位的无效位,转换为16位位宽的目标数据,20位位宽的原始数据通过删减4位的有效位,转换为16位位宽的目标数据。现有的直接对原始数据进行位宽拓展转换为目标数据的数据重组方法具有很大的缺点,主要表现在:1)现有的FIFO只能实现1:2t或者2t:1的位宽比,(t为整数),因而不能实现任意位宽比下的数据重组。2)增加无效位的方法加大了目标数据的冗余度,同时也给后端接口的实现增加了时序上的难度。12位位宽的原始数据通过4位拓展,转换为16位位宽的目标数据后,目标数据中有4位是无效的,没有任何含义,如果目标数据直接存储在存储器中,存储器的冗余度达到了25%,即白白浪费了25%的存储空间。并且在同样的时钟速率下,数据位宽增大了25%,数据的吞吐率也增大了25%,这势必给后端接口的实现增加了时序上的难度。3)删减无效位的方法降低了数据的精度。因此,现有技术存在缺陷,需要改进。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于FPGA的数据重组方法。本专利技术的技术方案如下:一种基于FPGA的数据重组方法,其中,包括以下步骤:步骤1:计算相关参数,假定原始数据位宽为m位,目标数据的位宽为n位,求出m和n的最小公倍数p的值,并且求出最小公倍数p与原始数据位宽m的商j及最小公倍数p与目标数据位宽n的商k,则j=p/m,k=p/n;步骤2:构建相应的数据重组装置,在FPGA中构建相应的数据组合单元、数据缓存单元以及数据拆分单元,以及锁相环;步骤3:启动数据重组流程所述的数据重组方法,其中,所述步骤1中,所述数值m、n、p、j和k均为自然数。所述的数据重组方法,其中,所述步骤2中,所述锁相环的三个输出时钟设置与原始数据的随路时钟clkin保持相位一致,并且,第一时钟clk1=clkin;第二时钟clk2=clkin*m/p;第三时钟clk3=clkin*m/n。所述的数据重组方法,其中,所述步骤2中,所述数据组合单元由j个位宽为m位的寄存器组成,其工作时钟为clk1,原始数据为数据组合单元的输入接口,j个寄存器的输出共同作为数据组合单元的输出接口,在数据组合单元内部,j个寄存器顺序相连,前一个寄存器的输出作为下一个寄存器的输入。所述的数据重组方法,其中,所述步骤2中,所述数据缓存单元为一个位宽为p位的寄存器,其工作时钟为clk2,其输入接口与数据组合单元的输出接口相连,其输出接口与数据拆分单元的输入接口相连。所述的数据重组方法,其中,所述步骤2中,所述数据拆分单元由一个模k计数器和一个选择器组成,其工作时钟为clk3,其输入接口与数据缓存单元的输出接口相连,其输出接口为目标数据。在数据拆分单元内部,模k计数器从1到k循环计数,计数器的计数值实时输出到选择器的控制端口,选择器的输入接口位宽为p位,输出接口位宽为n位。所述的数据重组方法,其中,所述步骤3的具体步骤为:步骤301:设定4个pop时间点:pop1、pop2、pop3和pop4;其中pop1为数据重组起始点,pop2与pop1间隔一个clk2时钟周期,pop3与pop2间隔一个clk2时钟周期,pop4与pop3间隔一个clk3时钟周期;步骤302:在pop1时刻,数据组合单元开始工作,相邻的j个m位位宽的原始数据经过数据组合单元会转换为一个p位位宽的中间数据,并且送入到数据缓存单元;步骤303:在pop2时刻,数据缓存单元开始工作,数据缓存单元对中间数据进行一个时钟周期的缓存之后送入到数据拆分单元;步骤304:在pop3时刻,数据拆分单元开始工作,模k计数器循环输出计数值1、2…k,并且送入选择器中。当计数值为1时,选择器的输出等于输入接口的第1位到第n位,当计数值等于2时,选择器的输出等于输入接口的第n+1位到第2n位,依次类推,当计数值等于k时,选择器的输出等于输入接口的最高的n位;步骤305:从pop4时刻开始,选择器的输出接口即会在clk3=clkin*m/n的时钟下,输出连续的目标数据。采用上述方案:1、原始数据与目标数据的吞吐率相等。当低位宽的原始数据重组为高位宽的目标数据时,不会由于增加无效位导致冗余率增加,也不会给后端接口的实现增加时序上的难度;当高位宽的原始数据重组为低位宽的目标数据时,不会因为删减有效位降低原始数据的精度。2、能够实现任意位宽比下的数据重组。附图说明图1所示为本专利技术方法的基本原理图。图2所示为图1中各个时钟的相对关系示意图。图3所示为图1中的数据组合单元结构图。图4所示为图1中的数据拆分单元结构图。具体实施方式以下结合附图和具体实施例,对本专利技术进行详细说明。实施例1本专利技术抛弃了传统方法一次转换实现数据重组的思想,而是通过二次转换来实现,其基本思路为:第一次转换时,通过数据组合单元,将连续的多个原始数据转换为一个高位宽的中间数据,并且送入数据缓存单元。第二次转换时,通过数据拆分单元,将中间数据转换为连续的多个目标数据。本专利技术方法的实现步骤:步骤一:计算相关参数。求出原始数据位宽和目标数据位宽的最小公倍数,并求出最小公倍数与两个位宽值的商。步骤二:构建相应的数据重组装置。根据步骤一中求出的参数,在FPGA中构建相应的数据组合单元、数据缓存单元以及数据拆分单元,以及锁相环。步骤三:启动数据重组流程。为更好的理解本专利技术,假定原始数据和目标数据的位宽分别为m位和n位(m和n均为自然数),结合图1、图2、图3和图4,本专利技术方法的实现步骤包括:步骤一:计算相关参数。求出m和n的最小公倍数(假定其数值为p,p为自然数),并且求出最小公倍数与两个位宽数值的商(假定其数值分别为j和k,即j=p/m,k=p/n,j和k均为自然数)。步骤二:构建相应的数据重组装置。在FPGA中构建一个锁相环。锁相环的三个输出时钟除了与原始数据的随路时钟clkin保持相位一致外,还存在以下的频率关系:clk1=c本文档来自技高网
...
一种基于FPGA的数据重组方法

【技术保护点】
一种基于FPGA的数据重组方法,其特征在于,包括以下步骤:步骤1:计算相关参数,假定原始数据位宽为m位,目标数据的位宽为n位,求出m和n的最小公倍数p的值,并且求出最小公倍数p与原始数据位宽为m位数值的商j及最小公倍数p与目标数据位宽n位数值的商k,则j=p/m,k=p/n;步骤2:构建相应的数据重组装置,在FPGA中构建相应的数据组合单元、数据缓存单元以及数据拆分单元,以及锁相环;步骤3:启动数据重组流程。

【技术特征摘要】
1.一种基于FPGA的数据重组方法,其特征在于,包括以下步骤:步骤1:计算相关参数,假定原始数据位宽为m位,目标数据的位宽为n位,求出m和n的最小公倍数p的值,并且求出最小公倍数p与原始数据位宽m的商j及最小公倍数p与目标数据位宽n的商k,则j=p/m,k=p/n;步骤2:构建相应的数据重组装置,在FPGA中构建相应的数据组合单元、数据缓存单元以及数据拆分单元,以及锁相环,所述锁相环的三个输出时钟设置与原始数据的随路时钟clkin保持相位一致,并且,第一时钟clk1=clkin;第二时钟clk2=clkin*m/p;第三时钟clk3=clkin*m/n;步骤3:启动数据重组流程;具体步骤为:步骤301:设定4个pop时间点:pop1、pop2、pop3和pop4;其中pop1为数据重组起始点,pop2与pop1间隔一个clk2时钟周期,pop3与pop2间隔一个clk2时钟周期,pop4与pop3间隔一个clk3时钟周期;步骤302:在pop1时刻,数据组合单元开始工作,相邻的j个m位位宽的原始数据经过数据组合单元会转换为一个p位位宽的中间数据,并且送入到数据缓存单元;步骤303:在pop2时刻,数据缓存单元开始工作,数据缓存单元对中间数据进行一个时钟周期的缓存之后送入到数据拆分单元;步骤304:在pop3时刻,数据拆分单元开始工作,模k计数器循环输出计数值1、2…k,并且送入选择器中;当计数值为1时,...

【专利技术属性】
技术研发人员:孟庆立许建华张超杜会文张世磊
申请(专利权)人:中国电子科技集团公司第四十一研究所
类型:发明
国别省市:山东;37

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

1