基于FPGA与PCI总线的并行计算平台设计实现

发布者:VS821001最新更新时间:2015-04-15 来源: cechina关键字:FPGA  PCI总线  并行计算平台 手机看文章 扫描二维码
随时随地手机看文章
     当前对于各种加密算法.除了有针对性的破解算法,最基本的思想就是穷举密钥进行匹配,通常称为暴力破解算法。由于暴力破解算法包含密钥个数较多,遍历的时间超过实际可接受的范围。如果计算速度提高到足够快。这种遍历的算法因结构设计简便而具有实际应用的前景。

        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接口等。[page]
        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以及相关算法的优化是下一步要进行的重要工作。

关键字:FPGA  PCI总线  并行计算平台 引用地址:基于FPGA与PCI总线的并行计算平台设计实现

上一篇:先进诊断功能提升现场总线操作体验
下一篇:基于CAN总线的电子机械式制动系统电控单元的实现

推荐阅读最新更新时间:2024-05-02 23:37

FPGA实现的FIR算法在汽车动态称重仪中的应用
引言   车辆在动态称重时,作用在平台上的力除真实轴重外,还有许多因素产生的干扰力,如:车速、车辆自身谐振、路面激励、轮胎驱动力等,给动态称重实现高精度测量造成很大困难。若在消除干扰的过程中采用模拟方法滤波,参数则不能过大,否则将产生过大的延迟导致不能实现实时处理,从而造成滤波后的信号仍然含有相当一部分的噪声。所以必须采用数字滤波消除干扰。 FIR滤波的原理及实现   本文采用FIR数字滤波,其原理如公式1所示。   Y(n)= (1)   其中h(k)为系统滤波参数,x(n)为采集的信号,Y(n)为滤波后的输出信号。   FIR滤波器的h(n)0≤n≤N-1   H(z)= (2)   在本文中N=17。由于h(n
[应用]
基于FPGA无线传感器网络MAC控制器的设计
媒体访问控制(Medium Access Control,MAC)协议处于无线传感器网络协议的物理层和网络层之间。用于在传感器节点间公平有效地共享通信媒介。它完成载波侦听多路访问(CSMA/CA)的信道存取、协议格式成帧或解帧、自动应答、系统多周期定时和帧校验等功能。   不同传感网络的应用有着不同MAC协议,其中IEEE802.15. 4是最具代表性的协议。本文给出了用FPGA的控制逻辑来实现无线传感器网络MAC控制器的设计方法,并最终实现了符合IEEE802.15.4协议的控制器。   1 总体设计方案   无线传感器网络控制器的FPGA设计包括无线传感器网络MAC子层的FPGA设计、MAC子层与上层协议的接口设计以及
[嵌入式]
基于<font color='red'>FPGA</font>无线传感器网络MAC控制器的设计
基于FPGA的模拟表头测试系统设计
光纤陀螺是激光陀螺的一种,是惯性技术和光电子技术紧密结合的产物。它利用Sagnac干涉效应,用光纤构成环形光路,并检测出随光纤环的转动而产生的两路超辐射光束之间的相位差,由此计算出光纤环旋转的角速度。光纤陀螺仪主要由表头和调制解调电路两个部分组成。伺服于表头的调制解调电路根据输入的电信号,经过相应的变换后形成反馈信号送至表头的相位调制器中。在实际的应用过程中,相应的调制解调电路应该根据温度、振动等情况做出相应的改变,才能最大限度地保证陀螺的精度要求。本文设计了一种基于FPGA的测试系统,模拟光纤陀螺仪的表头,并检测调制解调电路的性能。 模拟表头的基本原理及结构 表头的主要功能是将Sagnac效应产生的光程差所引起的相位变化通过
[测试测量]
基于<font color='red'>FPGA</font>的模拟表头测试系统设计
Altera采用英特尔FinFET技术,FPGA进入3D时代
日前,Altera发布消息,称将会采用英特尔14nm FinFET制程代工其最新款FPGA,迄今为止,该合作并没有其他任何公开信息披露。 借由14nm,Altera确立领先地位 Altera拒绝披露该合作任何细节,包括产品的种类及时间。不过有报道称,Altera CEO John Daane曾表示英特尔将在未来两到四年内凭借14nm FinFET技术成为顶级代工商,而为了追求更高密度更高性能以及更低的功耗,Altera会考虑将其最高端产品交由最领先的代工商。 Daane评论说:“Altera FPGA使用英特尔 14 nm技术,帮助客户设计业界最先进、性能最好的FPGA。而且,Altera是唯一使用这一技术的
[半导体设计/制造]
Altera采用英特尔FinFET技术,<font color='red'>FPGA</font>进入3D时代
基于FPGA的高带宽存储接口设计
  如今,越来越多的应用场景都需要FPGA能够和外部存储器之间建立数据传输通道,如视频、图像处理等领域,并且对数据传输通道的带宽也提出了较大的需求,这就导致了FPGA和外部Memory接口的实际有效带宽成为了制约系统性能的瓶颈,所以Memoiy控制器的效能,则成为提升系统性能的关键要素。Altera最新一代28nm器件中的Cyclone V和Arria V系列FPGA都集成了硬核存储控制器HMC(Hard Memory Controll er)单元,相比于以往的软核解决方案,硬核解决方案能够在帮助降低系统功耗的同时显著提升接口工作性能,适合应用于对Memory接口带宽有较大需求的场合。   1 存储器接口的底层架构   Q
[嵌入式]
基于Linux平台下的FPGA的ARM驱动开发方法
Linux操作系统的全称是GNU/Linux,它是由GNU工程和Linux内核两个部分共同组成的一个操作系统。该系统中所有组件的源代码都是自由的,可以有效保护学习成果,因而在嵌入式领域得到了广泛的应用。 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,该器件是作为专用集成电路ASIC (Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,它的出现既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。在通信行业、传输网、医疗仪器、各种电子仪器、安防监控、电力系统、汽车电子以及消费类电子中都大面积使用。随着产
[单片机]
基于Linux<font color='red'>平台</font>下的<font color='red'>FPGA</font>的ARM驱动开发方法
Enclustra瑞苏盈科FPGA核心板在无线电视系统中的应用
无线电视系统的设计依赖于一些关键的技术和构建模块。FPGA(现场可编程门阵列)技术可以在无线电视应用中发挥重要作用,特别是在数字电视信号的传输和接收方面。 LiveTools Technology SA LiveTools Technology SA是一家成立于1997年的瑞士公司(之前名为Broadcast Services),在全球无线电视制作服务方面有着广泛的背景。它为电视信号传输链接提供了SoloRX紧凑型软件无线电接收器。 Enclustra(瑞苏盈科)于今年举办的EmbeddedWorld2003嵌入式展上,很荣幸邀请到来自瑞士的LiveTools,并展示了他们一款基于Enclustra ZX1 核心板所
[嵌入式]
Enclustra瑞苏盈科<font color='red'>FPGA</font>核心板在无线电视系统中的应用
基于FPGA的直接数字频率合成技术设计
摘要:介绍了利用现场可编程逻辑门阵列FPGA实现直接数字频率合成(DDS)的原理、电路结构和优化方法。重点介绍了DDS技术在FPGA中的实现方法,给出了采用ALTERA公司的ACEX系列FPGA芯片EP1K30TC进行直接数字频率合成的VHDL源程序。 关键词:直接数字频率合成(DDS);现场可编程逻辑门阵列(FPGA);EP1K30TC-144 直接数字频率合成(Direct Digital Fraquency Syn-thesis即DDFS,一般简称DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨率以及集成化等一系列性能指标方面已远远超过了传统频率
[半导体设计/制造]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved