FPGA在软件无线电中的应用.docx

上传人:b****6 文档编号:4295745 上传时间:2022-11-29 格式:DOCX 页数:20 大小:329.94KB
下载 相关 举报
FPGA在软件无线电中的应用.docx_第1页
第1页 / 共20页
FPGA在软件无线电中的应用.docx_第2页
第2页 / 共20页
FPGA在软件无线电中的应用.docx_第3页
第3页 / 共20页
FPGA在软件无线电中的应用.docx_第4页
第4页 / 共20页
FPGA在软件无线电中的应用.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

FPGA在软件无线电中的应用.docx

《FPGA在软件无线电中的应用.docx》由会员分享,可在线阅读,更多相关《FPGA在软件无线电中的应用.docx(20页珍藏版)》请在冰豆网上搜索。

FPGA在软件无线电中的应用.docx

FPGA在软件无线电中的应用

Altera中文资料

FPGA在软件无线电中的应用

介绍

软件无线电(SDR)是具有可重配置硬件平台的无线设备,能够跨多种通信标准。

它们因为更低的成本、更大的灵活性和更高的性能,迅速称为军事、公共安全和商用无线领域的事实标准。

SDR成为商用流行的要紧缘故之一是它能够对多种波形进行基带处理和数字中频(IF)处理。

IF处理将数字信号处理的领域从基带扩展到RF。

支持基带和中频处理的能力增加了系统灵活性,同时减小了制造成本。

基带处理

无线标准不断地进展,通过先进的基带处理技术如自适应调制编码、空时编码(STC)、波束赋形和多入多出(MIMO)天线技术,支持更高的数据速率。

基带信号处理器件需要巨大的处理带宽,以支持这些技术中大计算量的算法。

例如,美国军事联合战术无线系统(JTRS)定义了军事无线中20多种不同的无线波形。

一些更复杂的波形所需的计算能力在标准处理器上是每秒数百万条指令(MIPS),或者假如在FPGA实现是数千个逻辑单元。

协处理器特性

SDR基带处理通常需要处理器和FPGA。

在这类应用中,处理器处理系统操纵和配置功能,而FPGA实现大计算量的信号处理数据通道和操纵,让系统延迟最小。

当需要从一种标准切换至另一种标准时,处理器能够动态地在软件的要紧部分间切换,而FPGA能够依照需要完全重新配置,实现特定标准的数据通道。

FPGA能够作为协处理器同DSP和通用处理相连,如此具有更高的系统性能和更低的系统成本。

自由地选择在哪实现基带处理算法为实现SDR算法提供了另一种方式的灵活性。

基带部件也需要足够灵活让所需的SDR功能支持在同一种标准增强版本之间的移植,并能够支持完全不同的标准。

可编程逻辑结合软核处理器和IP,具有了提供在现场远程升级的能力。

图1是一个框图,其中FPGA能够通过IP功能如Turbo编码器、Reed-Solomon编码器、符号交错器、符号映射器和IFFT,专门容易地重配置支持WCDMA/HSPDA或802.16a标准的基带发送功能。

                  图1.两种无线信号的SDR基带数据通道重配置例子

数字IF处理

数字频率变化具有比传统模拟无线处理方式更高的性能。

FPGA提供了一种高度灵活和集成的平台,在这之上以合理的功率实现大计算量的数字IF功能,这在便携系统中是一个关键的因素。

能够在FPGA实现的IF功能包括数字上变频器(DUC)和下变频器(DDC),以及数字预畸变(DPD)和波峰系数削减(CFR),关心降低功放的成本和功率(见图2)

1.      DUC:

数字上变频器     2.      CFR:

波峰系数削减    3.      DPD:

数字预畸变

4.      DDC:

数字下变频器    5.      PA:

功放                        6.      LNA:

低噪放

                     

                      图2.在SDR架构中中频处理单元例子 

数字上变频器

数字格式(在基带处理单元和上变频器之间一般需要)能够顺利地加到上变频器的前端。

这项技术为上变频器提供了全定制的前端,容许信道化的高带宽输入数据。

定制逻辑或软核嵌入式处理器可用来操纵上变频器和FPGA中实现的基带处理单元之间的接口。

在数字上变频中,输入数据在用可调的载波频率进行正交调制之前通过基带滤波和插值。

