基于VerilogHDL的AES加密電路設(shè)計(jì)說明_第1頁
基于VerilogHDL的AES加密電路設(shè)計(jì)說明_第2頁
基于VerilogHDL的AES加密電路設(shè)計(jì)說明_第3頁
基于VerilogHDL的AES加密電路設(shè)計(jì)說明_第4頁
基于VerilogHDL的AES加密電路設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 PAGE26 / NUMPAGES33畢業(yè)設(shè)計(jì)報(bào)告(論文) 基于Verilog HDL的AES加密電路設(shè)計(jì)所屬系 電子工程系 專 業(yè) 電子科學(xué)與技術(shù) 學(xué) 號(hào) 01310248 姓名 學(xué) 敏 指導(dǎo)教師 王 剛 起訖日期 2014.02 2014.05 設(shè)計(jì)地點(diǎn) 東南大學(xué)成賢學(xué)院 畢業(yè)設(shè)計(jì)報(bào)告(論文)誠信承諾 本人承諾所呈交的畢業(yè)設(shè)計(jì)報(bào)告(論文)與取得的成果是在導(dǎo)師指導(dǎo)下完成,引用他人成果的部分均已列出參考文獻(xiàn)。如論文涉與任何知識(shí)產(chǎn)權(quán)糾紛,本人將承擔(dān)一切責(zé)任。學(xué)生簽名:日 期:基于Verilog HDL的AES加密電路設(shè)計(jì)摘 要 現(xiàn)在的信息化社會(huì),計(jì)算機(jī)技術(shù)正飛速地朝著快速、便攜方向發(fā)展,這就意

2、味著電子形式的數(shù)據(jù)與個(gè)人信息正逐漸被我們廣泛使用。因此,網(wǎng)絡(luò)信息安全這個(gè)名詞逐漸進(jìn)入人們的眼球。如何才能保證私密信息不被外界竊取已經(jīng)成為現(xiàn)在學(xué)者們研究的重點(diǎn)項(xiàng)目。本課題正是在這樣的背景下提出的,目的是基于Verilog HDL設(shè)計(jì)一個(gè)AES加密電路。課題完成過程中的主要容包括AES加密算法的原理分析和優(yōu)化設(shè)計(jì),以與后續(xù)的硬件實(shí)現(xiàn)。設(shè)計(jì)AES加密電路的核心就是AES加密算法的實(shí)現(xiàn)。因此,本文先對(duì)AES算法的原理進(jìn)行了介紹,包括S-盒、行列混合變換與AES流水線結(jié)構(gòu)等。其次,本文將AES加密電路進(jìn)行了模塊劃分,就Verilog HDL描述與Modelsim仿真作了一一介紹。最后給出了用SYNOPS

3、YS的DC和ASTRO進(jìn)行綜合以與自動(dòng)布線的設(shè)計(jì)過程。關(guān)鍵字: AES;加密標(biāo)準(zhǔn);算法;Verilog HDL;Modelsim .The design of AES encryption circuit based on Verilog HDLAbstract Nowadays , the computer technology is in a rapid development in the direction of fast and portable in the information society . This means that the electronic form of d

4、ata and personal information is widely used by us . Therefore , the network information security has aroused peoples attention . The way of how to keep the private information away from the outside world to steal has became the focus of the scholars study now . This topic is put forward in the backg

5、round I mentioned before in purpose that design a circuit of AES encryption based on Verilog HDL . There are serval tasks to be done according to the subject , including the principle of AES encryption algorithm in the process of analysis and the subsequent hardware implementation . Firstly , the co

6、re of the design of AES encryption circuit is the implementation of AES encryption algorithm . Therefore , this article introduces the principle of AES algorithm , including the S-box 、shiftrows、mixcoloumns and AES line ranks , etc . Secondly , this paper compared the AES encryption circuit module p

7、artition and introduced Verilog HDL description and Modelsim simulation one by one . Finally , it gives the design process of use Synopsys DC and Astro to finish the comprehensive and automatic wiring . Key Words : AES ; Encryption Standard ; Algorithm ; Verilog HDL ; Modelsim .目 錄TOC o 1-3 h u HYPE

8、RLINK l _Toc18911 第一章 緒論 PAGEREF _Toc18911 1 HYPERLINK l _Toc20803 1.1 課題研究背景與意義 PAGEREF _Toc20803 1 HYPERLINK l _Toc1067 1.2 研究現(xiàn)狀 PAGEREF _Toc1067 1 HYPERLINK l _Toc9257 1.2.1 國外加密算法的研究現(xiàn)狀 PAGEREF _Toc9257 1 HYPERLINK l _Toc7749 1.2.2 數(shù)據(jù)加密標(biāo)準(zhǔn)的研究現(xiàn)狀 PAGEREF _Toc7749 1 HYPERLINK l _Toc21790 1.3 課題主要研究容

9、PAGEREF _Toc21790 2 HYPERLINK l _Toc26298 1.3.1 設(shè)計(jì)流程的介紹 PAGEREF _Toc26298 2 HYPERLINK l _Toc24161 1.3.2 軟硬件實(shí)現(xiàn)方式的介紹 PAGEREF _Toc24161 2 HYPERLINK l _Toc17706 第二章 AES算法的原理研究 PAGEREF _Toc17706 4 HYPERLINK l _Toc28162 2.1 分組密碼的研究 PAGEREF _Toc28162 4 HYPERLINK l _Toc18575 2.2 AES 加密算法的數(shù)學(xué)理論 PAGEREF _Toc18

10、575 5 HYPERLINK l _Toc13208 2.2.1 含有有限個(gè)元素的域 PAGEREF _Toc13208 5 HYPERLINK l _Toc21663 2.2.2 有限域上的多項(xiàng)式與運(yùn)算 PAGEREF _Toc21663 5 HYPERLINK l _Toc5264 2.3 輪變換與密鑰擴(kuò)展 PAGEREF _Toc5264 7 HYPERLINK l _Toc20318 2.4 AES 加密算法工作模式 PAGEREF _Toc20318 10 HYPERLINK l _Toc17411 2.5 AES算法的整體結(jié)構(gòu) PAGEREF _Toc17411 10 HYPER

11、LINK l _Toc30745 2.6 本章總結(jié) PAGEREF _Toc30745 12 HYPERLINK l _Toc25145 第三章 AES 算法模塊的設(shè)計(jì)與仿真 PAGEREF _Toc25145 13 HYPERLINK l _Toc7010 3.1 開發(fā)環(huán)境介紹 PAGEREF _Toc7010 13 HYPERLINK l _Toc10561 3.1.1 硬件描述語言(HDL)介紹 PAGEREF _Toc10561 13 HYPERLINK l _Toc13253 3.1.2 Modelsim仿真軟件 PAGEREF _Toc13253 13 HYPERLINK l _T

