首页> 中国专利> 一种多DSP和FPGA并行处理系统及实现方法

一种多DSP和FPGA并行处理系统及实现方法

摘要

一种多DSP和FPGA并行处理系统,它包括:FPGA、DSP、AD、DA、DDR3和电源芯片;一种多DSP和FPGA并行处理系统的实现方法有五大步骤:一:实现FPGA与FPGA之间的PCIe互连;二:实现FPGA与DSP之间的PCIe互连;三:实现FPGA与FPGA之间的SRIO互连;四:实现FPGA与DSP之间的SRIO互连;五:实现DSP与DSP之间的Hyperlink互连。本发明并行处理能力强,功能丰富、灵活性、可扩展性强,突破了处理器芯片间的数据传输瓶颈,可移植性强,它在数字信号处理领域里具有较好的实用价值。

著录项

  • 公开/公告号CN103885919A

    专利类型发明专利

  • 公开/公告日2014-06-25

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201410105353.8

  • 申请日2014-03-20

  • 分类号G06F13/42(20060101);

  • 代理机构11232 北京慧泉知识产权代理有限公司;

  • 代理人王顺荣;唐爱华

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2024-02-20 00:15:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-04

    专利权的转移 IPC(主分类):G06F13/42 专利号:ZL2014101053538 登记生效日:20220922 变更事项:专利权人 变更前权利人:北京航空航天大学 变更后权利人:杭州雷世科技有限公司 变更事项:地址 变更前权利人:100191 北京市海淀区学院路37号 变更后权利人:310051 浙江省杭州市滨江区长河街道江虹路768号1号楼

    专利申请权、专利权的转移

  • 2017-01-04

    授权

    授权

  • 2014-07-16

    实质审查的生效 IPC(主分类):G06F13/42 申请日:20140320

    实质审查的生效

  • 2014-06-25

    公开

    公开

说明书

技术领域

本发明为一种多DSP和FPGA并行处理系统及实现方法,它是基于PCIe、SRIO、Hyperlink 等高速串行协议,实现多DSP和FPGA并行处理系统中的高速串行互连,属于数字信号处理 领域。

背景技术

高速串行接口一般是指采用差分技术和时钟嵌入技术的串行接口。不同于SPI等低速串 行接口,高速串行接口的传输速率可达到几个Gbps。高速串行接口使用差分信号线代替单端 信号线,从而增强了抗干扰、抗噪声能力。相对于并行接口,串行接口对引脚需求量较少, 因此能够增加可集成的端口数量,并简化PCB走线、电缆和连接器设置。此外,高速串行接 口采用时钟数据恢复技术,即信号内部带有时钟,简化了时序操作。

目前常用的高速串行接口有PCIe,SRIO,XAUI,InfiniBand,Fiber Channel等。还有一 些公司内部的协议,比如Texas Instruments定义的Hyperlink协议。这些高速串行协议的应用 范围有所不同。在多处理器系统中,我们更关注芯片级互连。因此本发明使用了SRIO,PCI  Express以及Hyperlink接口。SRIO非常适合要求高速低延迟IO的嵌入式系统。数据率可以 为1.25、2.5、3.125、5、6Gbps。协议规定了通道宽度为x1、x2、x4、x8,这为设计者提供 了更多的灵活性。PCIe是一种高性能的总线,已被广泛应用于多种计算和通信平台。PCIe利 用了点对点、包交换的技术。数据率可以为2.5、5、8Gbps。通道宽度可为x1、x2、x4、x8、 x12、x16、x32。Hyperlink是TI公司Keystone架构的一种内部传输接口,用于两个Keystone 设备的数据传输,它可以实现低引脚数、低延时、高速的芯片间数据传输。它可以单通道或 者4通道工作,并且每个通道最高可工作在12.5Gbps。Hyperlink的编码协议也针对物理层进 行了优化,相对于传统的8b/10b编码协议效率更高,相当于8b/9b协议,支持DMA。

随着宽带信号的广泛使用,AD的采样率越来越高,实时数字信号处理系统需要处理和 传输的数据量越来越大,单片FPGA或DSP已无法满足系统处理大量数据的要求。因此,高 性能的实时数字信号处理系统通常使用多片FPGA和DSP。FPGA具有丰富的接口能力以及 高度的并行处理能力,DSP适合复杂的数据处理,处理能力强。FPGA与DSP的合作在实时 数字处理系统中发挥了重大作用。

多FPGA和DSP在实时系统中的应用也带来了新的问题,即处理器芯片之间的数据传输。 系统的实时性要求处理器芯片能够计算处理大量的数据,并能将处理结果快速传输到其他处 理器芯片。以往的处理器芯片之间的传输采用并行总线。FPGA之间采用多个IO线并行传输。 FPGA与DSP之间,或DSP与DSP之间采用EMIF接口互连,即DSP将FPGA当作外部存 储器,通过读写存储器进行数据交互。为了提高并行总线的数据传输速率,需要增加数据位 宽和提高时钟频率。但并行接口存在信号线间干扰的问题,而且数据位宽越大、频率越高, 这种干扰越严重。因此,处理器芯片之间的互连面临着瓶颈,而高速串行互联是解决该瓶颈 的理想方案。

针对上面提到的情况以及现实中的需求,本发明人设计了一种多DSP和FPGA并行处理 系统的高速串行互连方案,可以实现FPGA与FPGA,FPGA与DSP以及DSP与DSP之间 的数据高速串行传输。该系统由两个电路板组成,分别是接口板和核心板。接口板负责数据 采集、波形产生、与外部设备通信。核心板负责处理来自接口板的数据,并将处理结果返回 接口板。接口板主要由两片FPGA、一片DSP、两片AD、一片DA以及四片DDR3组成。接 口板与核心板之间由高速插件互连。核心板主要由三片FPGA,两片DSP,24片DDR3组成。 系统中,FPGA、DSP之间需要大量数据的高速交互,本发明中应用到的高速串行方案保证了 数据传输带宽,有很好的借鉴意义。

发明内容

本发明的目的在于提供一种多DSP和FPGA并行处理系统及实现方法。利用PCIe、SRIO 和Hyperlink高速串行协议实现FPGA与FPGA、FPGA与DSP、DSP与DSP之间的高速串 行数据传输。使用Xilinx公司的开发套件ISE12.4进行FPGA的软件设计,使用TI公司的开 发套件CCS5.0进行DSP的软件设计。

(1)本发明一种多DSP和FPGA并行处理系统,包括:FPGA、DSP、AD、DA、DDR3、 电源芯片。系统的结构图如图1所示。在接口板中,DSP1控制网口芯片和两片DDR3芯片, 同时与FPGA1互连;FPGA1控制两路AD和两片DDR3,同时与DSP1、FPGA2以及核心板 的FPGA4、FPGA5互连;FPGA2控制DA,同时与FPGA1互连。在核心板中,FPGA4、FPGA5 与接口板的FPGA1互连;FPGA4、FPGA5、DSP2、DSP3四片处理器芯片组成环形拓扑结构; FPGA4、FPGA5各自控制8片DDR3;DSP2、DSP3各自控制4片DDR3;FPGA3控制电源 芯片,提供DSP2、DSP3的上电时序。

该并行系统的信号走向如下:接口板根据PC通过网口传来的命令控制DA发送波形; 接口板AD采集数据,在接口板FPGA1中可做数据预处理;接口板FPGA1通过SRIO将预 处理后的数据传输给核心板的FPGA3和FPGA4,并在FPGA3和FPGA4中做大数据块的简 单处理,FPGA3和FPGA4之间可以通过SRIO或PCIe进行数据交互;FPGA3和FPGA4分 别将处理结果通过SRIO和PCIe传输给DSP2和DSP3,在DSP中做复杂处理,DSP2和DSP3 之间可以通过Hyperlink进行数据交互;DSP2和DSP3将结果通过SRIO和PCIe传回FPGA3 和FPGA4;FPGA3和FPGA4通过SRIO传回接口板的FPGA1;接口板FPGA1将结果传给 DSP1,并由DSP1通过网口传给PC。

该系统选用了四种类型的FPGA。接口板FPGA1选用Xilinx公司的Virtex-6 XC6VLX240T,负责控制AD和数据传输。接口板FPGA2选用Xilinx公司的Virtex-6 XC6VLX75T,负责控制DA。核心板FPGA3选用Xilinx公司的Spartan-3XC3S700AN,负责 控制电源芯片上电时序。核心板FPGA4、5选用Xilinx公司的Virtex-6XC6VSX315T,负责 运算。

除了FPGA3采用Spartan-3系列外,剩下的FPGA均采用Virtex-6系列。Virtex-6系列为 FPGA市场提供了最新、最高级的特性。Virtex-6FPGA是提供软硬件组件的目标测试平台可 编程硅技术基础,可帮助设计人员在开发工作启动后集中精力于创新工作。Virtex-6系列采用 第三代ASMBLTM(高级硅片组合模块)柱式架构,包括了多个不同的子系列。每个子系列 都包含不同的特性组合,可高效满足多种高级逻辑设计需求。除了高性能逻辑结构之外, Virtex-6FPGA还包括许多内置的系统级模块。Virtex-6FPGA采用了尖端的40nm铜工艺技术, 为定制ASIC技术提供了一种可编程的选择方案。Virtex-6FPGA还为满足高性能逻辑设计人 员、高性能DSP设计人员和高性能嵌入式系统设计人员的需求而提供了最佳解决方案,其带 来了前所未有的逻辑、DSP、连接和软微处理器功能。

