一种多载波QAM映射/解映射电路的方法

文档序号:29869050发布日期:2022-04-30 17:13阅读:471来源:国知局
一种多载波QAM映射/解映射电路的方法
一种多载波qam映射/解映射电路的方法
技术领域
1.本发明属于通信和数字集成电路技术领域,更具体地,涉及一种多载波qam映射/解映射电路的方法。


背景技术:

2.qam(quadrature amplitude modulation)正交幅度调制是一种在两个正交载波上进行幅度调制方式,这两个载波通常是相位差为的正弦波,因此被称作正交载波,这种调制方式因此而得名。从纯粹的数据变换角度来说,qam映射的目标是将一个符号集合(其中的每个符号以二进制表示)映射为复平面上的一个点,其实部和虚部分别为两个正交载波的幅值;qam解映射为其反过程,目标是将复平面上的一个点恢复为以二进制表示的符号。类似于其他数字调制方式,qam映射方案可以用星座图方便地表示,星座图上每一个星座点对应于符号集中的一个符号,设正交幅度调制的发射符号集大小为 n,称之为n-qam。qam广泛用作数字电信系统的数字调制方案,例如 802.11 wi-fi 标准就采用了qam作为映射方法,通过设置合适的符号集合大小,qam 可以实现任意高的频谱效率,仅受通信信道的噪声水平和线性度的限制。在信道状况良好,通信数据极高的场景,如光纤通信中,高阶qam调制(如256-qam)也被广泛使用。
3.由于对qam映射/解映射进行比特和功率加载是近年发展出的技术,目前对这一通信方法的实现大部分没有进入工程阶段,是通过通用处理器,而非专用芯片实现,亦没有公开的直接生成相应模块的方法。在工程上的做法是分别实现独立的、面向不同调制阶数的调制解调模块,然后通过数据分发/收集网络进行复用。但是,采用这种方式,由于在qam映射/解映射模块的设计上,没有复用不同阶数映射/解映射过程中的公共部分,而是以分立单元实现,带来了计算上的冗余;为实现可重配的比特分配,实现了两个大规模的数据分发/收集网络,然而,比特分配的重新配置并不是高频事件(其间隔往往以小时,甚至以天为单位),因此这两个网络的能力基本是冗余的。综上,现有的方式会导致更大的芯片面积开销,其开销随并行度n呈增长,更长的关键路径时延,随并行度n快速增长,更高的功耗,以及,需要在已有的qam映射/解映射模块的基础上开发,如果通过购买ip得到调制解调模块,完整模块的实现会被限制在特定体系结构下(如某家特定商业公司的fpga)。


技术实现要素:

4.本发明为克服上述现有技术中的缺陷,提供一种多载波qam映射/解映射电路的方法,提高了效率,降低了时延及芯片面积开销。
5.为解决上述技术问题,本发明采用的技术方案是:一种多载波qam映射/解映射电路的方法,包括以下步骤:s1. 硬件描述文件(.v文件)和rom文件(.bin文件)通过spinalhdl语言产生;s2. rom生成:1.根据目标模块所需要支持的映射阶数和功率分配,产生所有阶数的星座图符号数据,按照映射模块的地址分配方式产生rom文件,记为symbol.bin;2.根据
目标模块所需要支持的解映射阶数和功率分配,产生所有阶数所需的判决阈值,按照解映射模块的地址分配方式产生rom文件,记为threshold.bin;s3. 数据分发/收集网络生成:1.使用spinalhdl语言编写生成如下生成器:a.对于比特分配网络,根据当前比特分配,将输入比特逐个连接到输出端的有效比特位,并将分配数小于位宽端口的无效比特位置记为0;b.对于比特收集网络,根据当前比特分配,将输入比特中的有效比特位逐个连接到输出,并将输入中的无效比特位置记为0;2. 根据初始比特分配,产生比特分配网络和比特收集网络的硬件描述文件,记为bitalloc.v和bitcombine.v;s4. 自适应模块生成:1.按照映射模块的硬件架构,连接地址译码电路和symbol.bin所描述的rom,构成自适应qam映射模块;2.按照解映射模块的硬件架构,连接模式输入和threshold.bin所描述的rom,使用rom的输出驱动阈值判决的减法器流水线,再根据当前的orderin输入补0,构成自适应qam解映射模块;s5. 完整模块生成:1.使用spinalhdl语言编写使用数据分配网络驱动自适应qam映射模块的完整映射模块,这个模块调用了symbol.bin和bitalloc.v;2.使用spinalhdl语言编写使用自适应qam解映射模块驱动数据收集网络的完整解映射模块,这个模块调用了threshold.bin和bitcombine.v;s6. 代码部署:1.将两个完整模块的代码通过vivado综合得到网表;2.在vivado中指定可重构区域所属的pblocks;3.在vivado中布局布线,生成比特流,部署到具体应用所使用的fpga上。
6.在其中一个实施例中,当信道状况发生变化,需要改变比特和功率分配时,使用动态逻辑重构技术dfx,首先,根据新的比特和功率分配,生成threshold.bin,symbol.bin,bitalloc.v和bitcombine.v;将这些文件通过vivado综合布局布线,生成部分比特流(partial);最后,对使用中的fpga进行部分编程,在不停止系统其它功能的同时,改变比特分配。
7.进一步的,所述的动态逻辑重构技术dfx包括:在fpga设计上,划分出一块可重构区域,在规定了其接口和在片上的区域之后,在片上其它逻辑保持运行的同时,暂停可重构区域写入新的部分比特流,以采用dfx的映射硬件实现新的功能。
8.在其中一个实施例中,所述的映射模块的地址分配方式包括:1.根据映射阶数,将高阶映射的符号表置于地址低位,从最高阶数到最低阶数逐个分配;2.如果最高阶数到最低阶数之间有不支持的阶数,则在空缺部分补0。
9.在其中一个实施例中,所述的解映射模块的地址分配方式包括:将每种不同位宽模式的阈值放在不同地址,对于低位宽的状况,在不使用的阈值上预写0。
10.在其中一个实施例中,在进行阈值判断时,使用上一次判决时,输入与阈值相减结果的绝对值作为下一次判决的依据,具体包括:记输入为x,第n次判决后,用于下一次判决的数值为,那么,判决结果由的正负性决定:

11.在其中一个实施例中,所述的映射模块的硬件架构包括以下端口,orderin接口,位宽为,用于输入当前映射阶数的位宽;bitsin接口,位宽为用于输入数据(bits);symbolout接口,位宽为,用于符号输出;其中,为,w为输出复数信号的定点位宽。
12.在其中一个实施例中,所述的解映射模块的硬件架构包括以下端口:orderin接口,位宽为,用于输入当前映射阶数的位宽;symbolin接口,位宽为,用于符号输入;bitsout接口,位宽为,用于输出判决结果。
13.在其中一个实施例中,所述的自适应qam映射模块通过orderin接口和bitsin接口输入确定目标符号的地址,从符号rom中取出目标符号的绝对值,并根据高位msb/低位msb来决定是否对实部/虚部取反,以得到最终结果。
14.在其中一个实施例中,所述的自适应qam解映射模块以orderin输入作为地址从阈值存储器中取出需要的阈值,同时提供给实部和虚部解映射的减法器电路,两套解映射的减法器电路以symbolin的实部和虚部作为输入,通过逐级的减法和取绝对值运算,以各级结果的符号位作为判决结果,最终,以实部判决结果为高位,虚部判决结果为低位合成完整判决结果。
15.与现有技术相比,有益效果是:本发明提供的一种多载波qam映射/解映射电路的方法,可以在不同阶数解映射之间复用计算单元,并最小化计算量和阈值存储量的解映射算法;本发明将不同阶数的qam调制解调整合到单一模块中,并最大化地利用了不同阶数的映射/解映射之间的公共部分,减小了面积开销;另外,还利用了dfx技术,创造性地解决了比特分配的数据分发和收集问题,极大地改善了芯片面积和时序。
附图说明
16.图1是4~64-qam映射星座图。
17.图2是qam-分立元件系统示意图。
18.图3是16-qam标准星座图。
19.图4是qam-单个分立模块示意图。
20.图5是实施例1中提供的qam-映射模块的地址分配示意图。
21.图6是实施例1中提供的自适应qam-映射模块结构示意图。
22.图7是64-qam星座图中的阈值。
23.图8是格雷码递归对称性示意图。
24.图9是实部/虚部判决计算流示意图。
25.图10是实施例3中提供的阈值的地址映射方案示意图。
26.图11是实施例3中提供的自适应qam-解映射模块结构示意图。
27.图12是简化后的多载波qam映射示意图。
28.图13是简化后的多载波qam解映射示意图。
29.图14是比特分发网络示意图。
30.图15是进行范围约束后的多路选择示意图。
31.图16是实施例4中固定比特分配的数据分发示意图。
32.图17是实施例4中固定比特分配的数据分发示意图。
33.图18是dfx概念图。
34.图19是采用dfx的映射硬件示意图。
35.图20是用dfx的解映射硬件示意图。
36.图21是设计-运行流程及工具示意图。
37.图22是本发明流程示意图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。下面结合具体实施方式对本发明作在其中一个实施例中说明。其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
39.在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,全文中出现的“和/或”的含义为,包括三个并列的方案,以“a和/或b”为例,包括a方案,或b方案,或a和b同时满足的方案。
40.在进行具体实施例之前,对相关内容做简单介绍。
41.1、带有比特和功率加载的自适应qam映射/解映射在多载波系统中,一种带有比特加载和功率加载的qam映射/解映射技术被发展出来比特加载:qam映射的有效性受到信道状况的约束,对于状况较差的信道,应当使用较低阶数的映射方案;对于状况良好的信道,则可以使用较高阶的映射方案,提升频谱效率。在多载波通信系统中,如果能够对不同的子载波使用不同的映射方案,无疑是对系统性能和功耗有益的(并且,已经被大量的研究和实践证明),这一特性称为比特加载。
42.功率加载:在多载波通信系统中,如果能够根据信道状况,调整在不同载波上的发射功率,也是有益的,这一特性被称为功率加载。
43.自适应:随着信道状况的变化,比特加载和功率加载的方式应当能够动态地调整,这一特性称为自适应。
44.使用下面的参数刻画一个多载波系统中,带有比特和功率加载的自适应qam映射
过程:载波数量c,符号平均长度w,完整符号长度,比特分配;比特分配指定了每个载波上的符号长度,应当有,比特分配值是对应映射阶数的”位宽”;功率分配,功率分配指定了每个载波上分配的功率系数,其分布应当在1附近。
45.比特分配和功率分配由上位机/嵌入式处理器产生,在较长的一段时间内保持不变,根据上面的定义,若记原有的n-qam映射函数为其中x是一个长度为比特的符号,y是复平面上的一个点,那么自适应qam映射过程如下:1.将长度为w比特的输入依据比特分配分成c个符号;2.对于输入载波i的符号x_i,将其映射为。
46.解映射过程仍然是映射过程的反过程,即通过复平面上的点y反推x的过程。根据上面的定义,如果特定阶数的qam映射/解映射模块已被实现,一种直接的自适应qam模块实现方式是在发射端,将w比特数据分发到多个由待选模块组成的小组进行映射;在接收端端,使用多个小组进行解映射并收集结果进行拼接,如图2所示。
47.2、标准星座图所具有的性质采用格雷码顺序的标准星座图有以下性质:符号在四个象限上是对称的;实部和虚部的映射是可分离的,如果将输入比特一分为二,实部只与高位有关,虚部也与低位有关,是不和虚部具有相同的映射方法(格雷码),和相反的顺序。
48.以图3中的16-qam星座图为例,实部与高位的对应映射关系是00
→‑
3, 01
→‑
1, 11

1, 10

3,低位与虚部的映射关系也是10
→‑
3, 11
→‑
1, 01

1, 00