12、oc5957 3.2 AES 加密模塊總體架構(gòu) PAGEREF _Toc5957 13 HYPERLINK l _Toc17742 3.3 位變換模塊設(shè)計(jì)SubBytes與S-box PAGEREF _Toc17742 15 HYPERLINK l _Toc19589 3.4 列混合變換模塊設(shè)計(jì)MixColumns PAGEREF _Toc19589 16 HYPERLINK l _Toc29211 3.5 密鑰擴(kuò)展模塊設(shè)計(jì)keysched PAGEREF _Toc29211 17 HYPERLINK l _Toc16922 3.6 加密模塊Testbench設(shè)計(jì) PAGEREF _Toc16

13、922 18 HYPERLINK l _Toc30855 第四章 AES加密系統(tǒng)的綜合與布局布線 PAGEREF _Toc30855 20 HYPERLINK l _Toc26614 4.1 綜合與布線開發(fā)工具的介紹 PAGEREF _Toc26614 20 HYPERLINK l _Toc4022 4.1.1 Synopsys DC PAGEREF _Toc4022 20 HYPERLINK l _Toc27579 4.1.2 Synopsys Astro PAGEREF _Toc27579 20 HYPERLINK l _Toc32144 4.2 綜合和布局布線 PAGEREF _Toc3

14、2144 20 HYPERLINK l _Toc14166 4.2.1 過程概述 PAGEREF _Toc14166 20 HYPERLINK l _Toc22883 4.2.2 DC生成的門級(jí)電路和報(bào)告 PAGEREF _Toc22883 20 HYPERLINK l _Toc28047 4.2.3 Astro版圖生成流程 PAGEREF _Toc28047 23 HYPERLINK l _Toc18629 4.2.4 Astro生成的版圖 PAGEREF _Toc18629 23 HYPERLINK l _Toc7138 第五章 總結(jié)與展望 PAGEREF _Toc7138 25 HYPE

15、RLINK l _Toc12408 5.1 全文總結(jié) PAGEREF _Toc12408 25 HYPERLINK l _Toc21604 5.2 展望 PAGEREF _Toc21604 25 HYPERLINK l _Toc24909 致 PAGEREF _Toc24909 26 HYPERLINK l _Toc14202 參考文獻(xiàn) PAGEREF _Toc14202 27緒論1.1 課題研究背景與意義在我們工作和生活的當(dāng)今社會(huì)中,信息技術(shù)飛速地發(fā)展,個(gè)人數(shù)據(jù)的安全性日益被人們重視,網(wǎng)絡(luò)信息安全這個(gè)名詞逐漸進(jìn)入人們的眼球。如何才能保證私密信息不被外界竊取已經(jīng)成為現(xiàn)在學(xué)者們研究的重點(diǎn)項(xiàng)目。加

16、密技術(shù)不僅局限于計(jì)算機(jī)疇,現(xiàn)在已經(jīng)涉與到生物醫(yī)療、國防、航天等等領(lǐng)域。就拿我們息息相關(guān)的現(xiàn)實(shí)生活來說,我們的私人賬號(hào),個(gè)人密碼,網(wǎng)絡(luò)賬戶資料等信息在互聯(lián)網(wǎng)上的傳輸交換過程都離不開加密技術(shù),有了足夠安全的加密方法,我們才能更從容地享受信息時(shí)代的極大便利性。自上世紀(jì)70年代起,DES加密標(biāo)準(zhǔn)一直都是數(shù)據(jù)加密領(lǐng)域的重量級(jí)角色。然而,伴隨著電子技術(shù)的快速發(fā)展,計(jì)算機(jī)硬件的表現(xiàn)可以說在穩(wěn)步飆升,數(shù)據(jù)交換量空前,DES加密標(biāo)準(zhǔn)的安全性面臨空前的挑戰(zhàn),事實(shí)上,實(shí)踐表明DES已漸漸不堪復(fù)用,無法滿足高端用戶的需求。因此,從1997年1月開始,美國國家標(biāo)準(zhǔn)與技術(shù)研究所(NIST)高瞻遠(yuǎn)矚地開始征集新一代的加密標(biāo)

17、準(zhǔn),并在2001年11月公布了高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)(AES),從此確立了AES加密算法在數(shù)據(jù)加密算法領(lǐng)域不可動(dòng)搖的地位。AES設(shè)計(jì)目的就是用于取代漸漸過時(shí)的DES以與其升級(jí)版本3DES,進(jìn)入21世紀(jì)后,AES算法開始走向成熟,被廣泛地應(yīng)用于各個(gè)不同領(lǐng)域,其實(shí)用性、安全性的強(qiáng)悍不容置疑。緒論部分我將著重介紹國外加密算法以與數(shù)據(jù)加密標(biāo)準(zhǔn)的研究現(xiàn)狀,對(duì)課題主演研究的容作簡要概括,并對(duì)比軟硬件實(shí)現(xiàn)方式的優(yōu)缺點(diǎn),在此基礎(chǔ)上介紹設(shè)計(jì)流程。1.2 研究現(xiàn)狀1.2.1 國外加密算法的研究現(xiàn)狀密碼技術(shù)主要由密碼編碼技術(shù)和密碼分析技術(shù)兩部分組成。為了使用戶的數(shù)據(jù)得到保護(hù),運(yùn)用高效的算法和協(xié)議對(duì)數(shù)據(jù)進(jìn)行加密和認(rèn)證的技術(shù)

18、被稱為密碼編碼技術(shù),相反,通過分析算法和協(xié)議,進(jìn)行各種攻擊從而達(dá)到破解密碼的目的的行為稱為密碼分析技術(shù)。加密技術(shù)和密碼分析技術(shù)兩者相互矛盾,多年以來它們相互競爭,于斗爭中加密技術(shù)飛速發(fā)展。從目前已經(jīng)被提出的加密思想來看,一種就是公鑰密碼、分組密碼、序列密碼等基于數(shù)學(xué)思想的加密技術(shù)。另一種則打破了常規(guī)思路,把量子密碼學(xué)、DNA技術(shù)以與混沌技術(shù)等一系列非常規(guī)手段應(yīng)用到了信息加密上,不可不謂是另辟蹊徑。本文的主要研究對(duì)象是傳統(tǒng)的基于數(shù)學(xué)的密碼理論。根據(jù)加、解密過程是否使用一樣的密鑰,又能夠?qū)鹘y(tǒng)加密技術(shù)往下細(xì)分成私鑰和公鑰體制,即對(duì)稱和非對(duì)稱密碼體制。加、解密過程中使用的密鑰一樣的密碼體制稱為公鑰密