Virtex-6系列有三种子系列,分别是LXT,SXT,HXT。其中LXT具有高级串行连接功 能的高性能逻辑。SXT具有高级串行连接功能的最强信号处理功能。HXT具有串行连接功能 的最高带宽。本系统中,FPGA4和FPGA5需要强大的计算能力,所以选用SXT,同时为了 保证5Gbps速率下x4通道的SRIO互连,FPGA速度等级选用-2等级。FPGA1和FPGA2不 需要复杂的运算,选用LXT即可满足要求。FPGA2只控制DA,需求相对FPGA1较低,所 以选用XC6VLX75T。

XC6VLX75T主要特点:

1)11640个slice;

2)6个MMCM(Mixed-Mode Clock Managers)模块;

3)5616K bits RAM;

4)360个通用I/O管脚。

XC6VLX240T主要特点:

1)37680个slice;

2)12个MMCM(Mixed-Mode Clock Managers)模块;

3)14976K bits RAM;

4)720个通用I/O管脚;

5)24个GTX模块。

XC6VSX315T主要特点:

1)49200个slice;

2)12个MMCM(Mixed-Mode Clock Managers)模块;

3)25344K bits RAM;

4)720个通用I/O管脚;

5)24个GTX模块;

6)2个PCIe接口模块。

FPGA3只负责控制DSP2和DSP3的上电时序,功能相对简单,因此选用资源相对少的 Spartan-3系列的XC3S700AN。XC3S700AN有内置FLASH,不需要外部烧写FLASH,可以 节省板上空间资源。

XC3S700AN主要特点:

1)5888个slice;

2)8个DCM(Digital Clock Managers)模块;

3)360K bits RAM;

4)372个通用I/O管脚;

5)内置8M的Flash。

该系统选用了两种类型的DSP。接口板DSP1选用TI的TMS320C6455,负责控制网口 芯片。核心板DSP2和DSP3选用TI的TMS320C6678,负责复杂运算。

TMS320C6455是一种高性能的定点DSP,其主要特点如下:

1)时钟频率最高可达1.2GHz,定点运算性能为9600MMAC;

2)32KB的L1程序缓存,32KB的L1数据缓存,2048KB可以配置为RAM或者CACHE 的L2内存,32KB的L2ROM;

3)64bit的外部存储器接口EMIF(External Memory Interface);

4)1通道或4通道的SRIO

5)EDMA3控制器,64个独立通道。

TMS320C6678,它采用一种改进的哈佛总线结构:一套256位的程序总线,两套32位数 据总线和一套32位DMA专用总线,其主要特点如下:

1)处理单元采用高性能、先进的VelociTITM(very long instruction word)结构,每时钟周 期可并行执行8条32bit的指令;

2)TMS320C6678采用8个运算速度高达1.25GHz的DSP内核构建,在单个器件上整 合了320GMAC与160GFLOP定点及浮点性能。

3)TMS320C6678整合了大容量的片上存储器,每个核除32KB的L1P和数据CACHE 之外,还包括512KB可以配置为RAM或者CACHE的L2内存,另外还有4MB的多核共享 内存,可以当作共享的L2SRAM或者共享L3SRAM使用。

4)TMS320C6678芯片提供了丰富的外围接口,本系统主要用到SRIO、PCIe、Hyperlink、 DDR3等接口。这些接口主要在运算DSP中使用。其中SRIO和PCIe用于DSP与FPGA的 数据通信,Hyperlink用于两个数据处理DSP的数据交互,DDR3用于DSP外部存储。

所述AD是Linear Technology公司的LTC2158,负责将输入的模拟信号转换为数字信号。 其主要特性如下:

1)采用+1.8V模拟电源和+1.8V数字电源供电;

2)双通道、同时采样310Msps、14位AD,专为对高频、宽动态范围信号进行数字化处 理而设计;

3)AC性能包括68.8dB SNR和88dB无寄生动态范围(SFDR);

4)DC规格包括整个温度范围内的±1.2LSB INL(典型值)、±0.35LSB DNL(典型值) 和无漏失码。转换噪声为2.11LSBRMS;

5)数字输出为双倍数据速率(DDR)LVDS;

6)可以利用一个正弦波、PECL、LVDS、TTL或CMOS输入对ENC+和ENC-输入进 行差分驱动。一个任选的时钟占空比稳定器在全速和多种时钟占空比条件下实现了高性 能。

