當前位置:首頁 > EDA > 電子設計自動化
[導讀]本文提出了一種基于FPGA的適合大規(guī)模數(shù)字信號處理的并行處理結構,利用CORE的可置換性,可以針對不同應用的數(shù)字運算設計不同的CORE,系統(tǒng)通用性的特點非常顯著。

    當前對于各種加密算法.除了有針對性的破解算法,最基本的思想就是窮舉密鑰進行匹配,通常稱為暴力破解算法。由于暴力破解算法包含密鑰個數(shù)較多,遍歷的時間超過實際可接受的范圍。如果計算速度提高到足夠快。這種遍歷的算法因結構設計簡便而具有實際應用的前景。

  PCI總線(外設互聯(lián)總線)與傳統(tǒng)的總線標準——ISA總線(工業(yè)標準結構總線)相比,具有更高的傳輸率(132MBps)、支持32位處理器及DMA和即插即用等優(yōu)點,用于取代ISA總線而成為目前臺式計算機的事實I/O總線標準,在普通PC機和工控機上有著廣泛的應用。PCI總線為滿足在插卡和系統(tǒng)存儲器中高速傳輸數(shù)據(jù)的要求提供了很好的途徑。

  PCI總線是一種獨立于處理器的局部總線,因此通過PCI總線插入擴展板,利用并提升普通PC機和工控機對大規(guī)模數(shù)字信號處理的運算能力和速度是一項非常具有實用意義的工作。

  隨著數(shù)字技術日益廣泛的應用,以現(xiàn)場可編程門陣列(FPGA)為代表的ASIC器件得到了迅速普及和發(fā)展,器件集成度和速度都在高速增長。FPGA既具有門陣列的高邏輯密度和高可靠性,又具有可編程邏輯器件的用戶可編程特性,可以減少系統(tǒng)設計和維

護的風險,降低產(chǎn)品成本,縮短設計周期。FPGA與通用CPU相比又具有如下顯著優(yōu)點:

  (1)FPGA一般均帶有多個加法器和移位器,特別適合多步驟算法中相同運算的并行處理。通用CPU只能提供有限的多級流水線作業(yè)。

  (2)一塊FPGA中可以集成數(shù)個算法并行運算。通用CPU一般只能對一個算法串行處理。

  (3)基于FPGA設計的板卡功耗小、體積小、成本低,特別適合板卡問的并聯(lián)。

  本文介紹的基于PCI總線的FPGA計算平臺的系統(tǒng)實現(xiàn):通過在PC機上插入擴展PCI卡,對算法進行針對并行運算的設計,提升普通PC機對大計算量數(shù)字信號的處理速度。本設計采用5片F(xiàn)PGA芯片及相關周邊芯片設計實現(xiàn)這一并行高速計算平臺,并在該平臺上完成了DES和MD5等算法的加密和解密。文中通過基于MD5算法設計的加密方案(仿Yahoo郵箱的密碼校驗)進行暴力破解,驗證了本系統(tǒng)的可行性以及速度快、性價比高等顯著優(yōu)點。

  1 系統(tǒng)結構

  系統(tǒng)利用普通PC機或工控機進行控制、數(shù)據(jù)流下載和結果采集,大計算量的數(shù)字運算利用IP-CORE技術并行地在FPGA中進行。將數(shù)字信號處理的算法設計為一個單元模塊,并根據(jù)芯片的結構對布局和布線進行優(yōu)化,該單元模塊重復利用的技術被稱為IP-CORE技術。在本系統(tǒng)中利用TP-CORE的可重復利用性,通過仲裁邏輯調度數(shù)據(jù)的分配,從而實現(xiàn)算法的并行處理。

  1.1 硬件結構

  系統(tǒng)中采用5片ALTERA公司的STRATIX EP1Sl0FPGA芯片,其中4片作為數(shù)字信號處理算法CORE的載體(文中稱為算法FPGA);l片作為連接PC機與運算CORE的橋接芯片、加載程序、并行總線裁決和中斷判決等仲裁邏輯的載體。與PCI總線的接口使用PLX公司的PCI9054芯片。系統(tǒng)硬件結構如圖l所示。

系統(tǒng)硬件結構

  1.2 邏輯結構

  BRIDGE FPGA的程序采用自頂向下的設計方法,其邏輯結構如圖2所示,按功能可分為以下部分:頂層模塊PCI_FPGA_PARALLEL;與PCI9054的接口模塊PCI接口;數(shù)據(jù)緩存及仲裁部分:數(shù)據(jù)緩存模塊FIFO、寄存器模塊regpart、數(shù)據(jù)回傳模塊deserial、內部總線仲裁和流控模塊CORE接口等。

  PCI接口部分實現(xiàn)與PCI9054芯片的接口時序,使得復用的地址和數(shù)據(jù)分開,產(chǎn)生地址空間的選取及使能信號,便于后端處理。

  仲裁邏輯部分:

  (1)實現(xiàn)對地址空間內數(shù)據(jù)緩沖區(qū)、各種寄存器的讀寫,以及根據(jù)配置寄存器的內容對算法CORE和橋FPGA做相應的操作(配置、啟動、停止、復位等)。

  (2)利用緩沖區(qū)及FIF0的隊列長度信號wrusedw、rdusedw、full和empty進行數(shù)據(jù)流控制。數(shù)據(jù)由PC機下載時首先進入緩沖區(qū),每一塊算法CORE均對應一個數(shù)據(jù)下行FIFO,由FIFO當前狀態(tài)來判定是否從緩沖區(qū)中取數(shù)。具體邏輯模型如圖3所示。

  (3)返回結果引入本地中斷機制,當有正確結果產(chǎn)生、或無正確結果但密鑰匹配完成、或系統(tǒng)異常狀態(tài),均產(chǎn)生中斷信號并填寫中斷類型寄存器,經(jīng)級聯(lián)后產(chǎn)生向PC機的中斷。中斷判決如圖4所示。

