逆位序地址产生器的制作方法

文档序号:6585867阅读:239来源:国知局
专利名称:逆位序地址产生器的制作方法
技术领域
本发明属于半导体集成电路技术领域,涉及一种逆位序地址产生器。
背景技术
专用快速傅立叶变换(FFT)通常用于高速实时FFT系统的硬件实现,并且多用于 现代谱估计、图象处理等运算量很大的领域。在常用的按时间抽取进行FFT运算时,如果输 入序列x(n)是按照自然顺序存入存储单元的,那么输出端X(n)的地址是乱序的。如果希望 输出端的次序正好是顺序排列的,那么输入序列x(n)则不能按照自然顺序存入存储单元, 这就使得运算时取数据的地址编排“混乱无序”,这种乱序的原因实质上是由按时间抽取进 行FFT运算的原理造成的。软件实现逆位序的方法很多,如雷道算法(Rader)等。在已经公开的专利中,与 FFT相关的专利共有43个,其中发明专利42个,新型实用专利1个,主要集中在FFT结构和 方法、FFT处理器的实现以及基于FFT的应用方面,如调制解调方法,频谱分析方法等,没有 地址产生的相关专利。但是随着越来越多的专用FFT硬件处理器的出现,以及对速度要求的不断提高, 将逆位序功能放置在专用器件中用硬件实现已经成为一种必然。但是逆位序功能的实现在 结构和速度上却千差万别。本专利实现了一种简捷、快速的硬件逆位序实现结构。

发明内容
本发明的目的是解决16 1024点FFT运算中存储器地址的乱序问题,使得最终 运算结果的数据输出是顺序的。如果将整个序列完成一次4点FFT蝶算称为一个“PASS”,那么对于可以完成 16^1024点的器件来说,运算过程最多为5个PASS。FFT运算要求对输入的数据按照一定的规律排序,才能得出正确的结果。如果数据 在进入器件之前已经按要求排好序,那么在器件内部不需要再排序,但如果输入器件的数 据是顺序的,那么在运算之前需要将数据重新排序,排序实际为地址的位反转。为了后续运 算的方便,FFT的最终结果同样也可以是顺序输出或反序输出。如果需要逆位序,只会在第 一个PASS读地址产生时进行,或者为了后续数据处理的需要,在最后一个PASS写地址产生 时进行,在其余的PASS则与之无关。单PASS操作时,SPASS = 1不需要逆位序,将地址发生器原样输出。在FFT运算 时,如果需要重新排序,将会在产生第一个PASS读地址和最后一个PASS写地址时需要逆位 序,第一个PASS的写地址和最后一个PASS的读地址以及其余PASS都不需要反转。为了实现上述目的,本发明采用了如下技术方案一种逆位序地址产生器,由专用译码逻辑单元、运算长度标识产生器单元、顺序中 间地址产生单元和逆位序地址产生单元组成。单次变换长度CR<10>、CR<9>、CR<8>作为专用译码逻辑单元的输入信号,CLK是时钟信号,它们通过组合和译码逻辑电路共同产生了各级选择器的选择信号Kl、K2、K3、K4、 K5、K6、K7、K8、K9、K10 ;单次变换长度CR<10>、CR<9>、CR<8>又是运算长度标识产生器单元的输入信号, 根据CR<10>、CR<9>、CR<8>的取值不同产生不同的运算长度标识信号S2、Si、SO ;顺序中间地址产生单元由四级选择器组成以产生顺序中间地址信号0UT<9>、 0UT<8>、…、0UT<0>。它的输入信号是计数器的10位正常计数值,长度标识信号S2、S1、S0 和选择信号Kl、K2、K3、K4、K5、K6、K7、K8、K9、KlO作为四级选择器的选择信号,其中第一级 选择器的选择信号是运算长度标识信号S2、S1、S0,第二级选择器由K1、K2、K3进行选择,第 三级选择器由Κ4、Κ5、Κ6、Κ7进行选择,第四级选择器由Κ8、Κ9、KlO进行选择;逆位序地址产生单元由六级选择器组成经选择器的选择变换便产生了逆位序地 址信号 AD<9>、AD<8>、...、AD<0>,顺序中间地址 0UT<9>、0UT<8>、...、0UT<0> 是它的输入信 号,运算长度标识信号S2、S1、S0作为每一个选择器的选择信号,第一、四级选择器由Sl进 行选择,第二、五级选择器由SO进行选择,第三、六级选择器由S2进行选择,经这样简单的 变换,便产生了逆位序地址信号AD<9>、AD<8>、...、AD<0>。本发明的优点本发明与现有技术相比,原理新颖,硬件结构简单,由于在电路实现时采用的器件 主要是数据选择器,因此这种实现方法不仅在结构上比较简捷,而且在速度上也具有较大 的优越性,且具有较强的独立性,可以使用在不同的应用环境中,采用上述原理实现的逆位 序电路已经在具体应用中实现,并取得了较好的实际效果。