所述DA是Analog Device公司的AD9739,负责将输出的数字信号转换为模拟信号。其 主要特点如下:

1)14位,采样率2.5GSPS;

2)输出电流范围为8.66mA到31.66mA;

3)双通道,源同步,LVDS接口,方便和FPGA/ASIC互连;

4)用SPI接口配置器件;

5)供电电压为数字+3.3V、+1.8V和模拟+3.3V、+1.8V。

所述DDR3是Micron公司的MT41J128M16,负责提供处理器芯片外部存储器。其主要 特性如下:

1)存储容量达2Gbit;

2)差分数据选通;

3)8-n bit预存结构;

4)差分时钟输入。

所述电源芯片是Linear Technology公司的LTM4616和LTM4627。

LTM4616的主要特性如下:

1)输入电压范围2.7V到5.5V;

2)双路8A输出,或单路16A输出,输出电源范围0.6V到5V;

3)过流过热保护;

4)输出电压过压保护;

5)(15mm×15mm×2.82mm)LGA封装。

LTM4627的主要特性如下:

1)输入电压范围大,由4.5V可至20V;

2)输出电压范围0.6V到6V;

3)过流过热保护;

4)输出电压过压保护;

5)(15mm×15mm×4.32mm)LGA封装。

该电源芯片提供整个系统工作所需的电压。在接口板中,电源芯片将+5V电压转换成系 统所需要的D+3.3V、D+2.5V、D+1.8V、MGT_AVCC、MGT_AVTT、D+1.5V、D+1.25V、 D+1.0V,A+3.3V,A+1.8V,来分别提供给FPGA1(D+3.3V、D+2.5V、D+1.8V、D+1.0V、 MGT_AVCC、MGT_AVTT)、FPGA2(D+2.5V、D+1.0V)、DSP1(D+3.3V、D+1.8V、D+1.5V、 D+1.25V)、AD(D+1.8V、A+1.8V)、DA(D+3.3V、D+1.8V、A+3.3V、A+1.8V)、DDR3(D+1.8V)。 其中MGT_AVCC和MGT_AVTT分别为+1.0V和+1.2V,这是FPGA1中的高速串行接口模块 所需的电压,由单独的电源芯片提供。

在核心板中,电源芯片将+5V电压转换成系统所需要的D+3.3V、D+2.5V、D+1.8V、 MGT_AVCC、MGT_AVTT、D+1.5V、D+1.2V、D+1.0V,CVDD,来分别提供给FPGA3(D+3.3V、 D+1.8V、D+1.2V)、FPGA4和FPGA5(D+2.5V、D+1.8V、D+1.5V、D+1.0V、MGT_AVCC、 MGT_AVTT)、DSP2和DSP3(D+1.8V、D+1.5V、D+1.0V、CVDD)、DDR3(D+1.5V)。其 中MGT_AVCC和MGT_AVTT分别为+1.0V和+1.2V,这是FPGA4和FPGA5中的高速串行 接口模块所需的电压,由单独的电源芯片提供。CVDD是由电源芯片UCD9222提供给DSP2 和DSP3的动态1.0V电压。

(2)本发明一种多DSP和FPGA并行处理系统的实现方法,概述如下:

接口板与核心板之间、核心板内部各处理器芯片之间均会有大量数据高速传输,本发明 采用了高速串行接口来实现该系统内的互连。接口板会将大量的原始数据传给核心板,因此 FPGA2会与FPGA4、FPGA5有大量的数据交互,该系统中采用4x的SRIO来实现互连。核 心板内部多处理器需要协同工作来完成实时数据的处理,因此,在核心板中采用了环形的拓 扑结构,即两片FPGA和两片DSP通过高速串行接口组成环形。其中FPGA4与DSP2构成 一组运算单元,FPGA5与DSP3构成另一组运算单元。运算单元内的两个处理器采用了4x 的SRIO和2x的PCIe,该设计保证了运算单元内的最大传输带宽。运算单元间也会出现数据 交互,其中FPGA4与FPGA5之间采用了4x的PCIe,DSP2与DSP3之间采用了4x的Hyperlink。

本发明为一种多DSP和FPGA并行处理系统的实现方法,该方法包括以下几个步骤:

步骤一:实现FPGA与FPGA之间的PCIe互连;

FPGA与FPGA通过GTX高速串行接口互连,GTX提供了多种高速串行协议的物理层, 在该物理层的基础上可以实现不同的通信协议,比如PCIe和SRIO。FPGA之间的互连示意 图如图2所示。4通道情况下的互连需要16根信号线。单个通道互连需要4根信号线,其中 一对发送线,一对接收线。一个FPGA的发送端与另一个FPGA的接收端互连。互连采用差 分线设计,两端的P对应P,N对应N。同时需要在信号线上串联AC耦合电容。

