当前位置:首页 期刊杂志

基于eFPGA 的通信基带加速器的逻辑重构设计

时间:2024-05-04

(中国电子科技集团公司 第五十四研究所,石家庄 050000)

0 引言

随着微电子技术进入SoC(system on chip,片上系统)时代,小型化成为集成电路的发展方向之一。由于特征尺寸的不断缩小,NBTI(negative bias temperature instability,负偏压温度不稳定性)效应、HCI(Hot Carrier Injection,热载流子注入)效应引发的器件可靠性问题愈发凸显。在航天应用中,受空间辐射影响,星载电子设备中CMOS器件逻辑电平翻转引发错误的现象时有发生。当SoC芯片出现功能性故障或可靠性故障时,传统的纠错方法主要是通过模块冗余(如三模冗余)方法实现,存在资源开销大、执行效率低等缺陷。

SoC芯片集成度的不断提高使得第三方IP核复用成为芯片设计的关键思路。eFPGA由于面积小、可移植性好,能够以IP核的形式嵌入SoC芯片中,在改善信号延迟、提升计算性能方面具备优势。eFPGA的可编程性使得通过逻辑重构实现故障电路的自愈功能成为可能。通信基带加速器作为SoC芯片的关键部分,承担着数字信号处理的功能,通常使用ASIC平台实现。当通信基带加速器发生功能故障时,可以从FLASH中取出预先存储的比特流信息,通过JTAG扫描链导入eFPGA进行配置实现逻辑重构,同时断开通信基带加速器的互连总线,并配置eFPGA的互连关系,从而利用eFPGA执行通信基带加速器功能,实现电路故障自愈。对通信基带加速器的逻辑重构,关键在于对其核心算法的实现和执行。

1 eFPGA技术优势

FPGA(Field Programmable Gate Array,现场可编程门阵列)作为ASIC(application specific integrated circuit,专用集成电路)领域中的一种半定制电路出现,其优点在于其逻辑功能可由用户通过软件编程实现在线配置,并且可以反复擦写。但随着芯片不断向小型化发展,传统 FPGA 使用中存在的缺点逐渐显现:在硬件加速应用中,通常会浪费很多可编程资源和外围接口资源;标准FPGA与ASIC 之间的接口存在显著的延迟,难以满足高速计算的需求;功耗高、面积大、成本浪费严重。eFPGA(embedded FPGA,嵌入式FPGA)则很好地克服了上述缺点。eFPGA是指可作为IP(intellectual property,知识产权)模块集成到SoC中的 FPGA(如图1所示),可将 ASIC 设计的高性能和 FPGA模块的灵活性有效结合起来,面积小、功耗低,可显著降低资源开销。

图1 SoC集成eFPGA

eFPGA对比传统FPGA具有诸多优点。从连接方式上看,eFPGA通过内部连线直接集成SoC,不需要大型可编程输入/输出缓冲,降低了接口延迟,提高了接口带宽的性能(可实现10000个以上的I/O连接);从功能定制上看,灵活度更高,可根据应用需求定义LUT(look-up table,查找表)、BRAM(block RAM,块随机存储器)和cDSP(core DSP,数字信号处理器核)的数量,优化资源配置。

eFPGA承担数字信号处理功能,可显著提升数据吞吐率。eFPGA省去了SERDES(高速串并转换器)、PLL(锁相环)、硬核IP总线接口、GPIO(通用输入/输出)缓存等结构,通过精细时钟门控(fine grain clock gating)降低了动态功耗,通过高密度互连节省了面积。

图2为eFPGA的基本结构。eFPGA基本单元为RBB(Reconfigurable Building Block,可重构单元块)。RBB按照功能可分为Logic RBB、DSP RBB、I/O RBB三类,分别执行逻辑运算、数字信号处理、输入/输出接口的功能。eFPGA经过平面规划后生成阵列结构,包含外围I/O RBB、Logic核、DSP核、内嵌BRAM。图示eFPGA为2个Logic核、2个DSP核构成的2x2结构。其中DSP核由Logic RBB、DSP RBB、互连网络及I/O RBB构成。DSP RBB是由22位预加器、22x22位定点乘法器、48位累加器构成的乘积累加器,可实现乘加运算;Logic核不包含DSP RBB,由Logic RBB构成,Logic RBB包含4个6输入LUT及8个FF(Flip-Flop,触发器),用以实现可编程逻辑;I/O RBB包含4个FF,支持触发、直通模式,其中2个连接输入端,2个连接输出端。RBB资源与内嵌BRAM、互连网络、外部I/O接口共同构成了eFPGA的基本结构。