19、碼,這種加密算法往往由復(fù)雜的非線性變換組成,在商業(yè)領(lǐng)域廣泛應(yīng)用。相反,加、解密過程密鑰不同的稱為私鑰密碼體制。1976年,在美國斯坦福大學(xué)這個(gè)自由的學(xué)術(shù)天堂,Diffie和 Hellman提出了具有建設(shè)性意義的公鑰密碼的思想,時(shí)至今日,公鑰密碼早已經(jīng)早已傳遍大江南北,在全球圍廣泛流傳,大量的應(yīng)用使其不斷發(fā)展,這過程中公鑰密碼又得到了長足的發(fā)展,并向下衍生出許多版本,RSA和Rabin體制、Diffie-Hellman 和ElGamal體制等等。1.2.2 數(shù)據(jù)加密標(biāo)準(zhǔn)的研究現(xiàn)狀DES聯(lián)邦加密標(biāo)準(zhǔn)是從1972年開始提出計(jì)劃,并歷時(shí)4年,克服種種困難,在全球各優(yōu)秀的加密算法中鶴立雞群,在1976年

20、一舉拿下美國聯(lián)邦標(biāo)準(zhǔn)的桂冠。在之后的幾年里,DES加密標(biāo)準(zhǔn)迅速升溫,全球圍DES開始滲透到各行各業(yè),當(dāng)然了,加密算法最新都是為軍事服務(wù)的,后來逐漸進(jìn)入民用領(lǐng)域。從上世紀(jì)七十年代到當(dāng)今的21世紀(jì),這近30年間在加密標(biāo)準(zhǔn)領(lǐng)域,DES可謂是獨(dú)占鰲頭。然而,在瞬息萬變的今天,新生事物層出不窮,計(jì)算機(jī)領(lǐng)域的更新?lián)Q代速率更是驚人的快。硬件技術(shù)飛速發(fā)展,網(wǎng)絡(luò)傳輸速率空前,數(shù)據(jù)交換越來越頻繁,且數(shù)據(jù)的位寬也越來越長,DES的淘汰落伍似乎已成定局,DES最致命的缺陷就是密鑰長度太短,56位的密鑰長度已經(jīng)不能勝任許多應(yīng)用。因此,后續(xù)曾經(jīng)出現(xiàn)過DES的升級(jí)版本,叫做三重DES。然而事實(shí)證明三重DES并不能提供理論上

21、的168位加密的安全性能。因此,新的加密算法的升級(jí)換代迫在眉睫。早在上世紀(jì)末,NIST就預(yù)見到在不久的將來對(duì)新的更安全的加密標(biāo)準(zhǔn)的迫切需求,因此,NIST開始在全球圍征集優(yōu)秀的加密算法。此次征集的目的就是要確立一個(gè)適用于全球圍各行各業(yè),具有較強(qiáng)通用能力的新一代加密標(biāo)準(zhǔn),并且替代現(xiàn)有的即將過時(shí)的DES加密算法。AES的先進(jìn)性決定了其篩選的嚴(yán)格程度,這個(gè)征集過程歷時(shí)3年,進(jìn)行三輪層層篩選,第一輪選出15種候選算法,第二輪對(duì)前一輪結(jié)果進(jìn)行篩選,只剩下5個(gè)算法晉級(jí),最后一輪又經(jīng)過詳細(xì)論證與三次研討會(huì)議,才最終確立了Rijndael算法的先進(jìn)地位,并于2001年將其命名為AES新一代高級(jí)加密標(biāo)準(zhǔn)。1.3

22、 課題主要研究容1.3.1 設(shè)計(jì)流程的介紹要設(shè)計(jì)一個(gè)AES加密電路,其核心就是AES加密算法的實(shí)現(xiàn)。因此,該課題的首要任務(wù)就是對(duì)先前已有的AES算法進(jìn)行研究學(xué)習(xí),然后再根據(jù)自己預(yù)期的功能需求對(duì)AES算法進(jìn)行優(yōu)化設(shè)計(jì),包括S-盒優(yōu)化、列混合變換優(yōu)化與AES流水線結(jié)構(gòu)優(yōu)化等。接下來就是AES算法的實(shí)現(xiàn)了。首先要用硬件描述語言(Verilog HDL)進(jìn)行頂層模塊的描述并完成仿真驗(yàn)證,同時(shí)生成目標(biāo)文件。在完成基本設(shè)計(jì)后,使用SYNOPSYS的DC和ASTRO進(jìn)行綜合以與自動(dòng)布圖設(shè)計(jì),最后利用CADENCE進(jìn)行模擬和驗(yàn)證。1.3.2 軟硬件實(shí)現(xiàn)方式的介紹其實(shí)要想實(shí)現(xiàn)AES算法有兩種手段,即軟件實(shí)現(xiàn)和硬

23、件實(shí)現(xiàn)。軟件實(shí)現(xiàn)方式:即使用一種語言在一個(gè)操作系統(tǒng)或單片機(jī)上編寫加密程序。 優(yōu)點(diǎn):便捷、經(jīng)濟(jì),使用靈活,方便移植。 缺點(diǎn):安全性能堪憂,處理速率不高,運(yùn)行效率較低。硬件實(shí)現(xiàn)方式:優(yōu)點(diǎn):可以方便地設(shè)計(jì)并行處理以提高運(yùn)行速度,安全性能可靠。 缺點(diǎn):設(shè)計(jì)成本較高,且開發(fā)相對(duì)困難,靈活性不佳。硬件實(shí)現(xiàn)方法又可分為專用集成電路(ASIC)方法和現(xiàn)場可編程邏輯門陣列(FPGA)方法。7對(duì)比這兩種實(shí)方法的優(yōu)缺點(diǎn)如表1-1所示。表1-1 ASIC與FPGA性能對(duì)比FPGAASIC數(shù)據(jù)并行處理可并行可并行流水線支持支持密鑰訪問權(quán)限一般嚴(yán)格速度較軟件實(shí)現(xiàn)方法快非??熳珠L可變可變抗干擾一般強(qiáng)是否能進(jìn)行功能配置是否設(shè)

24、計(jì)周期較軟件實(shí)現(xiàn)方法長很長開發(fā)成本昂貴較貴測試成本昂貴較貴維護(hù)與更新成本昂貴較貴描述硬件所使用的語言Verilog HDL、VHDLVerilog HDL、VHDL總的來說,AES加密算法的軟件實(shí)現(xiàn)方法雖然具有便捷、經(jīng)濟(jì),使用靈活,方便移植等優(yōu)點(diǎn)。但是在很多實(shí)際應(yīng)用中,軟件加密方案并不能完全滿足現(xiàn)實(shí)需求。因此,本次課題的學(xué)習(xí)目標(biāo)是重點(diǎn)掌握優(yōu)勢更為明顯的硬件實(shí)現(xiàn)方法。另外,由于本次畢設(shè)的最終要完成版圖的設(shè)計(jì),所有工作都是基于模擬層面,不需要制作出昂貴的板子,所以課題要求選擇用抗干擾能力更強(qiáng)的ASIC方法來實(shí)現(xiàn)AES加密電路。AES算法的原理研究2.1 分組密碼的研究分組密碼、序列密碼都屬于對(duì)稱密

