本发明涉及数据处理技术领域,具体涉及一种基于FPGA数据位宽转换方法。
背景技术:
数据处理过程中,任意位宽转换在逻辑电路或大规模集成电路设计使用是非常广泛的。需要进行位宽转换操作的原因很多,可能是因为需要降低逻辑内部时钟频率。通过数据位宽转换,将小位宽转换为大位宽数据,就可以降低时钟频率,从而降低逻辑电路的设计难度;时钟频率降低还可以降低逻辑电路或工电路的功耗;后段处理电路需要的数据位宽如果与输入数据位宽不相等,此时就需要进行位宽转换操作。基于上述分析,在逻辑电路设计或供电电路设计中,对于数据位宽的任意转换显得极为重要。
技术实现要素:
本发明的目的是,针对现有技术不足,设计一种基于FPGA数据位宽转换方法,实现数据位宽的任意转换。
本发明通过以下技术方案实现:
一种基于FPGA数据位宽转换方法,其特征在于,基于直接数字式频率合成器DDS相位累加实现:所述直接数字式频率合成器DDS满足以下条件:
fo=K/2^N*fi;
其中fo为输出频率;K为频率控制字;N为频率控制字K和累加和的位宽;fi为输入时钟的频率。
上述设计可以实现任意速率转化;输入数据到输出数据位宽转变,同时伴随着输入数据速率和输出数据速率的转变,类似输入时钟到输出时钟的转变。
位宽转变基于直接数字式频率合成器DDS相位累加字实现:
输入位宽作为相位累加控制字,ACC=ACC+IWIDTH;如果ACC>=OWIDTH则ACC=ACC-OWID