在本系统中,核心板的FPGA4和FPGA5之间选用x4通道的PCIe互连,单通道数据率 选用5Gbps,考虑到8b/10b编码,有效带宽高达2GBps。FPGA4作为RC端(Root Complex), FPGA5作为EP端(Endpoint)。

使用Xilinx提供的LogiCORE将FPGA内部的PCI Express接口模块、GTX收发器、Block  RAM和时钟资源整合,其中PCI Express接口模块负责协议逻辑、GTX收发器负责串行收发、 Block RAM负责缓存、时钟资源负责提供精准的时钟。在LogiCORE上可以配置多种参数, 如:链路宽度、最大负载、接口速度、参考时钟频率、基地址寄存器等。LogiCORE所产生 的IP核自带有用户参考逻辑,但该逻辑不适合DMA方式传输。编写DMA控制器来代替用 户参考逻辑。DMA控制器将基地址的存储空间作为寄存器,RC端只需要读写EP端的基地 址存储空间就可以实现对DMA控制器的配置。FPGA的PCIe模块结构图如图3所示。最左 端虚线框内为FPGA4的内部逻辑,中间方框内为FPGA4的PCIe部分逻辑,左边虚线框内代 表与FPGA4互连器件,如FPGA5或DSP2。PCIe部分逻辑由时钟、复位、发送缓存、接收 缓存、DMA控制器、发送逻辑、接收逻辑、V6FPGA内置硬核组成。

上电后,RC端(FPGA4)会对EP端(FPGA5)进行配置,配置结束后才能正常传输数 据。如果RC端(FPGA4)给EP端(FPGA5)传数,RC(FPGA4)直接发送大量的存储器 写包给EP(FPGA5)。如果EP(FPGA5)给RC(FPGA4)传数,RC(FPGA4)首先发送5 个存储器写包来配置EP(FPGA5)的DMA控制器,配置信息包括复位DMA控制器、传输 包大小、传输包个数、传输起始地址、启动DMA控制器。EP(FPGA5)在DMA控制器的 控制下,根据配置信息发送存储器写包给RC(FPGA4)。

步骤二:实现FPGA与DSP之间的PCIe互连;

FPGA3和DSP2以及FPGA4与DSP3之间采用了x2通道的PCIe,单通道数据率选用 5Gbps,考虑到8b/10b编码,有效带宽高达1GBps。FPGA和DSP互连时,DSP作为RC, FPGA作为EP。DSP的PCIe模块结构图如图4所示。左边的虚线框为其他器件,这里指FPGA。 中间框为DSP的PCIe接口模块。右边虚线框为DSP的内部逻辑。DSP的PCIe接口模块由 时钟、复位、PCIe物理层、PCIe核、地址映射逻辑、中断逻辑、电源控制逻辑组成。

FPGA端仍使用IP核配合DMA控制器实现PCIe传输。DSP端的流程主要分为四步:初 始化、链路训练、配置远端寄存器、进行PCIe数据传输。在初始化的过程中,程序需要配置 Serdes时钟、开启PCIe的电源和时钟域、配置PCIe模式、配置地址映射表等。初始化结束 后开始链路训练,程序通过判断LTSSM是否跳入L0状态来确定链路是否训练成功。只有当 链路训练成功,FPGA和DSP才可以进行包交换。链路训练成功后,DSP可以通过发送配置 读写包来配置远端寄存器,即配置FPGA的PCIe配置空间内的寄存器。配置结束后,DSP 和FPGA可以通过发送存储器读写包以及带数据的完成包来进行数据交换。系统上电后会先 进行前三个阶段,之后一直处于PCIe数据传输阶段。

当EP(FPGA)传数给RC(DSP)时,RC(DSP)首先配置EP(FPGA)的DMA控制 器,然后EP(FPGA)启动DMA,发送大量的存储器写包给RC(DSP),RC(DSP)将数据 存入DDR3中,再进行后续的计算。当RC(DSP)传数给EP(FPGA)时,RC(DSP)启 动DSP内的EDMA控制器,发送存储器写包给EP(FPGA)。

步骤三:实现FPGA与FPGA之间的SRIO互连;

接口板的FPGA1和核心板FPGA4以及FPGA5之间都采用x4的SRIO互连,单通道速 率为5Gbps,考虑到8b/10b编码,有效带宽高达2GBps。