25、碼的疇?,F(xiàn)階段由于技術(shù)的發(fā)展,密碼的位寬越來越寬,由開始的56位,到現(xiàn)在的128位可擴(kuò)展密鑰,分組密碼的優(yōu)于序列密碼的趨勢已初現(xiàn)端倪。分組密碼中,加密、解密過程其實(shí)就是明文分組和密文分組進(jìn)行相互轉(zhuǎn)換的過程。分組密碼的設(shè)計(jì)思想就是把密鑰擴(kuò)展算法從加密算法的整體中分割出來,密鑰的擴(kuò)展不收加密算法的影響。分組密碼把明文按一定長度進(jìn)行分組,一般為128位,然后同長度可擴(kuò)展的密鑰分組一起被送入加密算法,經(jīng)過一系列的變換和復(fù)雜運(yùn)算,最終將明文分組轉(zhuǎn)換成位寬一樣的密文分組,加密過程至此結(jié)束。相反,解密過程就是一個(gè)逆運(yùn)算,加、解密過程中使用的密鑰分組是一樣的。AES算法運(yùn)用的是迭代型分組算法,安全性高,靈活性

26、好,并且迭代型分組易于在軟硬件中實(shí)現(xiàn)。明文分組輪函數(shù)F1輪函數(shù)F2輪函數(shù)F3輪函數(shù)FN密文分組初始密鑰K密 鑰 擴(kuò) 展 算 法K1K2K3KN圖2-1 迭代型分組密碼結(jié)構(gòu)從結(jié)構(gòu)上來看的話,迭代型分組密碼又可以往下細(xì)分成三大類,包括Feistel結(jié)構(gòu)、SP 結(jié)構(gòu)以與其它結(jié)構(gòu)。SP和Feistel結(jié)構(gòu)分別如圖2-2(a)(b)所示。LiRiFKiLi+1Ri+1輪 輸 入S 層輪 輸 出P 層子密鑰 (a) (b)圖2-2:網(wǎng)絡(luò)結(jié)構(gòu)由于AES算法使用的結(jié)構(gòu)類型是SP,因此,本文著重介紹SP網(wǎng)絡(luò)結(jié)構(gòu)。從圖2-2(a)中可以看出,SP結(jié)構(gòu)從上往下依次是輪輸入、S層、P層、輪輸出,然后子密鑰作用于S層。

27、結(jié)構(gòu)非常簡單,便于分析。明文和密鑰共同作用于S層,在這一步中要完成的工作就是擾亂明文與密鑰彼此之間的聯(lián)系,使非法用戶無法從外界區(qū)分明文和密鑰,從而達(dá)到對(duì)密碼分析技術(shù)的免疫,即提高抵抗攻擊的能力。SP結(jié)構(gòu)中的P層主要承擔(dān)著擴(kuò)散的工作,經(jīng)過這一層的計(jì)算,明文分組中的任何一點(diǎn)變動(dòng),都會(huì)引起相應(yīng)密文的無規(guī)律變化。使密文的多樣性得到極大的拓展,使線性攻擊等手段對(duì)其無能為力。2.2 AES 加密算法的數(shù)學(xué)理論2.2.1 含有有限個(gè)元素的域有限域的,我們把它定義成一個(gè)域中包含的要素的個(gè)數(shù)是有限的,且這個(gè)集合中單個(gè)要素的個(gè)數(shù)我們將它定義成有限域的階。在公式中m表示階,p則代表特征值。在AES加密算法中,最常用

28、的特征值是2。2.2.2 有限域上的多項(xiàng)式與運(yùn)算有限域轉(zhuǎn)化為傳統(tǒng)的多項(xiàng)式如下所示。 , (2.1)由式(2.1)我們可以看出,以一個(gè)8位的數(shù)據(jù)為例,轉(zhuǎn)換后的多項(xiàng)式如式2.2所示。 (2.2)需要注意的是,此多項(xiàng)式的系數(shù)是一個(gè)8位二進(jìn)制數(shù)的每一位的數(shù)值,即非0即1。舉個(gè)列子,現(xiàn)在有一個(gè)多項(xiàng)式,那么它對(duì)應(yīng)的8位二進(jìn)制數(shù)就是1010011,因此,其對(duì)應(yīng)的十六進(jìn)制數(shù)就是A3。1)有限域上多項(xiàng)式的加法運(yùn)算AES加密算法中,通過我們?nèi)藶榈囟x,把一個(gè)字節(jié)(即8位的二進(jìn)制數(shù))的數(shù)據(jù)轉(zhuǎn)換成數(shù)學(xué)中常用的多項(xiàng)式,這就把不易計(jì)算分析的二進(jìn)制數(shù)直觀地用符合我們正常思維的數(shù)學(xué)多項(xiàng)式的計(jì)算來表示。舉個(gè)例子,十六進(jìn)制數(shù)A3

29、89多項(xiàng)式計(jì)算如(2.3)所示。二進(jìn)制計(jì)算式:101001110001010 = 00101001多項(xiàng)式計(jì)算式:(2.3)2)有限域上多項(xiàng)式的乘法運(yùn)算 多項(xiàng)式的乘法關(guān)于多項(xiàng)式的加法滿足分配律、交換律和結(jié)合律,單位元為。選取一個(gè)L次多項(xiàng)式,稱其為約化多項(xiàng)式。這樣才能讓乘法運(yùn)算在有限域中具有封閉性。因此,多項(xiàng)式和的乘積表示為模約化多項(xiàng)式下多項(xiàng)式的代數(shù)乘積7。(2.4)定義時(shí),稱為的逆元。為了定義字節(jié)乘法,被廣泛地用于AES加密算法的多項(xiàng)式為: (2.5)如在有限域中,16進(jìn)制數(shù) 57 和 83 所表示的多項(xiàng)式的乘積可以用16 進(jìn)制數(shù) C1 表示。多項(xiàng)式表示為:(2.6)(2.7)在有限域中還有一種

