999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種DES算法的FPGA快速實(shí)現(xiàn)方法*

2011-01-16 15:56:50
艦船電子工程 2011年6期
關(guān)鍵詞:設(shè)計(jì)

(海軍計(jì)算技術(shù)研究所 北京 100841)

1 引言

近年來,密碼技術(shù)的發(fā)展日新月異,出現(xiàn)了大量的新型算法。在DES、AES、RSA等的常用加密算法的基礎(chǔ)上,又出現(xiàn)了新型加密算法。這些新型算法數(shù)學(xué)原理都比較復(fù)雜,實(shí)現(xiàn)難度較大。算法實(shí)現(xiàn)主要有兩種方式:軟件實(shí)現(xiàn)方式和硬件實(shí)現(xiàn)方式。軟件實(shí)現(xiàn)方式是指采用標(biāo)準(zhǔn)C或VC++語言實(shí)現(xiàn)密碼算法,一般可應(yīng)用在CPU、DSP等多種平臺(tái),通用性強(qiáng),但處理能力依賴于處理器性能。硬件實(shí)現(xiàn)是指采用HDL語言和RTL代碼進(jìn)行仿真驗(yàn)證并加載到FPGA實(shí)現(xiàn),算法性能較高。但傳統(tǒng)硬件實(shí)現(xiàn)方式需要經(jīng)驗(yàn)豐富的硬件工程師,不僅要熟悉掌握系統(tǒng)功能設(shè)計(jì)、邏輯資源、工作頻率、功耗要求等,還需手工書寫RTL代碼、驗(yàn)證代碼,工作強(qiáng)度較大。采用FPGA算法C綜合開發(fā)流程可以降低密碼算法實(shí)現(xiàn)工作難度和風(fēng)險(xiǎn),有效提高工作效率。

2 FPGA算法C綜合開發(fā)流程

C語言綜合器是一種將C語言描述輸入轉(zhuǎn)換為寄存器傳輸級(jí)(RTL)描述的高層次算法綜合技術(shù),它的應(yīng)用可使系統(tǒng)建模、綜合、驗(yàn)證、實(shí)現(xiàn)等FPGA或ASIC開發(fā)流程大大簡(jiǎn)化,大幅度縮短新產(chǎn)品的開發(fā)周期。

以往開發(fā)FPGA算法首先進(jìn)行算法分析、仿真得到結(jié)果,再單獨(dú)進(jìn)行HDL的開發(fā)驗(yàn)證。兩者獨(dú)立進(jìn)行,如果設(shè)計(jì)的時(shí)序或面積的目標(biāo)不能滿足要求,需要繼續(xù)不斷地改進(jìn)編寫的RTL代碼,并繼續(xù)不斷地做驗(yàn)證,以期達(dá)到目標(biāo)。改進(jìn)RTL代碼需要花費(fèi)很多的時(shí)間。由于時(shí)間的關(guān)系,設(shè)計(jì)人員對(duì)硬件實(shí)現(xiàn)的微架構(gòu)只能進(jìn)行有限次數(shù)的探索,因此不得不采用次優(yōu)化的RTL代碼。一旦RTL代碼確定下來,就需要用所有可能測(cè)試向量的一個(gè)子集進(jìn)行RTL級(jí)別的驗(yàn)證,而更全面更花時(shí)間的徹底驗(yàn)證需要在FPGA樣機(jī)系統(tǒng)建立以后才能進(jìn)行。

圖1 以往FPGA算法開發(fā)流程

新的使用C綜合開發(fā)流程則將兩個(gè)階段的工作有機(jī)的結(jié)合起來,同時(shí)省掉了大量浪費(fèi)的改進(jìn)RTL代碼的時(shí)間。新的開發(fā)流程圖如圖2所示。

圖2 FPGA算法C綜合開發(fā)流程

顯然,在算法模型開發(fā)階段的代碼可以經(jīng)過簡(jiǎn)單修改后直接代入第二階段的開發(fā),并且省去了HDL語言和RTL代碼的大量修改,當(dāng)正式結(jié)果和參考結(jié)果有誤差時(shí)可以直接進(jìn)入C代碼設(shè)計(jì)架構(gòu)中進(jìn)行調(diào)整和修正。