本发明利用了Xilinx提供的串行Rapid IO IP核,并设计了本地逻辑和远端。其具体结构 如图5所示,本地为FPGA,远端可以为FPGA或DSP。SRIO不同于PCIe,PCIe互连的两 端分为RC和EP,而SRIO的互连的两端没有主从关系。所以当远端为FPGA时,两个FPGA 内的SRIO接口设计相同。

FPGA中的SRIO接口设计如图5所示。包括本地逻辑、远端逻辑和串行RapidIO IP核。 本地逻辑负责发送本地的请求包并接收来自远端的响应包。远端逻辑负责接收来自远端的请 求包。串行RapidIO IP核的主要功能是控制打包和解包,提供缓存,控制链路训练,初始化 以及协议实现。

当本地发送数据给远端时,首先把需要传输的数据写入发送缓存,并在写完后给发送控 制器启动信号。发送控制器根据设置好的SRIO包信息,包括包类型、包大小、包数目、发 送地址、对方ID等来控制产生请求模块从发送缓存中读数并产生包。这些包经过串行RapidIO  IP核的处理变成高速串行比特流,通过发送差分对传输给远端。当远端发送数据给本地时, 串行RapidIO IP核将接收到的串行比特流解出srio包并传递给远端请求处理模块。接收控制 器控制远端请求处理模块将包内的数据写入接收缓存,并在写完后发送完成信号给需要数据 的模块,需要数据的模块可以从接收缓存读出数据。

步骤四:实现FPGA与DSP之间的SRIO互连;

接口板FPGA1与DSP1之间,核心板内FPGA4和DSP2之间,以及FPGA5和DSP3之 间都采用x4的SRIO互连,单通道速率为5Gbps,考虑到8b/10b编码,有效带宽高达2GBps。 DSP的SRIO模块结构图如图6所示。左边的方框代表本地器件,这里指DSP,右边的方框 代表远端器件,这里指FPGA。DSP中的SRIO模块主要由载入/载出模块和物理层组成。载 入/载出模块在CPU/EDMA的控制下向L2存储器发送VBUSM请求、接受VBUSM响应。 在载入/载出模块内,MMR命令寄存器控制发送缓存和接收缓存,并与物理层的FIFO相连。 物理层与远端的物理层相连。

在DSP中,SRIO的实现可分为4步:地址映射;配置ID、SRIO端口、中断向量;配 置LSU寄存器;等待link up。在link up之后,DSP能够接收和发送SRIO包。DSP和FPGA 之间需要知道对方的目的ID和起始地址才能正确传输数据。DSP传数给FPGA时,DSP启 动相当于DSP给映射的地址写数据。FPGA传数给DSP的过程与FPGA之间传输的过程相同。

步骤五:实现DSP与DSP之间的Hyperlink互连;

DSP与DSP之间采用x4的Hyperlink互连,单通道速率选用6.25Gbps,考虑到近似的 8b/9b编码,有效带宽高达2.77GBps。DSP的Hyperlink模块结构图如图7所示。虚线左边代 表逻辑层,虚线右边代表物理层。逻辑层的主要功能是根据寄存器的值进行地址译码,并控 制VBUSM的输入与输出,同时通过输出命令FIFO、返回数据FIFO与物理层相连。物理层 通过SERDES模块对输入数据进行串并转换,对输出数据进行并串转换。

DSP中的Hyperlink模块配置包括配置系统锁相环,使能Hyperlink域电源和时钟,选择 通道数和时钟模式,配置Serdes寄存器,启动Hyperlink模块。当两个DSP都完成配置后, DSP会检测通道,直到link up。在link up之后,一个DSP可以读写另一个DSP的Hyperlink 寄存器。在传输数据之前还需要进行地址映射。根据地址映射,DSP启动EDMA控制器向另 一个DSP传输数据。

(3)本发明为一种多DSP和FPGA并行处理系统及实现方法,其优点是:

1)并行处理能力强。该系统由DSP和FPGA组成,FPGA接口能力强,DSP适合复杂 运算,二者结合非常适合并行处理。系统采用了多片高性能的FPGA与DSP,极大地提高了 系统的并行处理能力。

2)功能丰富。该系统能采集两路模拟信号,能发出波形,同时能与PC通信。

3)灵活性、可扩展性强。该系统由两块独立的电路板组成,分别完成接口功能与核心运 算功能,两板之间由高速接插件互连。所以,可以在保持接口板不变的情况下更改处理板设 计,实现不同性能的信号处理。同理,也可以在保持核心板不变的情况下更改接口板设计, 来处理不同类型的输入信号。同时,该系统核心板由两组FPGA+DSP组成,在对运算能力要 求不高的情况下可只使用一组FPGA+DSP,从而降低系统的功耗。