30、乘法運(yùn)算叫做乘,記作:多項(xiàng)式表示為:(2.8)在這個(gè)式子中,要是為0,多項(xiàng)式的系數(shù)依次向左移動(dòng)1比特,最右邊空出來的1個(gè)比特我們用0來填充,這樣的改變并不影響該等式的結(jié)果;如若為1的話。那么乘積結(jié)果減,與 16進(jìn)制數(shù) 1B 異或。3)有限域上多項(xiàng)式的四字節(jié)運(yùn)算有限域中四字節(jié)表示為次數(shù)小于4的多項(xiàng)式。它的加法運(yùn)算與一字節(jié)一樣,通過各系數(shù)的異或運(yùn)算來實(shí)現(xiàn)。多項(xiàng)式表示為:;(2.9) 四字節(jié)的乘法運(yùn)算采用的約化多項(xiàng)式為:(2.10) 多項(xiàng)式和的乘積多項(xiàng)式表示為:(2.11)根據(jù)冪的次數(shù)進(jìn)行區(qū)分,得出其矩陣表示為: (2.12)2.3 輪變換與密鑰擴(kuò)展S盒變換S-BOX S-Box操作是一個(gè)非線性的字

31、節(jié)替換。它由兩個(gè)子轉(zhuǎn)換組成;乘法逆元素和仿射變換。每個(gè)字節(jié)的乘法逆元素運(yùn)算: (2.13)仿射變換(這個(gè)步驟執(zhí)行): (2.14)加密過程解密過程添加常數(shù),是為了防止S-box沒有定點(diǎn),或沒有相反的定點(diǎn)。 加密 令 要實(shí)現(xiàn)AES兩個(gè)子步驟,通常需要SubBytes轉(zhuǎn)換,如表2所示。表中數(shù)據(jù)的大小是8位16*16即256 x 8位的ROM,數(shù)據(jù)規(guī)模不大,可以以一個(gè)簡單的方式與現(xiàn)代設(shè)計(jì)工具相結(jié)合。然而當(dāng)硬件大小受到限制或者出現(xiàn)不能合并的ROM的時(shí)候,反演硬件就顯得相當(dāng)有必要性。這種情況下,主要問題是如何實(shí)現(xiàn)高效S-box。仿射變換,但是需要少量的門電路,這就會(huì)造成一定的延遲。根據(jù)Rijndael,

32、AES應(yīng)用了多項(xiàng)式。這是一個(gè)本原不可約多項(xiàng)式。大部分的作者和設(shè)計(jì)工程師都認(rèn)為的計(jì)算是相當(dāng)復(fù)雜的。好消息是,前人已經(jīng)總結(jié)了一套實(shí)用的S-box計(jì)算方法。以下列舉兩個(gè)方法:結(jié)合表2-1進(jìn)行查表;使用CAD工具優(yōu)化邏輯功能,合成并優(yōu)化邏輯函數(shù),計(jì)算元素的反演。利用復(fù)合材料的使用領(lǐng)域設(shè)計(jì)的低功耗S-box轉(zhuǎn)換。元素中定義的映射。在底層領(lǐng)域?qū)Τ朔ê头囱葸M(jìn)行了優(yōu)化。這種方法既吸引了(2.14)的技術(shù),又和(2.16)中的許多有用的想法相一致。為了減少了一些不必要的資源浪費(fèi),字段轉(zhuǎn)換只應(yīng)用于S-box計(jì)算。沒有必要進(jìn)一步分解復(fù)合場最低的地場。工作在復(fù)合材料領(lǐng)域,乘法逆元素是相對(duì)自由的。然而,總的來,我們必須

33、把中的元素映射到,其中。因此變換和逆變換矩陣是很重要的。元素可以被映射到元素,利用多項(xiàng)式表示元素,其中是初始的不可約多項(xiàng)式。結(jié)果映射在(2.15)、(2.16)的正逆矩陣中。,(2.15)(2.16)上圖左側(cè)的元素在上面的矩陣中表示最低有效位。利用映射元素形式,從到是簡單的乘法逆計(jì)算反演。因?yàn)榭倲?shù)據(jù)字節(jié)比較小,反演使用直接映射真值表的方法,在消耗較少的資源下查找數(shù)據(jù)。此外,在Rijndae1系統(tǒng)中數(shù)據(jù)以最初始的字節(jié)格式存在。令數(shù)據(jù)字節(jié)表示成,那么。由可以推導(dǎo)出:(2.17)(2.18)(2.19)(2.20)本文闡述了這種方法的擴(kuò)展數(shù)量管道狀態(tài)選項(xiàng)S-Box設(shè)計(jì)。圖1所示的128位數(shù)據(jù)路徑是4

34、個(gè)32位的數(shù)據(jù)路徑。因?yàn)橐粋€(gè)S-Box計(jì)算塊只需要8位的數(shù)據(jù)集,我們的確需要16個(gè)平行單位。字節(jié)替換計(jì)算也是KeyScheduling計(jì)算過程所需的關(guān)鍵。一輪128位關(guān)鍵是需要在每一輪的AES操作。然而只有32位:4字節(jié)替換8位的需求。因此只有4個(gè)16位的S-Box共享密鑰更新的計(jì)算。S 盒如表2-1所示。表2-1 S-BOX2) 行移位變換ShiftRows 行移位變換就是以字節(jié)為單位對(duì)數(shù)據(jù)進(jìn)行循環(huán)移動(dòng),這種變換是線性的,它其實(shí)就是SP網(wǎng)絡(luò)結(jié)構(gòu)中S層的組成部分,主要作用是混淆明文與密鑰。列混合變換MixColoumns列混合變換屬于代替變換,列混合運(yùn)算表達(dá)式為:4)密鑰加法(AddRound

35、Key)密鑰加法KeyScheduling擴(kuò)展初始128位密碼鍵生成圓鍵。圓鍵可以動(dòng)態(tài)生成數(shù)據(jù)轉(zhuǎn)換,或者他們是提前計(jì)算和存儲(chǔ),以供后續(xù)使用。這種輪密鑰用于加密或解密的數(shù)據(jù)轉(zhuǎn)換是動(dòng)態(tài)計(jì)算。密鑰加法本質(zhì)就是128位的異或運(yùn)算。5)密鑰擴(kuò)展(ExpendedKey)AES加密算法是十輪迭代型分組密碼算法,密鑰擴(kuò)展和加、解密過程是分開的,因此密鑰擴(kuò)展在整個(gè)加密算法中就顯得尤為重要,密鑰擴(kuò)展主要是由密鑰分組的位寬以與迭代輪數(shù)決定的,主要負(fù)責(zé)為加密或解密算法提供各輪運(yùn)算所需要的密鑰。2.4 AES 加密算法工作模式 本文的第一章節(jié)里面就曾提到,AES加密算法屬于分組密碼,分組密碼的設(shè)計(jì)思想就是將不同位寬的

