freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的des加密系統(tǒng)設(shè)計與實現(xiàn)(編輯修改稿)

2024-08-23 06:43 本頁面
 

【文章內(nèi)容簡介】 Bencher來用圖形化的界面生成一個TestBencho 3:使用Xilinx ISE WebPack中集成的XST綜合工具進行邏輯綜合。 4:在布局布線這個步驟中,對FPGA來說,有四個步驟: 1) Translate一解釋設(shè)計,執(zhí)行規(guī)則檢查。 2) Map一對不同的目標器件來計算和分配資源。 3) Place and Route一對可配置邏輯塊進行布局,使用布線資源. 4) Configure一生成可以下載編程的Bit流文件。 5:在布局布線后,也可以使用與功能仿真相同的TestBench來對設(shè)計進行仿真,這稱為后仿真。后仿真結(jié)合了布局布線的因素,可以精確的反映下載后芯片內(nèi)部的執(zhí)行情況,可以觀測邏輯變量的延遲情況,毛刺,冒險競爭等。 6:使用WebPack集成的IMPACT工具進行下載芯片。2. 2. 3硬件描述語言Yerilog IiDL 硬件描述語言HDL是一種用形式化方法描述數(shù)字電路和系統(tǒng)的語言。利用這種語言,數(shù)字電路系統(tǒng)的設(shè)計可以從上層到下層(從抽象到具體)逐層描述自己的設(shè)計思想,用一系列分層次的模塊來表示極其復(fù)雜的數(shù)字系統(tǒng)。然后,利用電子設(shè)計自動化(EDA)工具,逐層進行仿真驗證,再把其中需要變?yōu)閷嶋H電路的模塊組合,經(jīng)過自動綜合工具轉(zhuǎn)換到門級電路網(wǎng)表。接下去,再用專用集成電路ASIC或現(xiàn)場可編程門陣列FPGA自動布局布線工具,把網(wǎng)表轉(zhuǎn)換為要實現(xiàn)的具體電路布線結(jié)構(gòu)[12]。 硬件描述語言HDL的發(fā)展至今己有20多年的歷史,并成功地應(yīng)用于設(shè)計的各個階段:建模、仿真、驗證和綜合等。到20世紀80年代,已出現(xiàn)了上百種硬件描述語言,對設(shè)計自動化曾起到了極大的促進和推動作用。但是,這些語言一般各自面向特定的設(shè)計領(lǐng)域和層次,而且眾多的語言使用戶無所適從。因此,急需一種面向設(shè)計的多領(lǐng)域、多層次并得到普遍認同的標準硬件描述語言。20世紀80年代后期,VHDL和Verilog HDL語言適應(yīng)了這種趨勢的要求,先后成為IEEE標準。 ,可以用于從算法級,門級到開關(guān)級的多種抽象層次的數(shù)字系統(tǒng)設(shè)計。 Verilog HDL是在1983年,由GDA (Gateway Design Automation)公司的PhilMoorby首創(chuàng)的。Phil Moorby后來成為VerilogXL的主要設(shè)計者和Cadence公司的第一合伙人。在1984~1985年,Phil Moorby設(shè)計出T第一個名為VerilogXL的仿真器。1986年,他對Verilog HDL的發(fā)展又作出了另一個巨大的貢獻:提出了用于快速門級仿真的XL算法。 隨著VerilogXL算法的成功,Verilog HDL語言得到迅速發(fā)展。1989年,Cadence公司收購} GDA公司,Verilog HDL語言成為Cadence公司的私有財產(chǎn)。1990年,Cadence公司決定公開Verilog HDL語言,于是成立了OVI (Open Verilog International)組織,負責(zé)促進Verilog HDL語言的發(fā)展?;赩erilog HDL的優(yōu)越性,IEEE于1995年制定了Verilog HDL的IEEE標準,即Verilog HDL 13641995。 2001年發(fā)布了Verilog HDL 13642001標準。在這個標準中,加入了 Verilog HDLA標準,使Verilog有了模擬設(shè)計描述的能力。 從語法結(jié)構(gòu)上看,Verilog HDL語言與C語言有許多相似之處,并繼承和借鑒了C語言的多種操作符和語法結(jié)構(gòu)。下面列出的是Verilog HDL硬件描述語言的一些主要特點:l 能形式化地表示電路的結(jié)構(gòu)和行為。l 借用高級語言的結(jié)構(gòu)和語句,例如條件語句,賦值語句和循環(huán)語句等,在VerilogHDL中都可以使用,既簡化了電路的描述,又方便了設(shè)計人員的學(xué)習(xí)和使用。l 能夠在多個層次上對所設(shè)計的系統(tǒng)加以描述,從開關(guān)級,門級,寄存器級到功能 級和系統(tǒng)級,都可以描述。設(shè)計的規(guī)??梢允侨我獾模Z言不對設(shè)計的規(guī)模施家任何限制。l Verilog HDL具有混合建模的能力,即在一個設(shè)計中各個模塊可以在不同設(shè)計層次 上建模和描述。l 基本邏輯門,例如and, or和nand等都內(nèi)置在語言中。開關(guān)級結(jié)構(gòu)模型,例如pmos和nmos等也被內(nèi)置在語言中,用戶可以直接調(diào)用。l 用戶定義原語創(chuàng)建的靈活性。用戶定義的原語既可以是組合邏輯原語,也可以是 時序邏輯原語。Verilog HDL還具有內(nèi)置邏輯函數(shù)。 Verilog HDL語言最大的特點就是易學(xué)易用,通過學(xué)習(xí)和使用,可以在最短的時間內(nèi)掌握該語言。另外,該語言的功能強大,可以滿足各個層次設(shè)計人員的需要,從高層的系統(tǒng)描述到地層的版圖設(shè)計,都可以很好的支持。由于Verilog HDL巨大的優(yōu)越性,使得它廣泛流行,尤其是在ASIC設(shè)計領(lǐng)域,更是處于主流地位。在美國,日本等國家,Verilog HDL語言也一直是使用最為廣泛的硬件描述語言,其使用人數(shù)大大超過其他語言的使用人數(shù)。在國內(nèi),Verilog HDL的應(yīng)用群體也在不斷擴大,越來越多的人使用該語言進行設(shè)計和仿真。本章小結(jié)本章先介紹了DES加密算法的基本原理,然后介紹了本系統(tǒng)開發(fā)的環(huán)境,包括硬件,硬件開發(fā)平臺EITS2003,軟件開發(fā)工具ISE WebPack和3硬件描述語言Verilog HDL。第三章DES加密系統(tǒng)設(shè)計與實現(xiàn) DES加密系統(tǒng)設(shè)計方案整個系統(tǒng)包括DES加密核心,UART通信接口和BLOCKRAM存儲模塊三大功能塊,DES加密核心即對DES算法的硬件實現(xiàn),以在合理的資源占用下實現(xiàn)盡可能高的性能為目標。而UART通信接口則負責(zé)加密核心與外界通信鏈路之間的數(shù)據(jù)吞吐。由于外界通信鏈路的速率不盡相同,如何協(xié)調(diào)加密核心與通信接口之間的數(shù)據(jù)率也是一個值得考慮的問題。FPGA內(nèi)部的B1ockRAM主要起到兩方面作用:緩沖數(shù)據(jù)。2, UART與DES模塊之間的位寬轉(zhuǎn)換。 DES加密核心設(shè)計方案DES加密算法以多輪的密鑰變換輪函數(shù)和密鑰十數(shù)據(jù)運算輪函數(shù)為特征,與之相對應(yīng)的硬件實現(xiàn),既可以通過輪函數(shù)的16份硬件拷貝,達到深度細化的流水線處理,實現(xiàn)性能上的最優(yōu)。也可以通過分時復(fù)用,重復(fù)調(diào)用一份輪函數(shù)的硬件拷貝,以時間換空間,從而得到硬件資源占用上的最小化。究竟選擇怎么樣的實現(xiàn)方式,根據(jù)實際硬件條件進行了選擇。1 性能優(yōu)先方案:采用循環(huán)全部打開和流水線結(jié)構(gòu)來設(shè)計。循環(huán)全部打開后,實現(xiàn)全部16個輪函數(shù)的硬件級聯(lián),只要一個時鐘周期就可以完成一個數(shù)據(jù)塊的加密或解密。通過多占很大的空間來換得速度上的大幅度提高,然后再在每輪的中間加上寄存器來實現(xiàn)流水線。在第一時鐘周期,第一塊數(shù)據(jù)經(jīng)過第一輪處理存入寄存器1中。在下一個時鐘周期,寄存器1中的結(jié)果經(jīng)過第二輪處理存入寄存器2中。同時,第二塊數(shù)據(jù)可以經(jīng)過第一輪處理存入寄存器1。這樣,多塊數(shù)據(jù)實現(xiàn)了同時處理,使得加/解密速度可以提高近16倍,確實讓性能有了大幅度的提高,但是由于實驗平臺上搭載的Spartan IIE FPGA總資源為10萬門左右,一味地追求性能無疑是不切實際的。后來的綜合驗證肯定了這一觀點[13]。2 資源優(yōu)先方案:與性能優(yōu)先方案相反,資源優(yōu)先僅硬件實現(xiàn)一套密鑰變換輪函數(shù)和密鑰+數(shù)據(jù)運算輪函數(shù),通過反復(fù)16次調(diào)用這一硬件結(jié)構(gòu)來實現(xiàn)一次DES加密運算。這在大大減少硬件開銷的同時也在性能上作出了相應(yīng)的犧牲?;谛阅芎唾Y源占用的綜合考慮,采取了以資源優(yōu)先方案為基礎(chǔ)的實現(xiàn)形式,通過在輪函數(shù)內(nèi)部設(shè)置3級流水線,提高整體處理的速度性能。將數(shù)據(jù)+密鑰輪函數(shù)和密鑰變換函數(shù)在硬件上單獨實現(xiàn),減少了相鄰流水線級間的邏輯復(fù)雜度[14]。最終采取的整體方案可以用下圖簡要表示:圖31 DES加密核心原理圖 通過設(shè)置輪計數(shù)器對所進行的輪運算進行計數(shù),控制DATAMUX和KEYMUX兩個數(shù)據(jù)選擇器選擇進入輪函數(shù)運算的是加密中間數(shù)據(jù)還是原始輸入數(shù)據(jù),以達到復(fù)用輪函數(shù)的目的。. 2通信接口設(shè)計方案通信接口負責(zé)為DES加密核心吞吐數(shù)據(jù),需要根據(jù)不同的通信介質(zhì)進行設(shè)計,以以太網(wǎng)應(yīng)用為例,需實現(xiàn)相應(yīng)的以太網(wǎng)MAC控制器以與物理層設(shè)備接口,或提供與已有以太網(wǎng)控制器硬件相接口的邏輯總線。但是考慮到通用性的問題,由于通信鏈路速率的不同,通信接口與DES加密核心之間很難實現(xiàn)數(shù)據(jù)傳輸和加密的同步,因此需要在兩者之間設(shè)計相應(yīng)的機制。在數(shù)據(jù)跨越不同時鐘邊界時,如何穩(wěn)定可靠地傳輸數(shù)據(jù)是一個值得重視的問題,而握手或緩沖是常用的實現(xiàn)方案。、獨立時鐘操作,采用雙口RAM實現(xiàn)FIFO緩沖為解決這一問題提供了切實可行的方案??紤]實驗平臺上硬件條件的限制,現(xiàn)成可用的通信接口只能選擇UART。由于UART傳輸?shù)牡退俾?,無疑成為了整個系統(tǒng)性能的瓶頸,使得加密性能的實際測試無法進行。但是從功能演示和熟悉系統(tǒng)實現(xiàn)的流程上來說,UART的簡易、可操作又不失為一個不錯的選擇。因此,在本設(shè)計中,選取了UART作為通信接口[15]。UART通信接口部分的系統(tǒng)框圖如下圖所示:圖32 UART通信接口原理圖 B1ockRA11存儲模塊設(shè)計方案對FPGA內(nèi)部的B1ockRAM,考慮采用8片片內(nèi)B1ockRAM并行的方式,UART數(shù)據(jù)幀(8位寬度)循環(huán)串行寫入,DES模塊則采取8片并行輸入輸出的方式來達到位寬匹配的目的[16]。本設(shè)計采用時鐘獨立的雙口RAM,實現(xiàn)UART與DES加密核心之間的數(shù)據(jù)緩沖。采用片內(nèi)8片8位寬度BlockRAM并行輸入輸出,實現(xiàn)與DES加密數(shù)據(jù)總線的位寬匹配。整個系統(tǒng)功能如下圖所示: 圖33系統(tǒng)功能簡圖 DES加密系統(tǒng)的實現(xiàn) 本設(shè)計采用試驗開發(fā)板EITS2003上Xilinx公司SPARTANIIE結(jié)構(gòu)的XC2S100e作為算法載體,通過UART串口進行實驗板和PC的通信,將所需加(解)密的文件通過串口下載到FPGA的BLOCKRAM中,在FPGA中實現(xiàn)控制器和DES模塊以及密鑰的生成,通過控制器實現(xiàn)加、解密功能,最后將加(解)密完成的數(shù)據(jù)再次通過串口傳回PC,可以通過現(xiàn)成的DES算法程序檢驗正確性。從前面的介紹可以看到,DES算法沒有大量的復(fù)雜數(shù)學(xué)計算(如乘、帶進位的加、模等),在加/解密過程和密鑰生成過程中僅有邏輯運算和查表運算。這些特點為采用FPGA進行硬件實現(xiàn)提供了可能性和可行性。3. DES加密核心模塊的實現(xiàn)3. S盒設(shè)計通過分析發(fā)現(xiàn),S盒在整個設(shè)計中占了很大的比重。S盒性能的提高對于整個設(shè)計性能會有很大的改善,因此S盒是整個設(shè)計優(yōu)化的重點[17]。DES的8個S盒分別是一個滿足特殊性能的6~4位的變換。在VHDL或Verilog語言中,可以直接用CASE語句來實現(xiàn)。這是最簡單的實現(xiàn)方法,但是HDL語言都屬于高級語言,它們強烈依賴于編譯器的優(yōu)化能力,往往對設(shè)計者來說,涉及得越少、編程越簡單,代碼效率越不高,這對于性能考慮的實現(xiàn)來說是不可取的。在實現(xiàn)過程中通過分析工具也發(fā)現(xiàn),依賴于編譯器的實現(xiàn)不但復(fù)雜,而且占用大量的空間。這樣,S盒成了速度的瓶頸,為此,采用ROM來實現(xiàn)。XC2S100的LUT可以配置為16X 1位的ROM,把輸入的6位作為地址,對應(yīng)的地址空間里存放的就是輸出的4位,從而實現(xiàn)了64位的查找表LUT,所需時間只是FPGA中CLB的傳輸時間加上傳輸線上的延時,如圖8。圖34 S盒在XC2S100e的實現(xiàn) 密鑰生成器的設(shè)計是獨立于DES輪函數(shù)運算實現(xiàn)的,采用3級流水線來與輪函數(shù)中的流水線相平衡,單輪的實現(xiàn)如圖9。 其中,3級流水線由移位寄存器(SR)和1個觸發(fā)器(FF)構(gòu)成,在SR中完成兩級流水線,在FF中實現(xiàn)第三級。XC2S100的LUT中的每個查找表LUT可以用來生成1~16個移位寄存器,而且在一個單獨的可配置邏輯功能塊CLB中連接8個移位寄存器來構(gòu)成一個128位的移位寄存器[18]。圖35單輪子密鑰生成在XC2S100e的實現(xiàn)3. 2. 1. 3 DES加密核心模塊的頂層框圈通過上述分析,DES加密核心模塊的頂層框圖如下: 圖36 DES加密核心模塊的頂層框圖3. 2. 2 UART通信接口模塊的實現(xiàn) RS 232的實現(xiàn)通常采用專用的UART(Universal Asynchronous Receiver and Transmitter)接口芯片或利用單片機本身所帶有的異步通信功能,但有些情況下也需要利用可編程芯片通過軟件的編制來實現(xiàn)UART的功能。在本設(shè)計中,為了方便文件的傳輸,我們也設(shè)計了基于UA RT的串口通信模塊。3. 2. 異步串口包括接收和發(fā)送兩個部分。接收部分將收到的以幀為單位的串行輸入信號轉(zhuǎn)化為并行信號供取走。發(fā)送部分則完成信號的并一串轉(zhuǎn)換。同時會給傳送的8位數(shù)據(jù)加上起始位,奇偶校驗位和停止位。異步串行通信關(guān)鍵要保證通信雙方收發(fā)同步。由于沒有時鐘線,所以雙方必須以一個固定的頻率,同步的收發(fā)數(shù)據(jù),才能保證數(shù)據(jù)傳送的正確性[19]。異步串行通信的數(shù)據(jù)傳送格式如下圖: UART通信接口實現(xiàn)原理串口發(fā)送數(shù)據(jù)格式:1位起始位(‘0’),8位數(shù)據(jù)位,1位停止位(‘1’),空閑位(‘1’)。接收數(shù)據(jù): 按照串口傳輸協(xié)議,檢測起始位,為防止因干擾或其它因素引起的電平跳動,以波特率16倍的頻率檢測,一旦檢測到起始位,就開始接收數(shù)據(jù),要保證在數(shù)據(jù)位的中間取樣。對于異步接收器而言,同步的實現(xiàn)就是靠尋找起始位來作為一幀數(shù)據(jù)的開始。通常的做法是產(chǎn)生一個16倍(或32倍)于波特率的時鐘信號clkl6x,當 clkl6x的前后兩個脈沖沿檢測到串行輸入信號從高到低的跳變時,即表明一幀數(shù)據(jù)的開始,然后再經(jīng)過8個c
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1