买芯片网
XILINX(AMD),ALTERA(INTEL),LATTICE
聚焦三大FPGA芯片品牌,强大的现货交付能力
Xilinx,Altera,Lattice
买芯片网代理Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)
首页 >> Xilinx新闻 >> 以基于赛灵思 FPGA 的硬件加速技术打造高速系统
以基于赛灵思 FPGA 的硬件加速技术打造高速系统

设计人员时常需要通过增加计算能力或额外输入(或两者)延长现有的嵌入式系统的寿命。而可编程系统平台在这里大有用武之地。我们曾经希望用安全网络连接功能升级一套网络可编程系统。安全网络连接功能需要加密才能运行安全外壳(SSH)、传输层安全(TLS)、安全套接层(SSL)或虚拟专用网(VPN)等协议。这种安全需求与把各种系统接入因特网的需求同步增长,例如,为了启用远程管理与分布式控制系统。

买芯片网专注整合全球优质赛灵思代理商现货资源,是国内领先的Altera(英特尔)、Lattice(莱迪思)、Xilinx(赛灵思 AMD)芯片采购服务平台,买芯片网轻松满足您的芯片采购需求.

因该领域仍在发展并且标准尚未固定,因此成本主要取决于一次性工程费用。所以,FPGA技术能实现最高价值。我们的系统基于MissingLinkElectronics(MLE)公司的“软”硬件平台,其FPGA灵活的I/O能够连接各种传感器和执行器。该平台采用可编程逻辑实现片上系统,以MicroBlaze™CPU或PowerPC®CPU作为其核心。CPU为操作系统与用户空间应用软件运行MLELinux软件栈。由于采用MicroBlaze或PowerPC作为主CPU,当运行嵌入式Linux操作系统外加强大加密功能时该系统显然无法提供所需要的计算性能。况且也无法改变物理硬件。为了实现系统加速,我们使用可编程系统把计算从软件域转移到硬件侧。

协处理硬件可编程系统基本上是一个或几个CPU(运行操作系统与应用软件)的组合,外加一个FPGA。FPGA在其中用作灵活的接口“适配器”及协处理硬件。我们可以在单独辅助芯片上实现可编程系统,或者将全部都集成到单个的器件上。我们可以根据FPGA器件和CPU之间的通信方式,采用不同方法调节系统性能和功能。

其中一种方法就是添加对等处理器,通过内存映射状态和控制寄存器与CPU实现同步。因为通过同一系统总线运行所有通信会很快降低性能,因此我们实际上希望把CPU数据流与对等处理器分开。而采用赛灵思CentralDMA或多端口储存器控制器(MPMC)等片上系统组件能够轻松满足上述愿望。

另外,也可以增加一个协处理器,这种情况下能通过增加自定义指令(也叫编译功能)有效地扩展CPU的指令集。例如,它适合浮点单元,而且赛灵思结构协处理器模块(FCM)技术能轻松支持上述功能。此处的优势是在CPU和协处理器之间使用一条从内存到系统总线的专用通信通道。对于PowerPC,其为辅助处理单元(APU),而对于MicroBlaze,则是快速单工链路(FSL)。

图1—在采用Valgrind工具的SCP传输中,AES加密占用三分之二的计算任务。

AES:黄金标准

但是没有重大的系统重新设计,又该如何真正加速加密?

对于加密,高级加密标准(AES)是一个事实标准。

采用AES加密时,无法通过定义减少计算任务,从而使嵌入式系统很快达到性能极限。,其中显示用Valgrind分析工具、通过SCP(SSH会话)进行的文件传输的分析结果。此时AES加密占用三分之二计算任务。

AES-128采用秘钥和128位块大小,使用许多并发8字节运算。AES属于分组密码,基于按4x4字节阵列组织的固定分组大小运算。我们曾经采用128位分组大小,它能抵挡所有已知攻击,安全性甚至强于192位和256位版本。