36、明文和密鑰分成固定長度的明文組和密鑰組。因此,可想而知在我們現(xiàn)實(shí)生活的應(yīng)用中,所要加密的明文位寬不可能完全一致,有可能高于或低于分組長度,鑒于現(xiàn)實(shí)應(yīng)用的多樣性,AES加密算法就有必要應(yīng)用不同的工作模式,這樣才能達(dá)到最優(yōu)的工作效率。確保AES能勝任各行各業(yè)的加密需求。 事實(shí)上,工作模式的問世要遠(yuǎn)遠(yuǎn)早于AES,要上溯到19世紀(jì)80年代?,F(xiàn)如今,比較成熟且應(yīng)用較為廣泛的幾種工作模式包括:電子密碼本模式(Electronic Code Book)、密文連接模式(Cipher Block Chaining)、密碼反饋模式(Cipher Feedback)和輸出反饋模式(Output Feedback)等

37、。由于篇幅有限,本文只對(duì)以上幾種工作模式作簡要說明。1)電子密碼本模式(ECB)電子密碼本模式,分組長度128位,若明文長度不足128位的話,就在空缺的數(shù)據(jù)位上添加上空字符。由于AES加密算法的特性,決定了電子密碼本模式只能在明文分組較少的實(shí)例中擁有良好表現(xiàn),一旦碰到分組數(shù)量較多且重復(fù)率較高的情況,ECB模式速度快的優(yōu)勢就無法彌補(bǔ)其安全隱患的缺陷了。2)密文模式(CBC)密文模式,先將一個(gè)明文分組進(jìn)行加密,其結(jié)果存儲(chǔ)在寄存器中,然后明文分組再與寄存器中的密文進(jìn)行逐位異或,異或的結(jié)果與密鑰分組一齊被送入加密電路。該模式的流水線是串行模式,加密結(jié)構(gòu)牽一發(fā)而動(dòng)全身,明文分組的一絲變化,都會(huì)導(dǎo)致密文分

38、組的連鎖反應(yīng)。3) 密碼反饋模式(CFB)密碼反饋模式,初始向量位于一串?dāng)?shù)據(jù)的最高位,加密完成后最前面的8比特與明文最初8比特進(jìn)行異或運(yùn)算,生成密文最初8比特。然后將該8比特的數(shù)據(jù)移動(dòng)到隊(duì)列的最后,其它位依次左移動(dòng)8個(gè)比特。密碼反饋模式的工作方式與CBC有很大的相似性。4) 輸出反饋模式(OFB)輸出反饋模式相較于CFB,變塊密碼為流密碼就是輸出反饋模式最大的特點(diǎn),其它基本與CFB模式相仿。然而,抵抗力較弱,安全性存在缺陷,無法并行處理數(shù)據(jù)等等先天性的缺點(diǎn)也制約了其發(fā)展。2.5 AES算法的整體結(jié)構(gòu) AES加密算法為替代/置換(SP)型網(wǎng)絡(luò)結(jié)構(gòu),輪變換的輪函數(shù)由以下三層組成:S層(非線性層):

39、由字節(jié)代換函數(shù)(SubBytes)組成,進(jìn)行非線性S 盒變換,起混淆作用,確保達(dá)到掩蓋明文、密文、密鑰關(guān)系的目的。P層(線性混合層):進(jìn)行列混淆變換MixColumn和行移位變換ShiftRow,主要是為了確保多輪迭代后的數(shù)據(jù)高度擴(kuò)散。密鑰加層:進(jìn)行輪密鑰加變換(AddRoundKey),控制子密鑰的產(chǎn)生,使明文與擴(kuò)展出的密鑰更有效地結(jié)合。AES 的算法結(jié)構(gòu)非常簡單,以一個(gè)明文分組長度為128bit,輪數(shù)為10的加、解密整體結(jié)構(gòu)為例。對(duì)加密和解密操作,算法從輪密鑰加開始,接下來執(zhí)行9輪迭代運(yùn)算,每一輪都包含字節(jié)代換、行移位、列混淆、輪密相加這四個(gè)階段的代換,最后1輪運(yùn)算只包含字節(jié)代換、行移位、

40、輪密相加這三個(gè)階段。加、解密過程中10輪迭代中的每個(gè)階段均是可逆的。解密過程中,對(duì)字節(jié)代換、行移位變換和列混淆變換,它們分別使用相對(duì)應(yīng)的逆函數(shù)。而輪密鑰相加階段的逆就是用同樣的輪密鑰和分組相異或的過程。事實(shí)上AES的加密過程和解密過程相類似,加密過程是正運(yùn)算,解密過程就是相應(yīng)的逆運(yùn)算。AES加密算法的工作流程如圖2-3所示。輪密相加明 文輪密相加字節(jié)代換行變換列變換輪密相加字節(jié)代換行變換列變換輪密相加字節(jié)代換行變換輪密相加逆向行變換逆向字節(jié)代換輪密相加逆向列變換逆向行變換逆向字節(jié)代換輪密相加逆向列變換輪密相加逆向字節(jié)代換逆向行變換擴(kuò)展密鑰密 鑰明 文密 文密 文第一輪第九輪第十輪第一輪第九輪第

41、十輪圖2-3 明文分組長度為128bit,輪數(shù)為10的AES加、解密流程圖2.6 本章總結(jié)本章節(jié)著重介紹了AES加密算法的工作原理,從其數(shù)學(xué)理論基礎(chǔ),到AES加密算法的模塊介紹,再到其總體工作流程的剖析,全方位地展示了AES加密算法的基本結(jié)構(gòu)。此外,本章章首還對(duì)分組密碼以與分組密碼的兩種主要結(jié)構(gòu)進(jìn)行了介紹,雖說不很詳盡,但是也簡要概括了分組密碼的結(jié)構(gòu)流程和工作模式。全方位地闡述了AES算法的工作原理。理解這些知識(shí)點(diǎn)對(duì)更深層次、更透徹地理解AES加密算法大有幫助,此外,這也為后續(xù)的加密電路的設(shè)計(jì)工作打下了良好的基礎(chǔ)。AES 算法模塊的設(shè)計(jì)與仿真3.1 開發(fā)環(huán)境介紹3.1.1 硬件描述語言(HDL

42、)介紹硬件描述語言即Hardware Description Language,簡稱HDL。HDL提供了一種將硬件電路通過文字的形式表現(xiàn)出來的方法。它不僅用于描述已有的電路,還可通過對(duì)預(yù)期功能的描述達(dá)到設(shè)計(jì)電路的目的。該過程就是首先用HDL語言描述目標(biāo)電路,然后運(yùn)用相關(guān)工具進(jìn)行仿真(如Modelsim)、生成相應(yīng)的目標(biāo)文件(如EDA),最后再用ASIC或者FPGA方式來實(shí)現(xiàn)電路。硬件描述語言發(fā)展至今,已經(jīng)衍生出了多種針對(duì)于不同應(yīng)用目的硬件描述語言。它們一般面向特定的領(lǐng)域、針對(duì)特定的應(yīng)用、采用特定的層次,訂制程度高,但是由于彼此之間缺乏相應(yīng)的通用標(biāo)準(zhǔn),因而基本不能跨領(lǐng)域通用。最終,VHDL和Ve

