《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA PCI的并行計算平臺
基于FPGA PCI的并行計算平臺
摘要: 基于FPGAPCI的并行計算平臺實,本文介紹的基于PCI總線的FPGA計算平臺的系統實現:通過在PC機上插入擴展PCI卡,對算法進行針對并行運算的設計,提升普通PC機對大計算量數字信號的處理速度。本設計采用5片FPGA芯片及相關周邊芯片設計實現這一并行高速
關鍵詞: FPGA PCI
Abstract:
Key words :

本文介紹的基于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以及相關算法的優化是下一步要進行的重要工作。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲一区免费观看 | 99在线视频免费 | 最近最新中文字幕免费大全3 | 免费一级e一片在线播放 | 午夜高清影院 | jizz国产丝袜18老师女人 | 影音先锋一区 | 亚洲九九九 | 美国一级毛片免费看成人 | 亚洲第一视频在线 | 91啦在线播放 | 影音先锋一区 | 欧美精品手机在线 | 亚洲七七久久综合桃花 | 国产在线播放网址 | 搞黄视频免费 | 一级女性全黄生活片免费看 | 国产成人在线观看免费网站 | 九月婷婷人人澡人人添人人爽 | l欧美18一19sex性 | 麻豆va在线精品免费播放 | 色黄啪啪网18以下勿进动画 | 久免费视频 | 日本欧美强乱视频在线 | 涩涩精品 | 成人免费视频软件网站 | 国产一区日韩二区欧美三区 | 色美女影院 | 免费看片的网址 | 午夜韩国理论片在线播放 | 在线 成人 | 日韩精品久久久久影院 | 成年人午夜在线 | 中文字幕在线乱人伦 | 182tv成人午夜在线观看 | 日韩成人精品日本亚洲 | 免费日韩精品 | 亚洲一区区 | yy6080理aa级伦大片一级 | 精品999 | 日韩国产免费 |