4)突破处理器芯片间的数据传输瓶颈。该系统中,处理器芯片之间的互连设计没有采用 传统的并行接口,而采用了高速串行接口。该实现方法提高了传输带宽,保证系统的实时性; 采用了模块化设计,缩短开发周期;减少了互连引脚,方便了电路板布线。

5)可移植性强。该系统中所有逻辑功能均由VHDL和C语言实现,易于修改、移植与 升级。

附图说明

图1是系统结构图。

图2是FPGA之间高速串行互连结构图。

图3是FPGA的PCIe模块结构图。

图4是DSP的PCIe模块结构图。

图5是FPGA的SRIO模块结构图。

图6是DSP的SRIO模块结构图。

图7是DSP的Hyperlink模块结构图。

图8是系统流程图。

具体实施方式

见图1—图7,本发明多DSP和FPGA并行处理系统,包括:包括:FPGA、DSP、AD、 DA、DDR3、电源芯片。

本发明中包括多片FPGA,每片FPGA的功能有所差别。接口板的FPGA1控制两路AD 进行数据采集;可以将采集后的数据进行预处理;将预处理的结果通过SRIO传递给核心板 的FPGA4和FPGA5;同时接收FPGA4和FPGA5的处理结果;将结果通过SRIO传递给接 口板的DSP1;接收DSP1的命令并根据命令控制接口板的FPGA2。接口板的FPGA2根据 FPGA1的命令,控制DA输出波形。核心板的FPGA3的功能是控制核心板DSP2和DSP3的 上电时序。核心板的FPGA4和FPGA5的功能类似,配合DSP2和DSP3组成乒乓处理单元。 FPGA4和FPGA5从接口板的FPGA1通过SRIO接收数据,并进行大块数据简单处理;将处 理结果通过SRIO和PCIe传递给DSP2和DSP3;并通过SRIO和PCIe接收DSP2和DSP3 的处理结果;将处理结果通过SRIO传递给FPGA1;FPGA4和FPGA5之间可以通过PCIe和 LVDS进行数据交互。

本发明中同样包括多片DSP。接口板的DSP1主要负责接口控制,控制网口和PC之间的 互连,接收PC的命令并发送给FPGA1;同时从FPGA1接收数据,并传递给PC。核心板的 DSP2和DSP3主要负责复杂的运算处理。DSP2和DSP3通过SRIO和PCIe从FPGA4和FPGA5 得到数据;并将运算结果通过SRIO和PCIe传回给FPGA4和FPGA5;DSP2和DSP3之间可 以通过Hyperlink进行数据交互。

AD负责对外部信号进行采样,即把模拟信号转换为数字信号。采样得到的数字信号直 接传送给FPGA1。本发明一共使用了2片AD,可对2路外部信号同时进行采样操作。

DA负责产生波形,即把数字信号转换为模拟信号。接口板的FPGA2控制DA产生波形。

DDR3芯片用来做处理器芯片的大容量外部存储器。FPGA1控制两片DDR3。DSP1控制 两片DDR3。FPGA3和FPGA4分别控制8片DDR3。DSP2和DSP3分别控制4片DDR3。

电源芯片提供整个系统工作所需的电压。在接口板中,电源芯片将+5V电压转换成系统 所需要的D+3.3V、D+2.5V、D+1.8V、MGT_AVCC、MGT_AVTT、D+1.5V、D+1.25V、D+1.0V, A+3.3V,A+1.8V,来分别提供给FPGA1(D+3.3V、D+2.5V、D+1.8V、D+1.0V、MGT_AVCC、 MGT_AVTT)、FPGA2(D+2.5V、D+1.0V)、DSP1(D+3.3V、D+1.8V、D+1.5V、D+1.25V)、 AD(D+1.8V、A+1.8V)、DA(D+3.3V、D+1.8V、A+3.3V、A+1.8V)、DDR3(D+1.8V)。 其中MGT_AVCC和MGT_AVTT分别为+1.0V和+1.2V,这是FPGA1中的高速串行接口模块 所需的电压,由单独的电源芯片提供。

在核心板中,电源芯片将+5V电压转换成系统所需要的D+3.3V、D+2.5V、D+1.8V、 MGT_AVCC、MGT_AVTT、D+1.5V、D+1.2V、D+1.0V,CVDD,来分别提供给FPGA3(D+3.3V、 D+1.8V、D+1.2V)、FPGA4和FPGA5(D+2.5V、D+1.8V、D+1.5V、D+1.0V、MGT_AVCC、 MGT_AVTT)、DSP2和DSP3(D+1.8V、D+1.5V、D+1.0V、CVDD)、DDR3(D+1.5V)。其 中MGT_AVCC和MGT_AVTT分别为+1.0V和+1.2V,这是FPGA4和FPGA5中的高速串行 接口模块所需的电压,由单独的电源芯片提供。CVDD是由电源芯片UCD9222提供给DSP2 和DSP3的动态1.0V电压。

