您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于FPGA+PCI的并行谋略平台实现

发布日期:2011-05-22

  先容了一种基于PCI总线和多片并行FPGA的高速谋略平台。FPGA+PCI板卡利用平凡PC机作为CPU,通过PCI总线互联,实现了一个并行高速的通用数字运算平台。利用VHDL语言编写种种算法,可用于加解密算法实现和高速数字信号处理惩罚等范畴,而速率相称于教台PC机并行运算。

     当前对付种种加密算法.除了有针对性的破解算法,最根本的头脑便是穷举密钥举行立室,通常称为暴力破解算法。由于暴力破解算法包括密钥个数较多,遍历的时间高出实际可担当的范畴。要是谋略速率进步到充足快。这种遍历的算法因布局计划简便而具有实际应用的远景。

     PCI总线(外设互联总线)与传统的总线标准——ISA总线(产业标准布局总线)相比,具有更高的传输率(132MBps)、支持32位处理惩罚器及DMA和即插即用等好处,用于代替ISA总线而成为如今台式谋略机的究竟I/O总线标准,在平凡PC机和工控机上有着遍及的应用。PCI总线为餍足在插卡和体系存储器中高速传输数据的请求提供了很好的途径。

     PCI总线是一种独立于处理惩罚器的局部总线,因此通过PCI总线插入扩展板,利用并提拔平凡PC机和工控机对大范围数字信号处理惩罚的运算本领和速率是一项非常具有实用意义的事变。

     随着数字技能日益遍及的应用,以现场可编程门阵列(FPGA)为代表的ASIC器件得到了敏捷遍及和生长,器件集成度和速率都在高速增长。FPGA既具有门阵列的高逻辑密度和高可靠性,又具有可编程逻辑器件的用户可编程特性,可以淘汰体系计划和维护的危害,低落产品本钱,收缩计划周期。FPGA与通用CPU相比又具有如下明显好处:

     (1)FPGA一样平常均带有多个加法器和移位器,分外得当多步调算法中雷同运算的并行处理惩罚。通用CPU只能提供有限的多级流水线作业。
   

      (2)一块FPGA中可以集成数个算法并行运算。通用CPU一样平常只能对一个算法串行处理惩罚。
  

     (3)基于FPGA计划的板卡功耗小、体积小、本钱低,分外得当板卡问的并联。

     本文先容的基于PCI总线的FPGA谋略平台的体系实现:通过在PC机上插入扩展PCI卡,对算法举行针对并行运算的计划,提拔平凡PC机对大谋略量数字信号的处理惩罚速率。本计划采取5片FPGA芯片及相干周边芯片计划实现这一并行高速谋略平台,并在该平台上完成了DES和MD5等算法的加密和解密。文中通过基于MD5算法计划的加密方案(仿Yahoo邮箱的暗码校验)举行暴力破解,验证了本体系的可行性以及速率快、性价比高等明显好处。

     1 体系布局
   

     体系利用平凡PC机或工控机举行控制、数据流下载和结果征求,大谋略量的数字运算利用IP-CORE技能并行地在FPGA中举行。将数字信号处理惩罚的算法计划为一个单位模块,并根据芯片的布局对结会商布线举行优化,该单位模块重复利用的技能被称为IP-CORE技能。在本体系中利用TP-CORE的可重复利用性,通过仲裁逻辑调理数据的分派,从而实现算法的并行处理惩罚。

     1.1 硬件布局
   

     体系中采取5片ALTERA公司的STRATIX EP1Sl0FPGA芯片,此中4片作为数字信号处理惩罚算法CORE的载体(文中称为算法FPGA);l片作为连接PC机与运算CORE的桥接芯片、加载步伐、并行总线裁决和停止讯断等仲裁逻辑的载体。与PCI总线的接口利用PLX公司的PCI9054芯片。体系硬件布局如图l所示。

     1.2 逻辑布局
   

      BRIDGE FPGA的步伐采取自顶向下的计划要领,其逻辑布局如图2所示,按成果可分为以下部分:顶层模块PCI_FPGA_PARALLEL;与PCI9054的接口模块PCI接口;数据缓存及仲裁部分:数据缓存模块FIFO、寄存器模块regpart、数据回传模块deserial、内部总线仲裁和流控模块CORE接口等。

     PCI接口部分实现与PCI9054芯片的接口时序,使得复用的地点和数据退出,孕育产生地点空间的选取及使能信号,便于后端处理惩罚。

     仲裁逻辑部分:
  

       (1)实现对地点空间内数据缓冲区、种种寄存器的读写,以及根据配置寄存器的内容对算法CORE和桥FPGA做相应的操纵(配置、启动、克制、复位等)。
   

      (2)利用缓冲区及FIF0的行列步队长度信号wrusedw、rdusedw、full和empty举行数据流控制。数据由PC机下载时起首进入缓冲区,每一块算法CORE均映射一个数据下行FIFO,由FIFO当前状态来鉴定是否从缓冲区中取数。详细逻辑模型如图3所示。

     (3)返回结果引入本地停止机制,当有精确结果孕育产生、或无精确结果但密钥立室完成、或体系非常状态,均孕育产生停止信号并填写停止范例寄存器,经级联后孕育产生向PC机的停止。停止讯断如图4所示。
   

     (4)实现与算法core间的协议逻辑,控制多种数据流的下行以及结果的返回。

     2 MD5算法简介
   

     MD5(Message Digest 5)报文择要算法是一种应用遍及的提取数字指纹的算法标准,它由MIT的暗码学专家、RSA算法的发明人之一Rivest计划发明。MD5算法布局如图5所示。

     对恣意长度的信息输入,MD5都将孕育产生一个长度为128bit的输出,这一输出可以被看作是原输入报文的“报文择要值(Message Digest)”。

     MD5的特点:
  

   (1)两条差别的报文具有雷同的报文择要值的大概性极小。
   

   (2)对付预先给定的报文择要值,要想探求到一条报文,使得其报文择要值与某个给定的报文择要值相称,在谋略上是不大概的。
   

   (3)根据报文的择要值,要想推测出原来的报文是极度困难的。

     MD5算法被遍及地应用于网络数据完备性查抄以及种种数据加密技能中。Yahoo邮箱暗码算法是基于两次MD5算法。共算法步调如下:
   

    stepl:对一个暗码字段(比方:"dfeag~hyt"),用MD5算法加密:h=md5 ("dfertgrhyt")。
     

   step2:将step1所得结果转换为32Bytes的hex值:hex(h)。
   

   step3:将step2所得结果与一个yahoo提供的chanllenge值大略级联:string=hex(h)+chanUenge
   

   step4:将step3所得结果再举行一次MD5运算:hash=md5(strmg)。

     由于未得到实际Yaheo邮箱暗码天生参数(比方challenge码),本文布局了相近算法以测试本体系性能。

     测试方案如下:
   

   提供一个已知的challenge值与相应的Hash值,从提供的字典中提取符合暗码,由天生算法谋略出映射的Hash值与提供的Hash值立室来校验立室的暗码。密钥字典的孕育产生有两种方法:人为布局字典及体系自加、穷举孕育产生密钥。

   3 实测性能阐发
   

   实际体系中算法CORE运算时钟为20MHz,64bit数据宽度输入;采取多级流水线计划及运算速率便是体系运行时钟的速率。除运算初期流水线创建进程和运算结束时流水线完成进程,运算速率均可视为20MHz;实际制成的体系为四片算法FPGA并行运算,实际吞吐量为4×20M×16bit=1.28Gb;经Ahem Quartus 4.1综合,实际仲裁逻辑占用3725个逻辑单位。综合频率最高为156.2MHz,单算法逻辑占用7718个逻辑单位,综合频率最高为37.10MHz。

     典范的平凡PC机定点运算必要多个指令周期,包括取指令、取数据、谋略、生存数据等指令周期,而一个x86指令周期又由多个CPU时钟周期构成,大大低落了实际运算速率。由于单个CORE以20MHz时钟流水线运算,相称于一台平凡PC机的运算速率,因此多个CORE并行运算即可到达多台PC机并行运算的服从。

     采取密钥字典自FPGA穷举孕育产生方法,可发挥算法CORE的最大效能。若采取密钥字典自PC机下载方法,则实际速率由PCI总线最高速率决定。但由于字典可以人为选取,大大低落了密钥选取的盲目性。本体系接入平凡PC机上32bit、32MHz的PCI总线,单算法CORE连续运算(64bit×20MHz)即可餍足PCI总线全速下载。若利用64bit、66MHz的PCI总线或PCI EXPRESS,将进一步进步体系的实际吞吐量。

     本文提出了一种基于FPGA的得当大范围数字信号处理惩罚的并行处理惩罚布局,利用CORE的可置换性,可以针对差别应用的数字运算计划差别的CORE,体系通用性的特点非常明显。一台平凡PC机中可以同时插入数块PCI卡。每块卡上的恣意一块算法FPGA都可提供相称或高出一台平凡PC机的运算速率。而每增长一块算法FPGA,在服从进步一倍的条件下,功耗增长不高出10W,而体积险些稳固,本钱也只是比平凡PC机增长了五分之一。因此.本文提出的并行布局具有极高的性价比。

     要是将PCI总线接口模块集成到FPGA中以代替PCI9054芯片,将进一步低落硬件本钱,淘汰硬件计划的巨大度;因实际运算速率与算法的并行度和优化有密切的干系,因此,计划差别应用的CORE以及相干算法的优化是下一步要举行的紧张事变。