采用128位AES时,执行加密与解密需要12个回合,每个回合需要几步运算。第一项任务是通过所谓的密匙扩展过程从密钥中算出回合金钥。每个回合都采用纯文本自身的回合密匙执行纯文本的逐位异或运算。然后进行字节代替、行位移和列混合运算,并再次执行回合金钥的异或运算。

最后一个回合稍有不同,因为其中省略了一些步骤。加密过程采用所谓的S盒(其提供非线性)执行替代。我们可以把它安置到一个16×16×8位矩阵中,从而能够适应常见的赛灵思BRAM原语。多个S盒实例可以加速IP核并在适当的位置为内核提供所需数据,而无需等待对主存储器的长时间总线存取。解密过程大同小异,其采用相同密钥,但方向相反,并且使用不同S盒。

快12倍

在加密和解密中,大部分运算按行或列执行,剩下四项运算并行计算—而硬件对此任务得心应手。这样就能够通过不同来源实现AES硬件的各个部分。为了加速系统,我们从庞大、快速增长的OpenCores.org资源库获取AES内核。

我们删除了原有的总线接口(因为它适用于另一种FPGA架构),另外为APU添加了一个接口,以便把AES内核作为FCM协处理器连接到PowerPC上。我们共使用8个所谓的UDI指令在PowerPC和AESFCM之间传输数据。工作结果非常令人满意(见图2)。硬件加速的系统比原实现快了12倍。原来用以300MHz运行的独立的PowerPC加密一个单块需要17.8微秒,而采用以150MHz运行的AESFCM只需1.5微秒。如果只以升级到速度稍快的CPU来加速运算,我们采用硬件加速后的1.5微秒速度表现超过基于IntelAtom1.6-GHzCPU的纯软件实现(其需要2.7微秒)。上述结果证明了使用FPGA技术的硬件加速的卓越潜能。

图2—硬件加速系统(中间绿条)快于独立的PowerPC或Atom处理器。

Xilinx芯片今日搜索排行榜(2026/7/4)
XC3SD1800A-4CS484LI
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:484-CSPBGA(19x19)
XCZU4EV-1FBVB900I
集成电路(IC) > 嵌入式 > 片上系统(SoC)
封装:900-FCBGA(31x31)
XC4013XL-3PQ208C
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:208-PQFP(28x28)
XCV100-5FG256C
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:256-FBGA(17x17)
XC5VLX155T-2FF1738C
FPGA现场可编程门阵列
1738-FCBGA
XC5VLX330-1FFG1760I
FPGA现场可编程门阵列
1760-FCBGA
XC3S700AN-5FGG484C
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:484-FBGA(23x23)
XC9572XL-7VQG64I
集成电路(IC) > 嵌入式 > CPLD(复杂可编程逻辑器件)
封装:64-VQFP(10x10)
LFEC3E-4T100I
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:100-TQFP(14x14)
LAE3-35EA-6LFN672E
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:672-FPBGA(27x27)
M4A5-32/32-12VNI48
集成电路(IC) > 嵌入式 > CPLD(复杂可编程逻辑器件)
封装:48-TQFP(7x7)
ISPLSI 1016-60LT44I
集成电路(IC) > 嵌入式 > CPLD(复杂可编程逻辑器件)
封装:44-TQFP(10x10)
EPM570GT100C5
集成电路(IC) > 嵌入式 > CPLD(复杂可编程逻辑器件)
封装:100-TQFP(14x14)
1SG211HN1F43I1VG
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:1760-FBGA(42.5x42.5)
5SGXMA7N2F45I2LG
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:1932-FBGA,FC(45x45)
5SGXEA7N2F45C3G
集成电路(IC) > 嵌入式 > FPGA(现场可编程门阵列)
封装:1932-FBGA,FC(45x45)
Xilinx(赛灵思,AMD)产品及其应用
Xilinx(赛灵思,AMD)公司新闻
买芯片网轻松满足您的芯片采购需求
买芯片网,独家代理渠道,专注三大品牌:XILINX(赛灵思 AMD)ALTERA(英特尔 INTEL)LATTICE(莱迪思)