为了实现插值基带有限冲激响应(FIR)滤波器,必须在速度面积之间进行权衡为特定的标准获得优化的固定或自适应架构。

数控振荡器核也能够产生多种架构,它们具有超过115db无寄生动态范围和特不的高性能。

依照支持的频率分配数量,在FPGA中能够专门容易地例化多个上变频器。

波峰系数削减

3G基于CDMA的系统和多载波系统如正交频分复用(OFDM)的信号具有专门高的峰平比(波峰系数)。

如此的信号会极大地降低基站中功放的效率。

对多波形标准,在FPGA中实现的波峰系数削减技术是一种降低功放成本和复杂度的合算的方式。

数字预畸变

高速移动数据传输采纳非恒包络调制技术如QPSK和正交幅度调制(QAM)。

这对PA的线性度有严格的要求。

DPD线性化技术,包括查找表和多项式方式都能够有效地在包含DSP块的FPGA中实现。

这些DSP块中的乘法器能够在专门高的时钟速率下运行,能够有效地分时实现复数乘法。

当SDR基站中使用FPGA时,FPGA能够为特定的标准重配置来实现合适的DPD算法,有效地线性化PA。

数字下变频器

在接收器侧,数字IF技术能够对IF信号进行采样,在数字域执行信道化和采样率转换。

使用降采样技术,高频IF信号(同时100MHz以上)能够被量化。

因为不同的标准有不同的码片/比特速率,对SDR应用需要非整数采样率,把采样数转换为任何标准差不多码片/比特速率的整数倍。

结论

FPGA提供了通用的计算结构,特不适合于软件无线电中基带和IF数字处理的需要。

另外,结合通用处理器或DSP,它们作为通用处理器或DSP软件处理的硬件协处理器,能够增强功能,改善吞吐量,减小系统成本和降低系统功率。

 

 

作者:

JoelA.Seely

TechnicalMarketingManager

Automotive,IndustrialandMilitaryBusinessUnit

AlteraCorporation

采纳编译增强技术,提高高密度FPGA设计工作效率

现场可编程门阵列(FPGA)体系创新以及向90nm工艺技术的过渡显著提高了FPGA的密度和性能。

FPGA设计人员不仅需要更高的逻辑密度和更快的性能表现,还要求具有嵌入式处理器、数字信号处理(DSP)模块以及其他硬件IP结构等复杂的器件功能。

然而,由于FPGA设计规模越来越大、越来越复杂,为了能够抓住稍纵即逝的市场机会,设计人员必需尽快完成其设计。

 

FPGA器件供应商一直努力提高编译时刻效率,改善时序逼近流程,然而却无法满足设计人员更高效工作的要求。

AlteraQuartus®II软件5.0增强编译技术明显缩短设计迭代时刻,在关键性能通路上进行设计优化,保持性能已达到要求的区域特性不变,该技术是前所未有的,极大的提高了设计效率。

 

编译增强优势 

现在的一个高级FPGA标准编译流程包括RTL综合、布局布线等,高密度FPGA的每次设计编译在任何情况下都要耗费45分钟到4个多小时的时刻,这显然限制了设计人员每天所能进行的迭代次数,可能会少至两次,明显减缓了设计过程。

设计人员采纳标准编译设计流程来优化部分设计时序性能时也会降低设计效率。

这种优化通常不利于逻辑布局,阻碍设计中其他部分的性能,不得不进行额外的多次设计迭代。

 

关于当今的高密度、高性能FPGA设计,必需具有设计和调试时期快速迭代的能力。

AlteraQuartusII软件5.0为高密度FPGA设计提供了最先进的技术,如往常只有专用集成电路(ASIC)才具有的增强设计和编译能力等。

与相应的ASIC相比,FPGA编译效率更高,ASIC即使采纳增强方法,仍需要几小时到几天的时刻来完成编译,而FPGA编译只需要几分钟到几小时的时刻。

 

设计人员采纳QuartusII增强编译技术,能够逐步编译其设计分区,比进行全部设计的标准编译时刻缩短近70%。

性能保留是增强编译技术的另一个要紧优势。

通过只对设计中的一个分区进行编译,能够保持其他部分的性能和结果不变。