3。
49.实施例1本实施例提供一种自适应qam映射模块。
50.为了降低实现开销,相比图4中所示的分立实现方式,首先实现一个自适应qam映射模块,用于支持n种不同的映射阶数,将其位宽记为[qam-单个分立模块组合.drawio.png]。
[0051]
对于这个模块,设计如下表所示的端口,其中为,w为输出复数信号的定点位宽。
[0052]
qam映射的过程是一个纯粹的查表过程,首先对待查表进行简化。由于实部和虚部是可分离的,所以相比于存储完整的复数符号表,只需存储两个独立的实数符号表。
[0053]
对于具有位宽b的映射模式,这将总存储量由bits降低到了bits降低到了,进一步地,由于实部和虚部都关于坐标轴对称,幅值存储量可以降低到,以16-qam为例,如图3所示,记所有符号的均方根为rms,仅需实现两个rom,均存储和这两个w位数值。
[0054]
对于支持多种模式的自适应模块,当b增加2,每个rom中存储的w位数值数量变为,变为原先的2倍,具体来说,4-qam的rom中存储1个数值,16-qam中存储2个。
[0055]
因此,相比使用多个rom和多路选择器构成的复杂逻辑,一种更加直接和简单的方法是将所有待查结果放在同一个rom,通过良好的地址分配,将复杂的选择逻辑转化为简单的地址生成逻辑,给出下面的地址分配方案,如图5所示:1.根据映射阶数,将高阶映射的符号表置于地址低位,从最高阶数到最低阶数逐个分配;2.如果最高阶数到最低阶数之间有不支持的阶数,则在空缺部分补0。
[0056]
在这样的地址分配方案下,可以通过orderin输入决定地址的高位部分,而地址的低位部分则可以直接使用bitsin输入(图5中的x部分),原本复杂的选择逻辑被简化为一个以orderin为输入的简单译码器。
[0057]
完整的自适应qam映射模块由地址生成电路、符号rom和象限判决组成,如图6所示;自适应qam映射模块通过orderin接口和bitsin接口输入确定目标符号的地址,从符号rom中取出目标符号的绝对值,并根据高位msb/低位msb来决定是否对实部/虚部取反,以得到最终结果。
[0058]
实施例2本实施例提供一种基于阈值判决的qam解映射算法。
[0059]
qam解映射是基于最小欧氏距离进行判决,在硬件上计算欧氏距离并找出最小值是一个不现实的方案,一种简化方法是找出星座图上各个符号的分界线作为阈值进行判决。
[0060]
从数形结合的角度来说,对于一个规则的正方形星座图,相邻符号间的垂直平分线总是平行于实轴或虚轴,因此,符号属于分界线的哪一边可以通过判断其实部/虚部与阈值的大小关系来确定。如图7所示,画出了64-qam星座图平行于虚轴的所有垂直平分线,要判断复平面上的点属于其划分的哪个区间,只需判断其实部与阈值间的大小关系。
[0061]
由于标准星座图象限间的对称性,以及实部和虚部的可分离性,进一步地,格雷码本身具有对称性,这种对称性是递归的,如图8所示,因此,每一次阈值判决的结果可以唯一地决定格雷码中的一位,对于一个位宽为b的映射模式,可以通过对实部和虚部分别进行b/2次阈值判决来完成解映射,其中第一个阈值必定为0。
[0062]
此外,不需要存储和选择所有可能的阈值用于判决,实际上,每一次判决都带来可行解数量的减少,而剩余的可行解总是相对于下一次判决所需的阈值对称,因此,可以使用上一次判决时,输入与阈值相减结果的绝对值(实际上,这将可行解做了一次一阈值为中心的”折叠”)作为下一次判决的依据。
[0063]
如图9所示,64-qam在实部上的判决流程,对应于6次比较(减法),使用折叠方法的流程如下:1.
ꢀ‑
0,得到0.5,根据结果》0,判决出最高位1.取绝对值得到0.5;2.
ꢀ‑
4,得到-3.5,根据结果《0,判决出1.取绝对值得到3.5;3.-2,得到1.5,根据结果》0判决出0;4.最终判决结果为110。
[0064]
如果不利用这种方式,需要存储[-6,-4,-2,2,4,6]这全部6个阈值,并在每次比较前,通过之前的比较结果选择下一个阈值;而采用本实施例提供的方式,只需要存储阈值[4,2],并且比较过程与先前的比较结果无关,无需实现复杂的选择逻辑,最终结果仅由每次比较决定。
[0065]
给出上面方法的正式定义,记输入为x,第n次判决后,用于下一次判决的数值为,那么,判决结果完全由的正负性决定:的正负性决定:应当注意,在归一化的qam解映射中,判决阈值并不如上面图中所使用的为2,4,6,8...,而是除以当前星座图中符号均方根后的结果。不过,因为阈值的改变是线性的,其判决流程不因这种改变而变化,同样地,下文中描述的"折叠"方法的有效性也不因这种线性变换改变,因此,还是使用星座图当中的阈值来进行讨论。
[0066]
实施例3本实施例提供了一种自适应qam解映射模块。
[0067]
一个自适应qam映射解模块支持n种不同的映射阶数,将其位宽记为。对于这个模块,设计如下表所示的的端口,其中为,w为输出复数信号的定点位宽。
[0068]
根据实施例2中对解映射算法的讨论,对于位宽的解映射流程中实际上已经包含所有其它更小位宽模式解映射的流程,只需要实现对应于的计算通路,并在其它模式下复用这个通路即可,具体来说:1.对冗余的判决步骤中使用阈值0(因此,减去阈值不会影响后续判决);2.对需要的判决步骤,加载当前位宽模式所使用的阈值。
[0069]
根据这个解调方法,对于实部/虚部的判决,可以设计出相应的硬件结构,如图9所示,根据当前位宽模式,从阈值rom当中取出合适的阈值送到各个判决步骤的减法器端口,
中间结果的符号位比特直接决定了判决结果。
[0070]
对于每一种位宽为b的映射阶数,其解映射所使用的阈值数量不超过-1,因此,即使对于包含qam4~1024的解映射模块,在进行qam1024解映射时,也仅需要5-1=4个阈值。因此,相比存储空间的优化,对地址生成逻辑的简化更加重要,将每种不同位宽模式的阈值放在不同地址,对于低位宽的状况,在不使用的阈值上预写0,如图10所示。
[0071]
这样,可以通过一个rom同时为实数部分和虚数部分的计算通路提供阈值。完整的自适应qam解映射硬件架构,如图11所示。自适应qam解映射模块以orderin输入作为地址从阈值存储器中取出需要的阈值,同时提供给实部和虚部解映射的减法器电路,两套解映射的减法器电路以symbolin的实部和虚部作为输入,通过逐级的减法和取绝对值运算,以各级结果的符号位作为判决结果,最终,以实部判决结果为高位,虚部判决结果为低位合成完整判决结果。
[0072]
实施例4本实施例提供一种使用dfx技术消除数据收集/分发网络和功率加载开销的方法。
[0073]
根据实施例1至3,将多个分立qam映射/解映射模块合并为自适应映射/解映射模块之后,模块整体架构如图12、图13所示。
[0074]
但是,数据分发/收集网络仍然会带来很大的硬件开销,以数据分发网络为例,如图14所示,其本质上是一个非常庞大的多路选择器网络,由c个从w bits中选择bits的多路选择器组成。
[0075]
一个可能的优化是,对可能的选择范围加以约束,不再从w bits中,而是从一个更精确的范围中进行选择,如图15所示,但即使如此,对于一个典型的高速系统,如果采用256个子载波,每个符号平均4 bits,支持qam4~qam256,仍然需要实现256个超大规模的(8选8-768选8)的多路选择器。
[0076]
当比特分配确定时,数据分发网络的功能实际上能够被一组片上的布线所实现,如图16所示,这个区域中,这个区域具有固定的接口,并且只占用布线资源,而不占用逻辑资源,对于数据收集网络也是如此,如图17所示。
[0077]
更具体地说,如图16所示,对于比特分配网络,根据当前比特分配,将输入比特逐个连接到输出端的有效比特位,并将分配数小于位宽的端口的无效比特位置记为0。如图17所示,对于比特收集网络,根据当前比特分配,将输入比特中的有效比特位逐个连接到输出,并将输入中的无效比特位置记为0。
[0078]
因此,可以通过dfx技术动态重构该区域,而非实现两个能够支持任意比特分配的网络。
[0079]
dfx(dynamic function exchange)是xilinx推出的,fpga上的动态逻辑重构技术,其它的fpga厂商(如intel)也支持相似的技术,只是通过不同的术语来描述,其概念如下,如图18所示:在fpga设计上,可以划分出一块可重构区域,在规定了其接口和在片上的区域之后,可以在片上其它逻辑保持运行的同时,暂停可重构区域写入新的部分比特流,以采用dfx的映射硬件实现新的功能。
[0080]
上面的设计中,如果使用dfx技术,将数据分发和收集网络作为可以可重构的布线块实现,那么就能减少超过95%以上的逻辑开销。除此之外,如果已经采用了dfx技术,那么
可以在重写数据分发/收集网络比特流的同时,重写映射/解映射模块的符号/阈值rom,这样,可以将本需要通过片上乘法器实现的功率加载通过预计算实现,具体来说,计算出加载功率后的符号和阈值,然后直接写入rom中。
[0081]
在采用dfx技术之后,消去了原设计中的乘法器,并大幅简化了数据分发/收集网络的实现如图19和图20所示。
[0082]
实施例5如图22所示,本实施例提供一种多载波qam映射/解映射电路的方法。
[0083]
实施例1至是实施例4的内容,在使用了自适应映射/解映射模块的同时,并通过dfx技术实现数据分发/综合网络的完整实现流程如下,即一种多载波qam映射/解映射电路的方法:s1. 硬件描述文件(.v文件)和rom文件(.bin文件)通过spinalhdl语言产生;s2. rom生成:1.根据目标模块所需要支持的映射阶数和功率分配,产生所有阶数的星座图符号数据,按照映射模块的地址分配方式(实施例1所提供的地址分配方式)产生rom文件,记为symbol.bin;2.根据目标模块所需要支持的解映射阶数和功率分配,产生所有阶数所需的判决阈值,按照解映射模块的地址分配方式(实施例3所提供的地址分配方式)产生rom文件,记为threshold.bin;s3. 数据分发/收集网络生成:1.使用spinalhdl语言编写生成如图16和17所示的生成器:a.如图16所示,对于比特分配网络,根据当前比特分配,将输入比特逐个连接到输出端的有效比特位,并将分配数小于位宽的端口的无效比特位置记为0;b.如图17所示,对于比特收集网络,根据当前比特分配,将输入比特中的有效比特位逐个连接到输出,并将输入中的无效比特位置记为0;2. 根据初始比特分配,产生比特分配网络和比特收集网络的硬件描述文件,记为bitalloc.v和bitcombine.v;s4. 自适应模块生成:1.按照映射模块的硬件架构(实施例1中提供的映射模块的硬件架构),连接地址译码电路和symbol.bin所描述的rom,构成自适应qam映射模块;2.按照解映射模块的硬件架构(实施例3中提供的解映射模块的硬件架构),连接模式输入和threshold.bin所描述的rom,使用rom的输出驱动阈值判决的减法器流水线,再根据当前的orderin输入补0,构成自适应qam解映射模块;s5. 完整模块生成:1.使用spinalhdl语言编写使用数据分配网络驱动自适应qam映射模块的完整映射模块,这个模块调用了symbol.bin和bitalloc.v;2.使用spinalhdl语言编写使用自适应qam解映射模块驱动数据收集网络的完整解映射模块,这个模块调用了threshold.bin和bitcombine.v;s6. 代码部署:1.将两个完整模块的代码通过vivado综合得到网表;2.在vivado中指定可重构区域所属的pblocks;3.在vivado中布局布线,生成比特流,部署到具体应用所使用的fpga上;s7. 当信道状况发生变化,需要改变比特和功率分配时:根据新的比特和功率分配,生成threshold.bin,symbol.bin,bitalloc.v和bitcombine.v;将这些文件通过vivado综合,布局布线,生成部分比特流(partial);对使用中的fpga进行部分编程,在不停止系统其它功能的同时,改变比特分配。在应用的过程中需要不断重复过程s7。在图21中,描述了使用xilinx器件及工具的流程图。
[0084]
在qam映射、解映射模块的部分,由于本发明的映射算法简化了存储寻址,解映射算法复用了计算流程,两种算法都优化了数据存储,因此相比现有实现更优,本发明需要实现c个相同的子模块,因此面积开销随c线性增长。
[0085]
在比特分发和收集网络部分,原有的直接实现需要实现c个平均为c/2选的多路选择器来构成一个网络,其开销随c的增长,呈c2增长;在基于dfx的实现中,只需要预先划出一块用于布线的区域,其占据的布线资源随c增长呈线性增长,将总体的面积开销从二次增长降低为线性增长。
[0086]
在关键路径上,原有的比特分发/收集网络随c的增加,横向规模增加,如果希望达到良好时序,必须进行内部的流水线设计,将会增加寄存器开销;本发明的设计中,随c的增加,横向规模不增加,关键路径长度基本不随c的增长而增长。
[0087]
综上,本发明提出了一种可以在不同阶数解映射之间复用计算单元,并最小化计算量和阈值存储量的解映射算法。本发明将不同阶数的qam调制解调整合到单一模块中,并最大化地利用了不同阶数的映射/解映射之间的公共部分,减小了面积开销。本发明利用dfx技术,创造性地解决了比特分配的数据分发和收集问题,极大地改善了芯片面积和时序。
[0088]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1