中斷判決

  (4)實現(xiàn)與算法core間的協(xié)議邏輯,控制多種數(shù)據(jù)流的下行以及結果的返回。 

2 MD5算法簡介

  MD5(Message Digest 5)報文摘要算法是一種應用廣泛的提取數(shù)字指紋的算法標準,它由MIT的密碼學專家、RSA算法的發(fā)明人之一Rivest設計發(fā)明。MD5算法結構如圖5所示。

  對任意長度的信息輸入,MD5都將產(chǎn)生一個長度為128bit的輸出,這一輸出可以被看作是原輸入報文的“報文摘要值(Message Digest)”。

  MD5的特點:

  (1)兩條不同的報文具有相同的報文摘要值的可能性極小。

  (2)對于預先給定的報文摘要值,要想尋找到一條報文,使得其報文摘要值與某個給定的報文摘要值相等,在計算上是不可能的。

  (3)根據(jù)報文的摘要值,要想推測出原來的報文是極端困難的。

  MD5算法被廣泛地應用于網(wǎng)絡數(shù)據(jù)完整性檢查以及各種數(shù)據(jù)加密技術中。

  Yahoo郵箱密碼算法是基于兩次MD5算法。共算法步驟如下:

  stepl:對一個密碼字段(例如:dfeag~hyt),用MD5算法加密:h=md5 (dfertgrhyt)。

  step2:將step1所得結果轉換為32Bytes的hex值:hex(h)。

  step3:將step2所得結果與一個yahoo提供的chanllenge值簡單級聯(lián):string=hex(h)+chanUenge

  step4:將step3所得結果再進行一次MD5運算:hash=md5(strmg)。

  由于未得到實際Yaheo郵箱密碼生成參數(shù)(例如ch

allenge碼),本文構造了相近算法以測試本系統(tǒng)性能。

  測試方案如下:

  提供一個已知的challenge值與相應的Hash值,從提供的字典中提取合適密碼,由生成算法計算出對應的Hash值與提供的Hash值匹配來校驗匹配的密碼。密鑰字典的產(chǎn)生有兩種方式:人為構造字典及系統(tǒng)自加、窮舉產(chǎn)生密鑰。

  3 實測性能分析

  實際系統(tǒng)中算法CORE運算時鐘為20MHz,64bit數(shù)據(jù)寬度輸入;采用多級流水線設計及運算速度就是系統(tǒng)運行時鐘的速度。除運算初期流水線建立過程和運算結束時流水線完成過程,運算速度均可視為20MHz;實際制成的系統(tǒng)為四片算法FPGA并行運算,實際吞吐量為4×20M×16bit=1.28Gb;經(jīng)Ahem Quartus 4.1綜合,實際仲裁邏輯占用3725個邏輯單元。綜合頻率最高為156.2MHz,單算法邏輯占用7718個邏輯單元,綜合頻率最高為37.10MHz。

  典型的普通PC機定點運算需要多個指令周期,包括取指令、取數(shù)據(jù)、計算、保存數(shù)據(jù)等指令周期,而一個x86指令周期又由多個CPU時鐘周期組成,大大降低了實際運算速度。由于單個CORE以20MHz時鐘流水線運算,相當于一臺普通PC機的運算速度,因此多個CORE并行運算即可達到多臺PC機并行運算的效率。

  采取密鑰字典自FPGA窮舉產(chǎn)生方式,可發(fā)揮算法CORE的最大效能。若采取密鑰字典自PC機下載方式,則實際速率由PCI總線最高速率決定。但由于字典可以人為選取,大大降低了密鑰選取的盲目性。本系統(tǒng)接入普通PC機上32bit、32MHz的PCI總線,單算法CORE連續(xù)運算(64bit×20MHz)即可滿足PCI總線全速下載。若使用64bit、66MHz的PCI總線或PCI EXPRESS,將進一步提高系統(tǒng)的實際吞吐量。

  本文提出了一種基于FPGA的適合大規(guī)模數(shù)字信號處理的并行處理結構,利用CORE的可置換性,可以針對不同應用的數(shù)字運算設計不同的CORE,系統(tǒng)通用性的特點非常顯著。一臺普通PC機中可以同時插入數(shù)塊PCI卡。每塊卡上的任意一塊算法FPGA都可提供相當或超過一臺普通PC機的運算速度。而每增加一塊算法FPGA,在效率提高一倍的前提下,功耗增加不超過10W,而體積幾乎不變,成本也只是比普通PC機增加了五分之一。因此.本文提出的并行結構具有極高的性價比。

  如果將PCI總線接口模塊集成到FPGA中以取代PCI9054芯片,將進一步降低硬件成本,減少硬件設計的復雜度;因實際運算速度與算法的并行度和優(yōu)化有密切的關系,因此,設計不同應用的CORE以及相關算法的優(yōu)化是下一步要進行的重要工作。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