这种性能保留特性使设计人员能够以更少的设计迭代,更高效的达到时序逼近

 

 

                                                    QuartusII5.0编译增强设计流程。

 

编译增强使设计人员能够以逻辑和物理分区的形式组织设计,进行综合和适配。

只针对特定设计分区进行新的编译,从而能够显著缩短设计迭代时刻。

编译增强特性有助于基于模块的设计,对没有修改的设计模块,保持其性能不变。

设计人员还能够只对特定设计分区采纳物理综合等优化技术,而不改动其他模块。

 

传统上,一个层次设计在进行逻辑综合和适配之前转换为单一的网表,每修改一次设计,就要对整个设计进行重新编译,减缓了设计过程。

而编译增强特性使设计人员能够沿任意层次边界划分设计分区。

采纳AlteraQuartusII软件,可分不对不同的层次设计分区进行综合和适配。

分区能够组合、合并形成网表后,进入后面的QuartusII编译流程。

重新编译设计时,设计人员能够为每个分区选择使用新的源代码、后综合结果以及后适配结果。

 

编译增强设计流程 

QuartusII编译增强特性改善了标准QuartusII设计流程,使设计人员能够重新使用、保留前次编译结果,节约编译时刻。

在一个标准设计流程中,源代码完成后,假如修改设计中的任何部分,设计都要重新进行编译,处理源代码,布局所有逻辑。

采纳这种方法的缘故之一在于能够得到质量最佳的结果。

通过处理全部设计,编译器能够进行全局优化,改善面积大小,提高性能。

然而,关于有些情况,需要采纳增强编译设计流程。

当选好设计中的一个分区,并在器件平面布置中进行布局后,设计人员能够加速其设计编译时刻,而保持结果质量不变,甚至提高结果质量。

 

设计人员可能希望在设计主体完成后,在设计后期修改或优化一个特定模块时,采纳编译增强技术。

在这种情况下,他们能够保持没有改动的模块性能不变,缩短后面迭代的编译时刻。

编译增强特性在有些情况下,能够同时有利于缩短编译时刻和达到时序逼近。

设计中有些分区丢失或不完整时,该特性还能够用于对其他分区进行编译和优化。

 

设计分区和设计层次

通常的设计实践是生成模块化或层次化的设计,对实体分不进行设计,然后在高级工程中例化,形成一个完整的设计。

编译增强技术对设计中的每个实体不自动处理为设计分区;设计人员必需在该工程顶层以下,指定一个或多个层次。

生成分区使编译器不对整个分区边界进行优化,但仍能够通过对每个分区分不进行综合和布局,来实现编译增强技术。

 

                 层次设计使边界独立的分区能够采纳编译增强技术。

 

由于分区必需由层次化的边界进行隔离,因此分区无法成为一个层次化实体中逻辑的一部分。

形成一个分区后,该分区内的每个层次化实体成为同一分区的组成。

设计人员能够在一个已有分区中,为该层次化实体生成新的分区,在这种情况下,新分区中的实体不再是更高级不分区的组成部分。

 

设计分区和物理区域

编译增强特性的设计分区为逻辑分区,有不于器件平面布置图中的物理区域,在平面布置图中,对大小和位置进行了规定。

一个逻辑设计分区不是指器件的物理部分,不用于直接操纵逻辑布局。

 

一个逻辑设计分区在设计层次之间建立一个虚拟边界,因此每个分区分不进行编译,彼此之间可不能发生逻辑优化。

在采纳编译增强技术建立设计时,建议设计人员将每个设计分区分配给一个物理区域,来提高结果质量。

 

生成设计分区的建议

设计人员规划设计时,应牢记每个分区的大小和范围,以及设计中的不同部分在设计过程中会如何样变化。

由于采纳分区时,可不能出现交叉边界优化,设计结果质量以及性能会随着分区数量的增加而下降。

因此,尽管更多的分区能够更大的缩短编译时刻,设计人员依旧应该限制分区数量,防止结果质量下降。

 

在ASIC设计流程中,设计人员要记录每个分区的输入和输出端口,尽可能幸免越过分区边界的任何时延。

此外,设计人员应尽量减少越过分区边界的通路数量,以简化时序逼近处理,也应尽可能以时钟域来划分区域。

 