图1逆位序地址产生原理框图;图2逆位序控制信号产生电路框图;图3顺序中间地址信号产生电路框4逆位序地址实现电路框图;
图5逆位序运算电路图。
具体实施例方式逆位序地址产生原理框图如图1所示,由专用译码逻辑单元、运算长度标识产生 器单元、顺序中间地址产生单元和逆位序地址产生单元组成。逆位序控制信号产生如图2所示,输入信号FPASS_M表示第一个PASS和最后一个 PASS需要逆位序的控制信号,输入信号CR<10>、CR<9>、CR<8>表示单次变换长度,它们通过 组合和译码逻辑电路共同产生了各级选择器的选择信号Kl、K2、K3、K4、K5、K6、K7、K8、K9、 KlO即控制信号。无论哪个PASS有逆位序,地址发生器产生的地址发生逆位序的过程是一样的,而 地址重新排序是由单次变换长度决定的。顺序中间地址信号的产生如图3所示,输入信号 是计数器的10位正常计数值,共需要经过四级选择器,其中第一级选择器的选择信号是运 算长度标识信号S2、S1、S0,它们由单次变换长度信号CR<10>、CR<9>、CR<8>产生出来的,由 CR<10>、CR<9>、CR<8>产生的S2、Si、SO真值表如表1所示。
表1运算长度标识信号S2、Si、SO真值表
点数CR1<10>CR1<9>CR1<8>S2Slso1611011064100100256010010102400000032101101128011011512001001从第二级到第四级共三级选择器的选择信号则由图2中产生的选择信号ΚΙ、K2、 K3、K4、K5、K6、K7、K8、K9、KlO进行选择,由ΚΙ、K2、…、KlO分段对计数器产生的计数值进 行选择控制,其中,第二级选择器由ΚΙ、K2、K3进行选择,第三级选择器由K4、K5、K6、K7进 行选择,第四级选择器由K8、K9、K10进行选择。这样经过四级选择器的选择,就产生了顺序 中间地址信号 0UT<9>、0UT<8>、...、0UT<0>。真正逆位序地址信号在图4中产生。将图3中产生的顺序中间地址0UT<9>、 0UT<8>、…、0UT<0>输入进来,整个逆位序部分共有六级选择器,每一级选择器均由一个运 算长度标识信号S2、S1、SO进行选择,第一、四级选择器由S1进行选择,第二、五级选择器由 SO进行选择,第三、六级选择器由S2进行选择,经这样简单的变换,便产生了逆位序地址信 号 AD<9>、AD<8>、...、AD<0>。下面分别叙述各种长度FFT变换时的地址产生和逆位序地址的产生。1、正常点数第一个或最后一个PASS的逆位序逆位序运算见图5。(1) 16 点S2 = 1,Sl = 1,SO = 1,输入第一级MUX的数据为^9a8a7af5a5a4a3a2a1ac1经过两级MUX,进入第三级时变成,
再经过两级MUX后变成这就是输出的地址。例如地址发生器的地址为32107654ba9 8......经过逆位序后变成C 4 8 0 e 6 a 2 d 5 9 1……,满足了数据重新排序的要求。(2)64 点S2 = 1,Sl = 0,SO = 0,输入经过两级MUX进入第三级的输入为a9a8a7a6aoaia2a3a4a5然后将这个数据输出即为所需要的地址。地址发生器的地址为
30 20 10 0 31 21 11 1......经过逆位序后变成30 10 20 0 31 11 21 1......(3)256 点S2 = 0,Sl = 1,SO = 0,全部地址高低位颠倒后进入第三级MUX,变成Etc1a1a2a3a4a5aea7a8a9,经过第四级MUX 后变成3於抖於#沟沟4 3沟7,然后输出作为排序后的地址。地址发生器的地址为CO 80 40 0 Cl 81 41 1......经过逆位序后变成CO 40 80 0 Cl 41 81 1......(4) 1024 点S2 = 0,Sl = 0,SO = 0,将全部地址的高低位颠倒后变成3於#沟沟4 3沟沟沟9,作为地址输出。正常点数变换的逆位序的过程,实际是将地址低4位或6位或低8位或全部位高 低位全部颠倒后仍放在原来的低位上而实现的。地址发生器的地址为400 300 200 100 401 301 201 101......经过逆位序后变成400200 300 100 401 201 301 101......2中间点数时最后一个PASS的逆位序(1)32 点S2 = 1,Sl = 0,SO = 1,输入地址agaga^a^a^a^o经过一级MUX后变成agaga^aoa^a^as,经过第二级 MUX后变成 a8a7a6a5a0aia2a3a4a5, 经过第五级MUX之后变成这就是逆位序 后的地址。如输入地址为3 2 1 0 7 6 5 4经过逆位序后变成18 08 10 00 IC OC 14 04(2) 128点输入地址agaj^aeasapshaiaQ经过第三级MUX后高低位全部颠倒,变
经过第四级MUX后变成
经过第五级MUX后变成
a9a8a7a6a0aia2a3a4a5a6, 作为输出地址。(3) 512点将输入地址高低位全部颠倒后,再补充最高位变S9ac1a1a2a3a4a5aea7a8输 出ο可以看出中间点数的逆位序实际是分别将低5位,低7位或9位全部颠倒后仍放 在原来的低位上而产生的。这样就实现了从16点 1024点FFT运算的所有逆位序要求。
权利要求
1. 一种逆位序地址产生器,其特征在于包括专用译码逻辑单元、运算长度标识产生 器单元、顺序中间地址产生单元和逆位序地址产生单元;单次变换长度CR<10>、CR<9>、CR<8>作为专用译码逻辑单元的输入信号,CLK是时钟 信号,它们通过组合和译码逻辑电路共同产生了各级选择器的选择信号Kl、K2、K3、K4、K5、 K6、K7、K8、K9、K10 ;运算长度标识产生器单元根据输入的单次变换长度CR<10>、CR<9>、CR<8>的不同取 值,产生不同的运算长度标识信号S2、Si、SO ;顺序中间地址产生单元由四级选择器组成,以产生顺序中间地址信号0UT<9>、 0UT<8>、…、0UT<0>,它的输入信号是计数器的10位正常计数值,长度标识信号S2、Si、SO 和选择信号K1、K2、K3、K4、K5、K6、K7、K8、K9、K10作为四级选择器的选择信号,其中第一级 选择器的选择信号是运算长度标识信号S2、S1、S0,第二级选择器由K1、K2、K3进行选择,第 三级选择器由Κ4、Κ5、Κ6、Κ7进行选择,第四级选择器由Κ8、Κ9、KlO进行选择;逆位序地址产生单元由六级选择器组成,顺序中间地址0UT<9>、0UT<8>、…、0UT<0>是 它的输入信号,运算长度标识信号S2、Si、SO作为每个选择器的选择信号,第一、四级选择 器由Sl进行选择,第二、五级选择器由SO进行选择,第三、六级选择器由S2进行选择,经选 择器的选择变换便产生了逆位序地址信号AD<9>、AD<8>、…、AD<0>。
全文摘要
本发明属于半导体集成电路技术领域,特别涉及一种逆位序地址产生器,以解决16~1024点FFT运算中存储器地址的乱序问题,使得最终运算结果的数据输出是顺序的。逆位序地址产生器由专用译码逻辑单元、运算长度标识产生器单元、顺序中间地址产生单元和逆位序地址产生单元组成。其中顺序中间地址产生单元和逆位序地址产生单元均采用选择器构成,不仅在结构上比较简捷,而且在速度上也具有较大的优越性,并且硬件结构简单可以使用在不同的应用环境中,并取得了较好的实际效果。
文档编号G06F17/14GK102110077SQ200910251519
公开日2011年6月29日 申请日期2009年12月25日 优先权日2009年12月25日
发明者刘小淮, 刘霞, 张瑾, 汪健, 陈亚宁 申请人:华东光电集成器件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1