43、rilogHDL在優(yōu)勝劣汰中生存了下來,并先后成為IEEE標(biāo)準(zhǔn)。3.1.2 Modelsim仿真軟件Modelsim是一款硬件描述語言仿真軟件,其性能之優(yōu)秀在業(yè)是有目共睹的,Mentor公司憑借它在仿真軟件領(lǐng)域遙遙領(lǐng)先。相比較于其它仿真軟件,Modelsim只靠著一個(gè)核就可以同時(shí)兼容VHDL、Verilog HDL兩種語言的仿真,這一優(yōu)勢可謂獨(dú)樹一幟,無人能與。與此同時(shí)Tcl/Tk技術(shù)、單一核仿真技術(shù)和直接優(yōu)化編譯技術(shù)這些看家本領(lǐng)無疑都成為Modelsim軟件的加分點(diǎn),這些獨(dú)有的技術(shù)造就了其速度快且代碼編譯不受使用平臺(tái)的限制等優(yōu)點(diǎn)。個(gè)性化的圖形界面以與可自由配置的用戶接口等因素都讓Models

44、im成為仿真軟件的首選。3.2 AES 加密模塊總體架構(gòu)本課題研究的AES加密共有7個(gè)部分,分別是:SubBytes、ShiftRows、MixColumns、AddRoundkey、S-box、Key Expansion,其中Encrypt模塊由SubBytes、ShiftRows、MixColumns、AddRoundkey、S-box這5個(gè)部分組成,完成加密功能。Key Expansion模塊是密鑰擴(kuò)展模塊,主要作用是完成密鑰的擴(kuò)展和子密鑰的輸出。Control模塊控制電路選擇加密或解密模塊實(shí)現(xiàn)不同的功能。其總體架構(gòu)如圖3-1所示。AES加密模塊頂層的外部接口與部分端口功能說明分別如圖3

45、-2、表3-1所示。AES加密電路仿真波形如圖3-3所示。Mix ColumnsSub BytesShift RowsAdd Round keyS-boxControlKey Expansion控制信號(hào)數(shù)據(jù)輸入密鑰圖3-1 AES加密總體架構(gòu)clkresetload_idata_i127.0decrypt_ikey_i127.0ready_odata_o127.0圖3-2 AES加密模塊頂層外部接口示意表3-1 AES加密模塊部分端口說明端口名稱端口類型端口描述load_iinput數(shù)據(jù)加載decrypt_iinput加密控制data_iinput127:0數(shù)據(jù)輸入key_iinput127:

46、0外部密鑰輸入data_ooutput127:0數(shù)據(jù)輸出ready_ooutput完成信號(hào)圖3-3 AES加密電路仿真波形3.3 位變換模塊設(shè)計(jì)SubBytes與S-box位變換模塊(SubBytes)是一個(gè)將數(shù)組中每一個(gè)字節(jié)變換為另外一個(gè)字節(jié)的過程,且該過程中的變換為非線性的,它是一個(gè)字節(jié)大小的非線性變換。另外,與AES其它模塊一樣,位變換是可逆的。位變換過程如圖3-4所示。位變換模塊外部接口如圖3-5所示。位變換(SubBytes)模塊仿真波形如圖3-6所示。S盒模塊(S-box)仿真波形如圖3-7所示。S-BoxSr,sSr,sS0,0S0,1S0,2S0,3S1,0S1,1S1,2S1

47、,3S2,0S2,1S2,2S2,3S3,0S3,1S3,2S3,3S0,0S0,1S0,2S0,3S1,0S1,1S1,2S1,3S2,0S2,1S2,2S2,3S3,0S3,1S3,2S3,3圖3-4 位變換過程示意圖clkresetstart_idata_i127.0decrypt_isbox_data_i7.0ready_odata_o127.0sbox_data_o7.0sbox_decrypt_o圖3-5 位變換模塊外部接口圖3-6 位變換模塊仿真波形圖3-7 S盒模塊(S-box)仿真波形3.4 列混合變換模塊設(shè)計(jì)MixColumnsMixColumns變換是一個(gè)實(shí)現(xiàn)狀態(tài)數(shù)組逐列

48、進(jìn)行變換的過程,它最主要的部分是有限域乘法。MixColumns是列的變換,它包括word_mixcolumn模塊,然而每個(gè)word_mixcolumn又包括4個(gè)byte_mixcolumn。因此,列混合變換實(shí)際就是對(duì)字變換和字節(jié)變換的調(diào)用。另外,由于shiftrows模塊是一個(gè)簡單的以字節(jié)為單位的循環(huán)移動(dòng)過程,所以該模塊可以在列混合變換模塊中體現(xiàn),從而節(jié)省空間,提高運(yùn)算效率。列混合變換過程與外部接口分別如圖3-8、3-9所示,Mixcolumns模塊仿真波形如圖3-10所示。MixcolumnsS0,0S0,1S0,2S0,3S1,0S1,1S1,2S1,3S2,0S2,1S2,2S2,3S

49、3,0S3,1S3,2S3,3S0,0S0,1S0,2S0,3S1,0S1,1S1,2S1,3S2,0S2,1S2,2S2,3S3,0S3,1S3,2S3,3S0,0S1,0S2,0S3,0S0,0S1,0S2,0S3,0圖3-8 列混合變換過程clkresetstart_idata_i127.0decrypt_iready_odata_o127.0圖3-9 列混合變換Mixcolumns模塊外部接口圖3-10 列混合變換Mixcolumns模塊仿真波形3.5 密鑰擴(kuò)展模塊設(shè)計(jì)keysched密鑰擴(kuò)展模塊是整個(gè)AES加密電路中比不可少的一部分,AES算法的可靠性就是依賴于密鑰的程度。在AES算