生成设计平面布置图 

一旦完成设计分区后,设计人员应在器件中为每个分区分配一个物理位置。

分区设计生成平面布置图的最简单方法是对每个分区(包括顶层分区)生成一个物理位置约束。

 

关于采纳编译增强的设计而言,平面布置图位置规划特不重要,这是因为当器件中某个区域的多数资源差不多占用时,它能够关心幸免适配器向该区域放置或替换部分设计。

在这种情况下,其他分区的后适配网表布局迫使适配器在器件的空闲部分放置新的或修改后的分区。

如此做会直接导致两个不利结果。

第一,由于物理约束的数量增多,适配器必需全速运转,因此编译时刻明显延长。

第二,由于目标分区的布局分散在器件中,因此结果质量会下降,有时甚至特不显著。

 

                       带有位置分配的典型器件平面布置图。

 

 

                      不带有位置分配的典型器件平面布置图。

 

 

利用QuartusII早期时序估算器的优势 

早期时序估算器不必进行完整的设计编译,即可提供准确的设计时序估算。

估算结果平均在实际设计性能的11%以内。

设计人员能够采纳时序逼近平面布置图编辑器来查看该功能生成的“布局估算”,识不出关键通路,依照需要加入或修改平面布置图约束。

然后,早期时序估算器能够迅速评估平面布置图位置分配或逻辑修改的效果,对设计变量进行快速迭代,关心设计人员找到最佳方案。

 

分区和平面布置图方案成功的关键

设计人员在为结果生成平面布置图位置分配之前,应对结果进行比较,假如不能符合以下准则,应考虑采纳其他方案:

       在设计分区完成和生成平面布置图位置分配之后,不应观看到fMAX劣化。

在许多情况下,同意fMAX略有增加。

       在设计分区完成和生成平面布置图位置分配之后,面积增加不应超过5%。

       布线时期花费的时刻不应明显增加。

假如布线时刻明显增加,平面布置图位置分配可能产生了大量的布线拥塞。

为关心修改和优化每个分区的位置分配,设计人员可采纳QuartusII软件的时序逼近平面布置图来确定布线拥塞的区域。

 

结论

AlteraQuartusII编译增强技术显著缩短了设计迭代时刻,其性能保留特性是前所未有的,极大的提高了设计人职员作效率。

设计人员采纳该技术每天能够进行4至5次的高密度FPGA设计迭代,而采纳传统编译方法只能进行1至2次迭代,设计迭代时刻减少近70%,明显缩短了全部开发时刻。

编译增强特性实现的性能保留功能使设计人员能够以更少的设计迭代,更高效的达到时序逼近

复用器重构降低FPGA成本

摘要

本文介绍了一种新的能够降低FPGA实际设计20%成本的综合算法。

该算法通过减少复用器所需查找表(LUT)的数量来实现。

算法以效率更高的4:

1复用器替代2:

1复用器树。

算法性能关键在于查找总线上出现的复用器数量。

新的优化方法占用一定的逻辑,这些逻辑由总线进行分担,从而减少了总线上每个比特位所需的逻辑。

关键词

FPGA、复用器、重构、重新编码、总线、逻辑优化、综合。

 

1.    引言

复用器是数据通道常用的构建模块,被广泛应用在处理器[1]、处理器总线、网络交换,甚至是资源共享的DSP设计中。

据可能,复用器一般要占用一个FPGA设计[2]25%以上的面积。

因此,优化FPGA设计的关键在于如何样优化复用器。

本文介绍了一种新的复用器重构算法,该算法减小了复用器在基于4输入查找表(4-LUT)FPGA体系结构中所占用的面积。

基准测试结果表明复用器平均减少了17%,在一些设计中,4-LUT整体减少20%。

2.1节阐述了复用器是如何由行为级VHDL[4]或Verilog[5]代码产生的,2.2和2.3节阐述复用器树和复用器总线在设计中是如何样生成的。

2.4节讲明这些结构如何样由4-LUT实现,阐述如何采纳两个4-LUT有效实现一个4:

1二进制复用器。

第3节介绍了一种叫做压缩的新技术,该技术附加一些操纵逻辑,将多个2:

1复用器重新组合为有效的4:

1复用器,从而减少了为总线上每一个比特位实现复用器所需要的4-LUT数量,所附加的操纵逻辑代价由整个总线来分担。

优化复用器总线是复用器重构算法的核心。

4.1节阐述复用器重构算法如何构建设计中的复用器树总线。

4.2节的重构方法用于执行4.3节中定义的均衡算法。

均衡增加了由压缩生成的有效4:

1复用器的数量。

第5节总结了在AlteraQuartusII集成综合中运行的整个算法。

第6节列出了来自120个Altera真有用户设计实例的基准测试结果,测试表明面积减少超过20%,平均节约了4.2%。

 

2.    背景知识

2.1    复用器在设计中是如何样实现的

行为级HDL设计中的任何条件代码通常会综合为复用器。

本节阐述两个最常用的复用器生成代码实例。

图1是VHDL的case声明及其2:

1复用器树的实现。

采纳Verilogcase声明的“parallelcase”指令[5]可产生相似的结果。

注意,并不是所有的case声明将可能的事件都描述清晰,需要依靠“default”或者“others”条件来进一步讲明。

在这些情况下,能够接着将case声明表征为2:

1复用器树,然而这种树结构可能达不到平衡。

图2显示了“if-then-else”声明是如何样产生一个2:

1复用器链的。

Verilog的“?

:

”和非平行cases可同样产生相似的结构。

注意,复用器链确保假如第一个if条件为“真”,将选择“a”数据输入,而复用器其他部分将被忽略。

本文阐述的复用器重构算法应用于2:

1复用器。

综合工具由行为级代码开始通常会生成较大的复用器。

较大的复用器总是被分解为2:

1复用器树,如何实现这种分解差不多超出本文讨论范围。

 

2.2    复用器树

设计中复用器之间的馈入是常见的现象。

例如,在一段HDL代码中,如下面的图3所示,if-then-else声明中含有case声明就会产生这种现象。

在复用器重构算法中,识不出较大的复用器树关于尽可能减少面积是特不重要的。

 

2.3    复用器总线

VHDL信号或Verilog线宽通常会超过一个比特位。

当采纳if-then-else和case声明时,将会生成大量具有不同数据输入的相同复用器树,图4是一个实例。

一组具有相同结构的复用器称为复用器树总线。

本文阐述的复用器重构技术采纳了新的对整个复用器总线进行优化的方法,它通过由4.1节中进一步阐述的总线识不和形成技术来实现。

 

2.4    复用器代价

在许多情况下,每个2:

1复用器都需要一个单独的4-LUT。

如此,图1和图2中的复用器结构都需要三个4-LUT。

尽管这些结构操纵编码不同,然而它们都具有4个不同的数据输入,因此能够当作4:

1复用器。

本节阐述如何实现只需要两个4-LUT的4:

1复用器。

图5是操纵输入S0低电平常,一个有效的4:

1复用器是如何工作的。

4:

1复用器由两个链接在一起的4-LUT(阴影框所示)构成。

每个4-LUT被设置为含有阴影框中的逻辑功能。

如白框所示,复用器含有四个输入——a、b、c和d,以及两个操纵输入——S0和S1。

S0低电平常,低位操纵比特S1在输入c和d中进行选择,其结果通过第二个4-LUT,将a或者b输入旁路。

图6是操纵输入S0高电平常,一个有效的4:

1复用器是如何工作的。

低位操纵比特S1旁路c和d输入,直接进入第二个4-LUT,对a或者b输入进行选择,其结果成为第二个4-LUT的输出。

第3节描述的压缩算法采纳这种有效的4:

1复用器,重新实现复用器结构,达到了减小面积的目的。

3.    压缩

压缩是将低效的4:

1复用器实现转换为高效实现的过程。

复用器重构算法的面积节约由压缩实现。

然而,在不同的复用器表征中进行转换,通常需要附加操纵逻辑。

实际上,由于附加逻辑结构抵消了使用高效复用器结构的优势,这种转换专门少能够产生真正的面积节约。

而复用器重构算法采纳新颖的将整个复用器总线进行转换的方法,如此,总线上的多个复用器能够共享操纵逻辑,因此,改善后的复用器结构优势可通过总线上的每个复用器来实现。

图7显示了如何将三个2:

1复用器组成的优先级链转换为一个4:

1二进制复用器。

假设操纵输入由不相关的逻辑馈入,那么这种转换至多需要两个额外的4-LUT操纵逻辑。

假如最初的复用器至少占用三个4-LUT,而4:

1复用器只需要两个即可实现,那么这种转换将节约3宽度或者更宽总线的面积。

图8显示了如何将一组排列成树的2:

1复用器转换为一个4:

1复用器。

在这种情况下,通过认真为4:

1复用器选择编码方式,使S0在(A、B)和(C、D)之间进行选择,限制附加操纵逻辑,只加入最多一个4-LUT。

现在,这种转换将节约2宽度或者更宽总线的面积。

一般来讲,任何的三个2:

1复用器组都能够通过图7或图8的方式转换为一个4:

1复用器。

然而,这两种转换必须在宽度大于2的复用器总线上进行,以减小所需4-LUT的数量,实际上,假如这两种转换不在总线上进行,将没有意义。

总线上2:

1复用器三联重新编码是复用器重构算法的核心。

下一节将阐述形成数量最多三联的新方法。

 

4.    复用器总线

4.1    “库”的构造

压缩减小了其所编码的每一个2:

1复用器三联面积,因此,压缩应用在较大的复用器树上最有效。

本节阐述大型复用器树是如何构建的。

设计中所有的总线都将被存储在一种称为“库”的数据结构中。

复用器树采纳下面的方法构建。

设计中所有2:

1复用器以反向深度顺序排列。

这意味着那些离寄存器或者输出引脚最近的复用器将排在列表前面。

然后从头至尾扫描列表,查找每一个2:

1复用器,假如其输出仅与另一个2:

1复用器相连,则将该复用器和与其相连的复用器一起加到复用器树中。

否则,将此2:

1复用器作为一个新复用器树的首复用器。

以此方式来构建的复用器树含有最大数量的复用器。

假如复用器树中复用器的所有数据输入均不是由同一个树中其他的2:

1复用器馈入,则称此复用器为初级输入(对整个树而言)。

一旦所有的复用器树差不多形成,则将其合并成总线。

假如两个复用器树要并入同一个总线,它们必须具有相同的结构,即,2:

1复用器的排列相同,同时每个都有完全一致的操纵输入。

这能够通过依照复用器结构,对所有复用器树列表排序来实现,在列表中将结构相同的树靠近排列。

总线可直接由结构相同的树构成。

通过规则选取来实现总线宽度最大化。

宽总线能够将由压缩引入的操纵逻辑开销降低到最小。

4.2    重构

4.3节描述均衡方法,该方法能够使压缩得到的面积减小最大化。

均衡建立在重构的基础上,其概念由本节给出。

通过2:

1复用器所馈入的一个2:

1复用器,重构移动该复用器及其一个输入。

图9显示了阴影复用器与其“f”输入的重构。

为保持原始复用器总线的功能,需要附加一些操纵逻辑。

这些操纵逻辑同样能够由总线上的每一个复用器树来分担。

图9中,重新编码逻辑(c6AND(NOTc3))必须确保当c1、c3为“假”而c6为“真”时,选择输入“f”(与转换前的情况一致)。

同样,当c1、c3、c6为“假”时,选择输入“g”,即(c6AND(NOTc3))也是“假”。

重构转换将选中的复用器进一步向复用器树顶端移动。

因此,不断重复重构转换,能够将任意位置的复用器向顶端移动。

 

4.3    均衡

压缩通过转换2:

1复用器三联,能够减少实现复用器总线所需的4-LUT数量。

然而,假如不进行复用器树重构,有些结构是不可能得到最佳三联分组的。

例如,无法将图10中所有的2:

1复用器进行分组,这是因为每一种可能的分组都将会剩余一个2:

1复用器而无法处理。

均衡的目的在于通过最少的重构得到最佳的压缩。

关于图10的例子,能够采纳图11所示的方法,得到两组2:

1复用器三联。

均衡算法由图12的递归定义。

由首复用器开始,算法首先均衡复用器树左面和右面数据输入。

均衡返回还没有连接为三联的2:

1复用器的数量。

均衡确保形成尽可能多的三联,如此只会剩余一个或者两个2:

1复用器,甚至没有剩余。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1