图2 eFPGA结构

eFPGA逻辑重构流程如图3所示。在系统设计阶段对逻辑重构目标进行系统评估,完成各个功能模块的设计。使用RTL(Register Transfer Level,寄存器传输级)语言编写HDL文件输入综合工具,综合后生成门级网表,映射到eFPGA逻辑器件。编译器分析映射后网表文件生成资源利用评估报告。平面规划实现对基本逻辑单元、数字处理单元的资源选择及分配,生成Logic核与DSP核的阵列结构,并在DSP外围插入内嵌BRAM。经过布局布线完成内部资源的连接,并生成时序报告。最后将布局布线后的网表文件编程配置,生成二进制比特流,预先存储到外部FLASH中。逻辑重构时,比特流通过JTAG加载至eFPGA,完成配置后执行目标功能。

图3 eFPGA逻辑重构流程

2 基于JTAG测试模式的互连关系重构

随着SoC芯片集成度的提高,为改善传统电路可靠性测试方法的不足,业界提出了电路可测试性设计(design for testability,DFT)。其中的JTAG(joint testaction group,联合测试工作组协议)技术利用边界扫描(Boundary scan)实现电路内部的测试,并应用于在系统内可编程(In-System Programmable,ISP)技术中。

JTAG边界扫描寄存器链由TAP(test access port)控制器控制。TAP是一个标准端口,有5个信号接口,分别为输入接口:TCK(test clock,测试时钟)、TRST(test reset,测试重置复位)、TMS(test mode select,测试模式选择)、TDI(test data input,测试数据输入)和输出接口:TDO(test data output,测试数据输出)。TCK驱动TAP 状态机的运行,TRST对TAP控制器进行复位,TMS控制TAP状态机的状态转换,TDI与TDO串行输入和输出测试数据。在正常工作模式下,边界扫描寄存器链处于旁路状态,数据由Input输入,从Output输出;在测试模式下,边界扫描寄存器链启用,实现对eFPGA输入输出引脚及内部逻辑信号的观测,也可以加载比特流到eFPGA内部电路,从而进行逻辑功能重构。通过TDI和TDO端口串行输入和输出测试数据,可实现对eFPGA的调试(如图4所示)。

图4 带有JTAG边界扫描寄存器链的eFPGA

通信基带加速器正常工作时,信号由外部存储器经DMA(direct memory access,直接存取)读取送入总线,在总线上传输至通信基带加速器,经过处理后将计算结果返回总线,进入下一级。数据通路为:外部存储器—DMA—总线—通信基带加速器—总线。当系统检测到通信基带加速器某模块发生功能故障时,信号传输至故障模块前经JTAG扫描链导入eFPGA,eFPGA实现故障模块功能,在eFPGA中处理后,再返回通信基带加速器进行故障模块之后的处理。此时的数据通路为:外部存储器—DMA—总线—通信基带加速器—JTAG扫描链—eFPGA—JTAG扫描链—通信基带加速器—总线。具体实现方法如图5所示。

图5 eFPGA互连关系重构

在通信基带加速器外围JTAG扫描链中接入故障监测传感器,当故障发生时,传感器将故障信息发送至CPU,由CPU向eFPGA发送信息,eFPGA在内置FCU(FPGA configuration unit,FPGA配置单元)控制下进入配置模式(configuration mode)。FCU选择Flash模式直接从Flash中读取预先存储的比特流信息,导入eFPGA中,编程配置内部逻辑。配置完成后,FCU将eFPGA转换为用户模式(user mode),执行故障模块的逻辑功能。信号在输入通信基带加速器故障模块(如FFT算法模块、FIR滤波模块)前,在故障模块的输入端口被JTAG控制器读取,越过故障模块,经由JTAG扫描链接入eFPGA输入端口。数据在eFPGA中处理后由输出端口输出,经JTAG扫描链传输回通信基带加速器的下一功能模块执行后续的处理。借助JTAG扫描链屏蔽掉故障模块重构了互连关系,从而形成了新的完整数据通路。

3 通信基带加速器典型算法设计