本发明一种多DSP和FPGA并行处理系统的实现方法,其流程如图8所示。流程概述如 下:接口板FPGA1控制两路AD采集数据;接口板FPGA1通过SRIO将数据传输给核心板 的FPGA3和FPGA4,并在FPGA3和FPGA4中做预处理,FPGA3和FPGA4之间可以通过 SRIO或PCIe进行数据交互;FPGA3和FPGA4分别将处理结果通过SRIO和PCIe传输给DSP2 和DSP3,在DSP中做复杂处理,DSP2和DSP3之间可以通过Hyperlink进行数据交互;DSP2 和DSP3将结果通过SRIO和PCIe传回FPGA3和FPGA4;FPGA3和FPGA4通过SRIO传回 接口板的FPGA1;接口板FPGA1将结果传给DSP1,并由DSP1通过网口传给PC。

本发明一种多DSP和FPGA并行处理系统的高速串行互连方案主要包括以下几部分:

(1)核心板FPGA4与FPGA5之间的x4通道PCIe互连;

(2)核心板FPGA4与DSP2之间的x2通道PCIe互连以及FPGA5与DSP3之间的x2 通道PCIe互连;

(3)接口板FPGA1与核心板FPGA4之间的x4通道SRIO互连,接口板FPGA1与核心 板FPGA5之间的x4通道SRIO互连;

(4)接口板FPGA1与DSP1之间的x4通道SRIO互连,核心板FPGA4与DSP2之间的 x4通道SRIO互连,核心板FPGA5与DSP3之间的x4通道SRIO互连;

(5)核心板DSP2与DSP3之间的x4通道Hyperlink互连。

硬件系统实现结果

FPGA编程使用VHDL,DSP编程使用C语言。将编写好的程序分别下载到FPGA和DSP 中。实验过程中,需要测试FPGA与FPGA之间的PCIe和SRIO互连,FPGA与DSP之间的 PCIe和SRIO互连,以及DSP之间的Hyperlink互连。先在一端例化一组递增数,然后通过 高速串行总线传递给另一端。检查数据正确性,并记录传输时间,根据传输的数据量可计算 出传输速率。再根据理论传输速率,可计算得到传输效率。在测试过程中通过ChipScope(Xilinx  ISE软件自带的逻辑分析仪)进行观察。

在测试时,计算发送16KB数据所需要的时钟数,根据时钟频率可以计算出传输速率。 当测试SRIO时,发送256B的nwrite包。当测试PCIe时,采用128B的存储器写包,因为 DSP所支持的最大的数据负载为128B。Hyperlink的测试是在DSP2与DSP3的L2内存之间。 理论吞吐量由通道数,单通道速率,以及编码效率决定。SRIO和PCIe都使用8b/10b编码, Hyperlink使用8b/9b编码。效率由实际吞吐量除以理论吞吐量得到。多DSP和FPGA并行处 理系统的高速串行互连性能的结果如表1所示。

表1高速串行互连性能

由表1可以看到,高速串行接口的实际吞吐量远大于EMIF等并行接口,后者的速率在 几十MBps。效率并未很高的原因是,由于包交换的机制,数据包内一定含有一定的包头包 尾信息,这些信息用来保证数据传输的正确性,但并不属于有效数据,因此在传输过程中必 定会存在速率损耗。为了提高效率,最好的办法就是尽量使用大数据包,即在一个包内使有 效数据部分尽量多,包头包尾信息尽量少。但不同的器件支持的包内最大有效数据不同,比 如Virtex-6系列的FPGA支持的PCIe包最大可为1024B,而TMS320C6678支持的PCIe包最 大为128B。

本发明多DSP和FPGA并行处理系统,利用SRIO、PCIe、Hyperlink实现了多处理器之 间的高速串行互连;并且在实际的实验过程中测试通过,实现了大量数据的快速传输,并且 具有以下优点:

1)系统采用了多片高性能的FPGA与DSP,具有强大的并行处理能力;

2)可完整实现双路信号的采集和实时处理,可发送波形,可与PC通信;

3)灵活性、可扩展性强;

4)突破处理器芯片间的数据传输瓶颈;

5)可移植性强

可见,采用高速串行互连方案的多DSP和FPGA并行处理系统在实际应用中具有很大的 通用性和灵活性,有很好的应用前景。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号