50、法中,初始密鑰通過密鑰擴(kuò)展模塊進(jìn)行變換,從而產(chǎn)生每一輪加密運(yùn)算中所需要的輪密碼。密鑰的擴(kuò)展根據(jù)擴(kuò)展時(shí)序又能夠被分成非并行擴(kuò)展和并行擴(kuò)展。并行擴(kuò)展:輪運(yùn)算與子密鑰的生成是同步的,即每一輪輪運(yùn)算開始的同時(shí),下一輪運(yùn)算所需要的子密鑰也相應(yīng)地產(chǎn)生了。非并行擴(kuò)展:子密鑰生成和輪運(yùn)算過程是不同步的,密鑰擴(kuò)展模塊單獨(dú)運(yùn)行,并將生成的各輪子密鑰進(jìn)行存儲(chǔ),然后供各輪加解密運(yùn)算使用。這兩種密鑰擴(kuò)展方案理論上都是可行的,然而并行擴(kuò)展密鑰在解密過程中的第一個(gè)子密鑰是加密過程中最后一輪的子密鑰,因此,解密過程就必須要在這一輪加密結(jié)束后才能開始。同時(shí)解密過程還需要與之匹配的解密密鑰的擴(kuò)展電路,這就造成了一定的資源浪費(fèi)。相

51、比較而言非并行擴(kuò)展就不存在這樣的問題,所以,本課題采用的是非并行擴(kuò)展方案。密鑰擴(kuò)展模塊狀態(tài)機(jī)與外部接口分別如圖3-11、3-12所示,仿真波形如圖3-13所示。000100001010011clkresetstart_ilast_key_i127.0round_i3.0sbox_data_i7.0ready_osbox_access_osbox_data_o7.0sbox_decrypt_onew_key_o127.0 圖3-11 keysched模塊狀態(tài)機(jī) 圖3-12 keysched模塊外部接口圖3-13 keysched模塊仿真波形3.6 加密模塊Testbench設(shè)計(jì)該模塊的目的就是驗(yàn)

52、證在給予AES加密模塊一樣的明文、完全一致的密鑰時(shí),輸出結(jié)果是否一樣。驗(yàn)證過程的原理如圖3-14所示。Testbench模塊仿真波形如圖3-15所示。AES 1AES 2激 勵(lì)算法轉(zhuǎn)換檢 查 輸 出 結(jié) 果圖3-14 Testbench驗(yàn)證原理圖圖3-15 Testbench仿真波形AES加密系統(tǒng)的綜合與布局布線4.1 綜合與布線開發(fā)工具的介紹4.1.1 Synopsys DC Design Compile,簡稱DC,它是synopsys的綜合軟件和優(yōu)化工具,它能夠把寄存器(RTL)級(jí)的代碼轉(zhuǎn)化為門級(jí)網(wǎng)表。綜合過程包括轉(zhuǎn)譯(Translation)、優(yōu)化(Opitimization)和映射(M

53、apping)這三個(gè)步驟。轉(zhuǎn)譯是軟件根據(jù)預(yù)設(shè)自動(dòng)地將硬件描述語言翻譯成與其相對(duì)應(yīng)的功能模塊(包括模塊之間的拓?fù)浣Y(jié)構(gòu))的過程。優(yōu)化:綜合器根據(jù)外部施加的一定條件(包括時(shí)序和電路面積的限制等),按照預(yù)定的算法對(duì)轉(zhuǎn)譯的結(jié)果進(jìn)行邏輯優(yōu)化。映射:綜合器根據(jù)外部施加的一定條件(包括時(shí)序和電路面積的限制等),從已知的工藝庫中搜索符合條件的元器件來組成實(shí)際電路。 在使用synopsys DC進(jìn)行綜合時(shí),工藝庫,目標(biāo)庫,標(biāo)志庫等參數(shù)是必不可少的,DC工具在工作時(shí)就是根據(jù)這些參數(shù)來確定所使用的相關(guān)算法與優(yōu)化方案的。4.1.2 Synopsys AstroSynopsysAstro是一個(gè)優(yōu)化、布局、布線的設(shè)計(jì)環(huán)境,

54、它是為超深亞微米(UDSM)IC設(shè)計(jì)訂制的。它能夠滿足5千萬門級(jí)、時(shí)鐘頻率達(dá)到GHz等技術(shù)需求。得益于Synopsys的兩項(xiàng)新技術(shù)(PhySiSys和Milkyway DUO結(jié)構(gòu)),Astro擁有優(yōu)秀的優(yōu)化與布局布線能力。4.2 綜合和布局布線4.2.1 過程概述本次試驗(yàn)利用DC實(shí)現(xiàn)生成.v,.sdf和.sdc文件,然后利用Astro進(jìn)行版圖的生成。DesignCompiler可以針對(duì)層次化的組合電路或者時(shí)序電路的速度、面積和可布性進(jìn)行優(yōu)化,按照所定義的電路的測量特征所達(dá)到的目標(biāo),DC綜合一個(gè)電路并將其放入目標(biāo)庫,這樣可以生成適用于計(jì)算機(jī)輔助設(shè)計(jì)工程(CAE)工具的原理圖或網(wǎng)表。應(yīng)用Synop

55、sys公司開發(fā)的后端設(shè)計(jì)工具Astro可以完成布局布線的設(shè)計(jì),同時(shí)Astro還具有時(shí)序優(yōu)化的功能,可以再一次流程中使設(shè)計(jì)電路達(dá)到預(yù)設(shè)的指標(biāo)。4.2.2 DC生成的門級(jí)電路和報(bào)告如圖4-1、4-2、4-3、4-4所示,為DC綜合后的門級(jí)電路圖。圖4-1 DC綜合后門級(jí)電路圖圖4-2 AES門級(jí)電路1圖4-3 AES門級(jí)電路2圖4-4 AES門級(jí)電路3如圖4-5、4-6、4-7所示,為DC過程生成的報(bào)告。 圖4-5 面積報(bào)告 圖4-6 規(guī)則約束報(bào)告 圖4-7 時(shí)序報(bào)告4.2.3 Astro版圖生成流程一、準(zhǔn)備1.建立庫 2.讀入Verilog 3.打開庫 4.打開單元 5.裝載SDC文件 6.時(shí)序設(shè)置 7.保存單元數(shù)據(jù);二、布局規(guī)劃1.載入TDF文件 2.全局的FloorplanDesignSetup 3.添加PadFiller單元 4.連接電源和地 5.生成PadRing 6.放置Macro單元 7.設(shè)計(jì)電源線;三、布局1.打斷掃描鏈 2.設(shè)置放置參數(shù) 3.放置標(biāo)準(zhǔn)單元,同時(shí)進(jìn)行第一次優(yōu)化 4.放置 5.查看布局擁塞視圖 6.查看時(shí)序報(bào)告 7.查看布局概況 8.存儲(chǔ)設(shè)計(jì)數(shù)據(jù);四、時(shí)鐘和綜合1.設(shè)置時(shí)鐘 2.綜合完以后檢查clockskewTiming 3.連接電源和地;五、布線1.重新連接掃描鏈 2.設(shè)置時(shí)序以與布線的選項(xiàng) 3.布時(shí)鐘線 4.布線 5.優(yōu)化 6.再進(jìn)行一次全

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論