在通信基带加速器中,OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)技术由于能够有效改善频率选择性衰落、提高频谱利用率而得到了广泛应用。选取OFDM典型算法:FFT(Fast Fourier Transform,快速傅里叶变换)算法、FIR(Finite Impulse Response,有限脉冲响应)滤波算法进行设计,用于eFPGA对通信基带加速器逻辑重构的仿真及验证。

OFDM基带信号处理流程如图6所示。比特流输入后进行前向纠错编码及交织以提升纠错能力,在串并变换模块中,串行高速数据转换为低速并行数据以减小传输中出错概率。每一路并行数据分配到各个子信道上(即映射到相互正交的窄带子载波上),经过IFFT(Inverse FFT,快速傅里叶逆变换)变换为时域的叠加信号,插入循环前缀后构成实际发送信号。经过处理的各路并行信号变换为串行信号,经过数/模变换、低通滤波,上变频后进入信道中传输。在接收端执行相反的流程。下变频后进行低通滤波、模/数变换、串/并变换,各路并行信号分别去除循环前缀后通过FFT模块,实现各个子载波上的数据提取,进而还原出每一路并行数据。经过并/串变换、解交织、前向纠错译码,最终输出原始比特流。OFDM实现了多载波调制,将信道划分为若干相互正交的窄带子载波,将串行高速数据转化为并行低速数据调制到子信道上传输,从而有效抑制符号间干扰(inter-symbol interference, ISI),提升抗多径和抗衰落能力。

图6 OFDM基带信号处理流程

由信号处理流程分析可见,OFDM系统调制、解调并行数据的核心算法是IFFT与FFT:在发送端通过IFFT模块用多路基带数字信号调制子载波并叠加;在接收端通过FFT模块实现子载波分离并解调。

DFT(discrete fourier transform,离散傅里叶变换)实现了数字信号由时域到频域的变换,是基带数字信号处理的常用方法。DFT将时域的周期离散信号变换为频域的离散傅里叶级数,将待分析的信号分解为相互正交的正弦波,以便提取信号的频率及相位特征。DFT快速算法统称FFT,显著改善了DFT计算效率低的问题。对于N点序列的计算,传统DFT算法需要N2次复乘、N(N-1)次复加,而FFT算法可将复乘及复加次数降低至约(N/2),有效提升了计算速度。

N点DFT定义为式(1):

m=0,1,…,N-1

(1)

基带信号经调制进入信道传输的过程中,信道时变现象调制子载波,会削弱子载波间的正交性,引入子载波间干扰(inter-carrier interference, ICI)。在基带信号进入信道之前使用低通滤波器滤除高频分量,以抑制干扰。FIR滤波器的设计关键在于单位脉冲响应h[k]的设计,使增益响应满足滤波指标要求。FIR低通滤波器将输入信号x[n]与h[k]卷积运算得到输出信号,高于截止频率的高频分量在卷积过程中被滤除,从而实现低通滤波。式(2)给出了FIR滤波算法的卷积公式,其中N为滤波器阶数。

y[k]=x[k]*h[k]=h[k]*x[k]=

(2)

FIR低通滤波器在数字电路中由延迟线、加法器、乘法器组成的复合结构实现,每个乘法器对应一个FIR系数h[k],即Tap(抽头)权重。h[k]的个数k与滤波器阶数N相等。图7所示为40阶FIR滤波器结构。

图7 40阶FIR滤波器结构

本文选取40Tap的FIR低通滤波算法进行eFPGA仿真。设计偶对称的系数序列作为单位脉冲响应h[k],以实现低通滤波功能。使用Matlab绘图,如图8所示。

图8 抽头系数设计

4 仿真验证分析

使用28 nm工艺制程eFPGA评估板验证FFT算法与FIR算法。使用综合工具将HDL文件综合后生成EDIF文件,和IO定义文件、RAM定义文件、Floorplan文件输入eFPGA编译器进行编译,经过网表映射得到资源利用报告。报告显示了实现设计所需要的三类RBB基本单元(Logic、DSP、I/O)及查找表、触发器的数量。根据资源需求计算逻辑核、DSP核的数量,进而预测最小面积。

映射后网表经平面规划、布局布线后进行静态时序分析(Static Timing Analysis,STA)得出各时钟域的时钟扇出以及可实现的最高频率、平均功耗。