傳統(tǒng)的設(shè)計(jì)方法是勞動(dòng)密集型的,它們幾乎沒有給設(shè)計(jì)者留下評(píng)估其它可選架構(gòu)的時(shí)間。硬件設(shè)計(jì)者被迫提前對(duì)架構(gòu)的進(jìn)行選擇,從而不可避免地導(dǎo)致非優(yōu)化的硬件實(shí)現(xiàn)。

Catapult C是由Mentor Graphics公司推出的一款C綜合工具。Catapult C的主要特點(diǎn)是,使用標(biāo)準(zhǔn)的C++,比以往的Handle C、System C抽象層次更高,工具優(yōu)化的空間更大。

Catapult C對(duì)C代碼編寫的限制和RT L代碼編寫所受到的限制差不多,核心原因在于,Catapult C主要用于以數(shù)據(jù)處理為主的設(shè)計(jì)中。使用Catapult C來實(shí)現(xiàn)密碼算法,優(yōu)點(diǎn)就非常明顯,可以快速從算法模塊生成RTL代碼;可以方便地評(píng)估不同的微架構(gòu)下,占用的資源和處理延遲等可以大大加快實(shí)驗(yàn)性系統(tǒng)的開發(fā)速度;可以使硬件設(shè)計(jì)師大幅減少編寫RT L的實(shí)現(xiàn)時(shí)間,改善設(shè)計(jì)流程的可靠性。

3 DES算法的FPGA實(shí)現(xiàn)

3.1 算法模型

文獻(xiàn)[1]是在IEEE學(xué)報(bào)上公布的DES算法的高性能全流水架構(gòu)。該架構(gòu)設(shè)計(jì)合理,處理吞吐率高,性能非常優(yōu)異。如圖3和圖4所示。加密處理流程是:

1)輸入64bit明文/64bit密鑰;

2)輸出64bit密文;

3)前處理,迭代變換(密鑰在迭代時(shí)做左移操作),后處理。

采用以上架構(gòu)進(jìn)行C模型開發(fā),代碼不到200行,主要流程如下:

3.2 用Catapult C綜合技術(shù)算法實(shí)現(xiàn)

直接將上述代碼轉(zhuǎn)入Catapult C綜合工具中,對(duì)C模型施加約束,由Catapult C生成RT L代碼,并得到了面積最小和吞吐率最高的兩種結(jié)果。使用Catapult C對(duì)生成的RT L代碼進(jìn)行了功能驗(yàn)證,并通過波形仿真證明了生成的RTL代碼功能完全正確。

表1為生成ETL代碼與文獻(xiàn)[1]IP的性能對(duì)比。

表1 生成RTL代碼與其他文獻(xiàn)算法的性能對(duì)比

由表1可知,與軟件解決方案相比,FPGA解決方案有著更高的處理能力。文獻(xiàn)[1]中兩位作者所開發(fā)的手工RTL(表格第二行),處理能力達(dá)到了1時(shí)鐘/數(shù)據(jù),性能已經(jīng)非常優(yōu)異。而在使用相同架構(gòu)的前提下,Catapult C綜合出的RTL代碼Catapult_v2(表格第四行)與文獻(xiàn)[1]中的結(jié)果相比,處理能力同樣達(dá)到了1時(shí)鐘/數(shù)據(jù),工作效率和處理吞吐率與其相當(dāng),而面積僅為后者的75%左右。同時(shí),在不改變代碼的前提下,通過施加不同的約束,可以得到面積最小的另一個(gè)解決方案Catapult_v1(表格第三行)。這樣同一個(gè)C設(shè)計(jì)可以應(yīng)用于不同的應(yīng)用場(chǎng)合。

4 結(jié)語

Catapult C技術(shù)可以采用易于編寫和調(diào)試標(biāo)準(zhǔn)C/C++輸入,無縫地進(jìn)行FPGA綜合和布局布線,對(duì)同一套C代碼施加不同的約束可以得到多個(gè)不同面積,不同吞吐率的設(shè)計(jì)結(jié)果,C代碼的開發(fā)工作量較VHDL代碼的工作量成倍的減少了,大大地提高設(shè)計(jì)流程的效率。節(jié)約了硬件成本,減小了開發(fā)工作量和開發(fā)難度。

