基于FPGA PCI的并行計算平臺實
本文介紹的基于PCI總線的FPGA計算平臺的系統實現:通過在PC機上插入擴展PCI卡,對算法進行針對并行運算的設計,提升普通PC機對大計算量數字信號的處理速度。本設計采用5片FPGA芯片及相關周邊芯片設計實現這一并行高速計算平臺,并在該平臺上完成了DES和MD5等算法的加密和解密。文中通過基于MD5算法設計的加密方案(仿Yahoo郵箱的密碼校驗)進行暴力破解,驗證了本系統的可行性以及速度快、性價比高等顯著優點。
本文引用地址:http://www.104case.com/article/150290.htm1 系統結構
系統利用普通PC機或工控機進行控制、數據流下載和結果采集,大計算量的數字運算利用IP-CORE技術并行地在FPGA中進行。將數字信號處理的算法設計為一個單元模塊,并根據芯片的結構對布局和布線進行優化,該單元模塊重復利用的技術被稱為IP-CORE技術。在本系統中利用TP-CORE的可重復利用性,通過仲裁邏輯調度數據的分配,從而實現算法的并行處理。
1.1 硬件結構
系統中采用5片ALTERA公司的STRATIX EP1Sl0FPGA芯片,其中4片作為數字信號處理算法CORE的載體(文中稱為算法FPGA);l片作為連接PC機與運算CORE的橋接芯片、加載程序、并行總線裁決和中斷判決等仲裁邏輯的載體。與PCI總線的接口使用PLX公司的PCI9054芯片。系統硬件結構如圖l所示。

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所示。

評論