根据布局布线后网表生成Bitstream(比特流),下载到eFPGA中完成配置。输入激励信号执行逻辑功能。eLA(embedded Logic Analyzer,嵌入式逻辑分析仪)设计在eFPGA上运行,实现对内部信号的观测及功能的调试。利用eLA读取测试结果,生成波形文件。使用Gtkwave工具观测波形。

4.1 FFT仿真验证分析

对不同频率的连续正弦波叠加后采样,得到离散数据,作为激励输入。设定加权系数为0.25、0.25、0.75,对频率为1.5625 MHz、6.25 MHz、25 MHz的cos函数、sin函数分别叠加得到两路连续信号,再以200 MHz的采样频率分别采样得到两路离散信号,作为实部、虚部两路正交信号激励。使用Matlab仿真256点FFT,得到频谱图,如图9所示。

图9 FFT算法Matlab仿真结果

图中纵坐标与信号幅值成正比例关系,横坐标为点数,每一个点对应一个频率。由于采用256点FFT算法,采样频率设定为200 MHz,故第256点对应200 MHz频率。以此类推,第k个点对应频率为(k-1)*(200/256)MHz。由FFT理论可知,复信号实部FFT实部图像偶对称,复信号虚部FFT实部图像奇对称,复信号FFT实部图像是两个图像的叠加结果,负频率抵消,正频率加倍。由复信号FFT实部频谱图可知,在第2点、第8点、第32点处出现明显峰值,且比例为1:1:3,对应频率1.562 5 MHz、6.25 MHz、25 MHz。

Bitstream下载至eFPGA评估板完成配置,输入激励后生成波形文件。在Gtkwave中观测验证结果。从图10中可以看出,指定RDY为eLA_TRIGGER,在20 ns处RDY拉低后开始执行FFT算法。截取20 ns后1024 ns波形为一个周期,观测到FFT实部输出信号DOR在第8 ns、第32 ns、第128 ns处出现明显峰值,幅度比为1:1:3,分别对应1.562 5 MHz、6.25 MHz、25 MHz频率。验证结果与Matlab仿真结果对比,频谱基本一致。

图10 FFT算法eFPGA评估板验证结果

使用eFPGA编译器进行资源利用评估,评估结果如表1所示。

表1 FFT算法eFPGA资源利用与性能评估

由表1可见,此FFT算法仿真可实现177.78 MHz的工作频率。eFPGA功耗为82.67 mW,面积为6.4 mm2,面积及功耗较为理想,可以满足SoC集成的要求。

4.2 FIR仿真验证分析

设定采样频率为200 MHz,截止频率为20 Mhz。设计Tap个数为40的低通滤波器。使用Matlab计算得到图11中的增益响应。

图11 FIR滤波器增益响应MATLAB仿真结果

图中横坐标为归一化频率,数值1处与200 MHz频率对应。在0~0.1之间(对应0~20 MHz频段)增益响应为0 dB,0.1(20 MHz频率)后快速衰减,在0.2(40 MHz)后降至-40 dB。此FIR滤波器模型可滤除高于20 MHz频率的信号分量。

将编译后得到的Bitstream加载到eFPGA评估板完成配置,将频率为31.25 MHz、7.8125 MHz的两路正弦波叠加后采样,得到输入信号DI,作为激励输入eFPGA。计算后输出波形文件,显示输出信号DO近似为7.8125 MHz正弦波。

图12 FIR算法eFPGA评估板验证结果

使用eFPGA编译器进行资源利用评估,评估结果如表2所示。

表2 FIR滤波器eFPGA资源利用与性能评估

由表2可见,此FIR滤波器仿真可实现211.73 MHz的工作频率。eFPGA功耗为115.17 mW,面积为4.8 mm2,面积及功耗较为理想,可以满足SoC集成的要求。

5 结束语

本文提出了一种基于eFPGA的逻辑重构方案,用于通信基带加速器发生故障时实现功能自愈。通过JTAG扫描链重构互连关系,将eFPGA接入数据通路,利用eFPGA重构故障模块的逻辑,进而代替通信基带加速器执行特定功能实现自愈。使用eFPGA编译器进行典型算法仿真,并在eFPGA评估板上完成验证,结果显示eFPGA有比较理想的面积与功耗,预期的设计功能可以实现。此方案克服了传统自愈方案资源开销大、执行效率低的缺陷,可有效提高系统可靠性与灵活性,为电路自愈技术提供了参考思路。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!