[1]M.McLoone,J.V.M cCanny.High-performance FPGA implementation of DES using a novel method for implementing the key schedule.IEE Proc.:Circuits,Devices&Systems,2003,150:373~378

[2]肖國鎮(zhèn),白恩健,劉曉娟.AES密碼分析的若干新進(jìn)展[J].電子學(xué)報(bào),2003,31(10):1549~1554

[3]Jhing-Fa Wang,Sun-Wei Chang,Po-Chuan Lin.A Novel Round Function Architecture for AES Encryption/Decryption Utilizing Look-up Table.2003

[4]Mó nica Liberatori,Fernando Otero J.C.Bonadero,Jorge Casti eira.AES-128 CIPHER.HIGH SPEED,LOW COST FPGA IMPLEMENTATION.2007

[5]Nalini C,Nagaraj,Dr.Anandmohan P.V,et al.An FPGA Based Performance Analysis of Pipelining and Unrolling of AES Algorithm.2006

[6]R.Sever,N.Ismailoglu,M.Askar,et al.A High Speed ASIC Implementation of theRijndael Algorithm.2004 IEEE InternationalSymposium on Circuits and Systems,May 2004,Vancouver,Canada

[7]I.Verbauwhede,P.Schaumont,H.Kuo.Design and Performance Testing of a 2.29-GB/s Rijndael Processor[J].IEEE Journal of Solid State Circuits,2003,38(3):569~572

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: аⅴ资源中文在线天堂| 国产福利在线免费观看| 香蕉国产精品视频| 久久久精品国产SM调教网站| 无码免费试看| 亚洲中文字幕无码mv| 久久青草精品一区二区三区| 高潮毛片免费观看| 国产特级毛片| 四虎在线观看视频高清无码 | 亚洲天堂2014| 亚洲视频免| 亚洲精品欧美日韩在线| 免费国产小视频在线观看| 91国内视频在线观看| 欧美精品在线观看视频| 麻豆国产精品视频| 国产精品性| 国产乱子伦手机在线| 亚洲日韩AV无码一区二区三区人 | 日本精品影院| 丝袜国产一区| 久久久久亚洲av成人网人人软件 | 亚洲一级色| 午夜在线不卡| 一级黄色欧美| 欧美色视频在线| 亚洲天堂首页| 日本少妇又色又爽又高潮| 亚洲一区网站| 91久久国产热精品免费| 日韩欧美成人高清在线观看| 99成人在线观看| 国产精品中文免费福利| 国产香蕉97碰碰视频VA碰碰看| 国产精品久线在线观看| 狠狠色综合久久狠狠色综合| 99热亚洲精品6码| 国产精品尤物在线| 99re热精品视频国产免费| 欧美在线免费| 国产成人精品第一区二区| 福利姬国产精品一区在线| 精品国产电影久久九九| 亚洲第一色网站| 91视频日本| 国产成人精品亚洲77美色| 久久综合九色综合97婷婷| 国产精品9| 亚洲成人精品| 国产日韩久久久久无码精品| 亚洲水蜜桃久久综合网站| 激情成人综合网| 亚洲视频色图| 熟妇无码人妻| AV不卡在线永久免费观看| 成人精品免费视频| 国产成人高清精品免费| 在线无码九区| 九九九久久国产精品| 亚洲视频免费在线看| 手机永久AV在线播放| 国产精品久久久久无码网站| 九一九色国产| 日本人真淫视频一区二区三区| 好紧好深好大乳无码中文字幕| 91毛片网| 久久精品人人做人人爽电影蜜月| 激情五月婷婷综合网| 在线播放国产一区| 992tv国产人成在线观看| 欧美成人在线免费| 91九色最新地址| 国产va在线观看免费| 五月天福利视频| 亚洲日产2021三区在线| 久久黄色影院| 四虎精品黑人视频| 国产美女自慰在线观看| 香蕉伊思人视频| 亚洲欧洲天堂色AV| 特级aaaaaaaaa毛片免费视频|