FPGA設(shè)計(jì)與應(yīng)用教學(xué)課件.ppt_第1頁
FPGA設(shè)計(jì)與應(yīng)用教學(xué)課件.ppt_第2頁
FPGA設(shè)計(jì)與應(yīng)用教學(xué)課件.ppt_第3頁
FPGA設(shè)計(jì)與應(yīng)用教學(xué)課件.ppt_第4頁
FPGA設(shè)計(jì)與應(yīng)用教學(xué)課件.ppt_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 FPGA概述,1.1 FPGA的發(fā)展歷程,1.3 FPGA的設(shè)計(jì)方法,1.2 FPGA的基本原理,1.4 FPGA的設(shè)計(jì)流程,1.5 總結(jié)與結(jié)論,1.1 FPGA的發(fā)展歷程,早期,FPGA,1.2 FPGA的基本原理,基于查找表的FPGA的基本結(jié)構(gòu)及邏輯實(shí)現(xiàn)原理,FPGA的配置應(yīng)用,基于乘積項(xiàng)的FPGA的基本結(jié)構(gòu)及邏輯實(shí)現(xiàn)原理,1.2 FPGA的基本原理,基于查找表的FPGA的基本結(jié)構(gòu)及邏輯實(shí)現(xiàn)原理,查找表(Look Up Table,LUT)本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的161的RAM。當(dāng)用戶通過原理圖或HDL語言

2、描述了一個(gè)邏輯電路以后,F(xiàn)PGA開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。,1.2 FPGA的基本原理,基于乘積項(xiàng)的FPGA的基本結(jié)構(gòu)及邏輯實(shí)現(xiàn)原理,這種FPGA的結(jié)構(gòu)可分為三塊:宏單元(Macrocell)、可編程連線(PIA)和I/O控制塊。宏單元是器件的基本結(jié)構(gòu),由它來實(shí)現(xiàn)基本的邏輯功能;可編程連線負(fù)責(zé)信號(hào)傳遞,連接所有的宏單元;I/O控制塊負(fù)責(zé)輸入輸出的電氣特性控制,比如可以設(shè)定集電極開路輸出,擺率控制,三態(tài)輸出等。,INPUT/GCLK1,INPUT/GCLRn,I

3、NPUT/OE1,INPUT/OE2是全局時(shí)鐘、清零和輸出使能信號(hào),這幾個(gè)信號(hào)有專用連線與器件中每個(gè)宏單元相連,信號(hào)到每個(gè)宏單元的延時(shí)相同并且延時(shí)最短。,1.3 FPGA的設(shè)計(jì)方法,FPGA的常用設(shè)計(jì)方法包括“自頂向下”和“自下而上”,目前大規(guī)模FPGA設(shè)計(jì)一般選擇“自頂向下”的設(shè)計(jì)方法。,所謂“自頂向下”設(shè)計(jì)方法, 簡(jiǎn)單地說,就是采用可完全獨(dú)立于芯片廠商及其產(chǎn)品結(jié)構(gòu)的描述語言,在功能級(jí)對(duì)設(shè)計(jì)產(chǎn)品進(jìn)行定義, 并結(jié)合功能仿真技術(shù),以確保設(shè)計(jì)的正確性,在功能定義完成后,利用邏輯綜合技術(shù),把功能描述轉(zhuǎn)換成某一具體結(jié)構(gòu)芯片的網(wǎng)表文件,輸出給廠商的布局布線器進(jìn)行布局布線。布局布線結(jié)果還可反標(biāo)回同一仿真器

4、, 進(jìn)行包括功能和時(shí)序的后驗(yàn)證,以保證布局布線所帶來的門延時(shí)和線延時(shí)不會(huì)影響設(shè)計(jì)的性能。,1.4 FPGA的設(shè)計(jì)流程,第一步:按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)劃分。,第二步:輸入VHDL/Verilog HDL代碼,第三步:將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的VHDL/Verilog HDL文件,然后將文件調(diào)入HDL仿真軟件進(jìn)行功能仿真,第四步:利用綜合器對(duì)源代碼進(jìn)行綜合優(yōu)化處理,生成門級(jí)描述的網(wǎng)表文件,第五步:如果整個(gè)設(shè)計(jì)超出器件的宏單元或I/O單元資源,可以將設(shè)計(jì)劃分到多片同系列的器件中。,第六步:將試配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標(biāo)芯片F(xiàn)PGA中,FPGA是近幾年集成電路中

5、發(fā)展最快的產(chǎn)品。本章主要對(duì)FPGA的發(fā)展歷程、結(jié)構(gòu)原理和設(shè)計(jì)方法與流程做了介紹。隨著可編程邏輯器件的高速發(fā)展,可編程邏輯器件將進(jìn)一步擴(kuò)大其領(lǐng)地。據(jù)IC Insights的數(shù)據(jù)顯示,可編程邏輯器件市場(chǎng)從1999年的29億美元增長(zhǎng)到2004的56億美元,幾乎翻了一番??删幊踢壿嬈骷⒗^續(xù)向著更高密度和更大容量方向邁進(jìn)。,1.5 總結(jié)與結(jié)論,第2章 硬件描述語言入門,2.1 VHDL入門,2.3 總結(jié)與結(jié)論,2.2 Verilog HDL入門,2.1 VHDL入門,2.1 VHDL入門,VHDL的模塊組織,在應(yīng)用VHDL描述數(shù)字系統(tǒng)結(jié)構(gòu)時(shí),我們使用實(shí)體(entity)-結(jié)構(gòu)體( architectu

6、re )結(jié)構(gòu)。 實(shí)體描述了數(shù)字系統(tǒng)的輸入輸出接口,同時(shí)還定義了一些全局常量以及與其他電路(程序模塊或邏輯圖模塊)之間必要連接的拓?fù)浣Y(jié)構(gòu)。但在實(shí)體中,我們并不對(duì)電路的邏輯做任何描述,可將其看成是一個(gè)所謂的邏輯“黑盒子”。很明顯,VHDL遵循EDA解決方案中自頂向下的設(shè)計(jì)原則,并能夠保持良好的接口兼容性。,2.1 VHDL入門,基本的數(shù)據(jù)類型及常量、變量、信號(hào),數(shù)據(jù)類型 VHDL標(biāo)準(zhǔn)數(shù)據(jù)類型包括整數(shù)(INTEGER)、實(shí)數(shù)(REAL)、位(BIT)、位矢量(BIT_VECTOR)、標(biāo)準(zhǔn)邏輯(STD_LOGIC)、標(biāo)準(zhǔn)邏輯矢量(STD_LOGIC_VECTOR)、布爾量(BOOLEAN)、字符(CH

7、ARACTER)、字符串(STRING)及時(shí)間(TIME)類型。 為了給設(shè)計(jì)者提供自由度和靈活性,VHDL語言允許用戶自定義數(shù)據(jù)類型,命令為:TYPE 數(shù)據(jù)類型名 ,數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義,常量 常量在設(shè)計(jì)中不會(huì)發(fā)生變化,可以增加程序的可讀性,書寫格式為: CONSTANT 常量名 ,常量名 :數(shù)據(jù)類型 := 表達(dá)式; 例如:CONSTANT WAIT:TIME:= 20ns; CONSTANT LEN:INTEGER:= 16;,變量 變量作用是對(duì)數(shù)據(jù)進(jìn)行暫時(shí)存儲(chǔ),書寫格式為: VARIABLE 變量名 ,變量名:數(shù)據(jù)類型 := 表達(dá)式; 例如:VARIABLE rd_en : ST

8、D_LOGIC : = 1; VARIABLE cnt: INTEGER ; 在變量說明中,可以直接賦給變量初始值,也可以不賦初始值,如果沒賦初始值,它默認(rèn)為變量數(shù)據(jù)類型的最小值。,信號(hào) 在電路中,連線將元器件連接起來組成系統(tǒng),在VHDL語言中,信號(hào)就起著連線的作用,書寫格式為: SIGNAL 信號(hào)名 ,信號(hào)名:數(shù)據(jù)類型 := 表達(dá)式; 例如: SIGNAL wr_en : STD_LOGIC: = 0; SIGNAL num1 , num2 : STD_LOGIC_VECTOR( 7downto 0 );,2.1 VHDL入門,運(yùn)算符及表達(dá)式,VHDL基本語句,典型電路的設(shè)計(jì),VHDL語言的

9、運(yùn)算符有四類:邏輯運(yùn)算符、算術(shù)運(yùn)算符、并置運(yùn)算符和關(guān)系運(yùn)算符,傳統(tǒng)的設(shè)計(jì)方式,設(shè)計(jì)者在他的CAD工作站上以基本的電路組件來組織并構(gòu)成一個(gè)完整的邏輯功能,這些最基本的電路組件如AND邏輯門、OR邏輯門或緩存器在CAD工作站的屏幕中以線條和圖案來表示,每個(gè)組件都必須清楚定義輸出入信號(hào)和功能。在VHDL的語言中,這種所謂的SYMBOL不復(fù)存在,VHDL以實(shí)體的描述來表示一個(gè)傳統(tǒng)線路中的SYMBOL。,本節(jié)中主要通過例子程序使讀者初步理解VHDL的語法構(gòu)成,書中介紹的是一個(gè)加法器完整的VHDL語句描述,包括注釋、庫(kù)文件說明、實(shí)體、結(jié)構(gòu)體、進(jìn)程語句、條件語句、例化語句等。2個(gè)4位輸入信號(hào)a和b,進(jìn)位輸入

10、cin,輸出4位結(jié)果sum,輸出向下一極進(jìn)位信號(hào)cout,整個(gè)程序都由組合邏輯實(shí)現(xiàn)。,2.2 Verilog HDL入門,2.3 總結(jié)與結(jié)論,這一章我們主要學(xué)習(xí)了一些HDL語言的基本語法與我們以往學(xué)習(xí)的C語言等、PASCAL等都有相似之處,要注意的是在學(xué)習(xí)中要有意識(shí)地把HDL語言的語句與硬件結(jié)構(gòu)模塊聯(lián)系起來,通過理解物理意義,牢牢掌握。,第3章 簡(jiǎn)單電路的HDL設(shè)計(jì),3.1 基本組合邏輯運(yùn)算,3.4 總結(jié)與結(jié)論,3.2 基本時(shí)序器件寄存器,3.3 基本簡(jiǎn)單數(shù)學(xué)運(yùn)算,3.1 基本組合邏輯運(yùn)算,與運(yùn)算,或運(yùn)算,異或運(yùn)算, 與非運(yùn)算,2選1多路選擇器,兩位比較器,3.2 基本時(shí)序器件寄存器,D觸發(fā)器

11、,T觸發(fā)器,J-K觸發(fā)器, 時(shí)序器件移位寄存器,3.3 基本簡(jiǎn)單數(shù)學(xué)運(yùn)算, 4位加法器,輸入數(shù)據(jù)同比特位進(jìn)行運(yùn)算時(shí),都要等待前一比特的進(jìn)位信號(hào)狀態(tài)完成(建議:用在位數(shù)不超過16位的加法器)。對(duì)于多位逐位進(jìn)位加法器來說,也可采用流水方式改善性能。,輸入數(shù)據(jù)同比特位進(jìn)行運(yùn)算時(shí),不需要等待前一比特的進(jìn)位信號(hào)。實(shí)現(xiàn)速度比較快,但資源占用也比較大。建議使用在16位加法器上比較合適。對(duì)于位數(shù)較多的也可采用流水方式。,由三個(gè)加法器組成,一個(gè)計(jì)算低字節(jié);兩個(gè)計(jì)算高字節(jié)。計(jì)算高字節(jié)的加法器一個(gè)令進(jìn)位為1,另一個(gè)令進(jìn)位為0。三部分同時(shí)計(jì)算,最后,低字節(jié)的進(jìn)位選擇是哪一個(gè)高字節(jié)器的輸出。對(duì)于位數(shù)較多的加法器,性能的

12、提高比較明顯,但資源相對(duì)占用較多。,3.3 基本簡(jiǎn)單數(shù)學(xué)運(yùn)算, 4位計(jì)數(shù)器,流水式超前進(jìn)位計(jì)數(shù)器,逐位進(jìn)位計(jì)數(shù)器的特點(diǎn)是:每一位都要等前一位的進(jìn)位輸出有效后才開始變化,每一位模塊之間用進(jìn)位信號(hào)連接起來(推薦使用長(zhǎng)度不超過16位)。,應(yīng)用逐位進(jìn)位計(jì)數(shù)器的原理,并在其基礎(chǔ)上加以改進(jìn),因?yàn)椴捎酶窭状a進(jìn)行計(jì)數(shù),每個(gè)狀態(tài)變化時(shí),只有1位信號(hào)發(fā)生改變,減少了毛刺現(xiàn)象的發(fā)生。,應(yīng)用超前進(jìn)位計(jì)數(shù)器的基本原理加以改進(jìn),使用流水技術(shù),減少了進(jìn)位信號(hào)的傳輸延時(shí),大大提高了系統(tǒng)效率。,3.3 基本簡(jiǎn)單數(shù)學(xué)運(yùn)算, 4位乘法器,移位相加乘法器實(shí)現(xiàn)簡(jiǎn)單,它的基本設(shè)計(jì)思想就是采用一種稱之為迭代的方式,根據(jù)乘數(shù)的每一位是否為1

13、進(jìn)行計(jì)算,若為1則將被乘數(shù)移位相加,這種實(shí)現(xiàn)方式使得在乘法計(jì)算中,每算出一乘積項(xiàng)就加到乘積中,此時(shí)的積稱作部分積。通過對(duì)部分積的逐步移位完成乘積項(xiàng)與乘數(shù)的位對(duì)齊相加,直至得出結(jié)果。這種方法硬件資源耗用較少,但一個(gè)4位乘法需要4個(gè)周期才能得到結(jié)果,速度比較慢,也可采用這種思想,用全邏輯實(shí)現(xiàn),但延時(shí)較大。因此,在高速的應(yīng)用系統(tǒng)中,一般不采用該方法。,查找表乘法器的基本設(shè)計(jì)思路就是將乘積直接存放在存儲(chǔ)器中,將操作數(shù)(乘數(shù)和被乘數(shù))作為地址訪問存儲(chǔ)器,得到的輸出數(shù)據(jù)就是乘法運(yùn)算的結(jié)果。,加法器樹結(jié)合了移位相加乘法器和查找表乘法器的優(yōu)點(diǎn)。事實(shí)上,從下面的示意圖可看出,它采用了并行處理的架構(gòu),所以其速度快

14、,由于主要采用與門邏輯實(shí)現(xiàn)邏輯功能,所以其資源耗費(fèi)也較少。,3.4 總結(jié)與結(jié)論,數(shù)字系統(tǒng)往往由數(shù)據(jù)通路和控制通路組成,本章主要從RTL級(jí)對(duì)組成數(shù)字系統(tǒng)的基本模塊進(jìn)行講解,可以說掌握了這部分內(nèi)容,就可以完成一些簡(jiǎn)單的數(shù)字系統(tǒng)的設(shè)計(jì)了。,第4章 FPGA的同步設(shè)計(jì),4.1 同步的定義,4.4 中央允許產(chǎn)生器,4.2 同步部件,4.3 狀態(tài)產(chǎn)生,4.7 異步接口,4.5 同步清除,4.6 時(shí)鐘歪斜的清除,4.8 總結(jié)與結(jié)論,4.1 同步的定義,對(duì)于靜態(tài)同步設(shè)計(jì), 我們稱一個(gè)系統(tǒng)是同步的,假若: 1.每個(gè)邊緣敏感部件的時(shí)鐘輸入是一次時(shí)鐘輸入的某個(gè)函數(shù);并且仍是象一次時(shí)鐘那樣的時(shí)鐘信號(hào)。 2.所有存儲(chǔ)元

15、件(包括計(jì)數(shù)器)都是邊緣敏感的,在系統(tǒng)中沒有電平敏感存儲(chǔ)元件。,4.2 同步部件,基本的同步部件,同步清除D型觸發(fā)器,構(gòu)成同步基本部件基礎(chǔ)的是邊緣敏感D型觸發(fā)器。其基本性質(zhì)為,在時(shí)鐘CLK輸入的上升邊之后,D輸入端的邏輯值出現(xiàn)在Q輸出端,而其補(bǔ)值出現(xiàn)在Q非輸出端。這一過程就是取樣過程。,我們希望FPGA有一個(gè)性能,即全局復(fù)位,這是一個(gè)測(cè)試要求。在FPGA的同步設(shè)計(jì)中應(yīng)避免使用異步清除D型觸發(fā)器(它破壞了同步系統(tǒng)的兩個(gè)條件),應(yīng)代之以同步清除。這樣就產(chǎn)生了第一個(gè)新的基本部件:帶同步清除的D型觸發(fā)器,4.2 同步部件, T型觸發(fā)器, E型觸發(fā)器,最有用的存儲(chǔ)單元之一是一種鎖存器,它能夠保持一個(gè)數(shù)據(jù)

16、直到通知它鎖存另一數(shù)據(jù)時(shí)為止,稱為E型觸發(fā)器。它有一個(gè)從其輸出端到其輸入端的反饋環(huán)路,使其能保持?jǐn)?shù)據(jù)長(zhǎng)達(dá)若干個(gè)時(shí)鐘周期。,4.2 同步部件, R型觸發(fā)器, 同步RS觸發(fā)器,請(qǐng)求(R型)觸發(fā)器是唯一具有一個(gè)異步電平敏感輸入的,后者用于應(yīng)答信號(hào)。同步清除用于全局復(fù)位,如在測(cè)試中用,它有兩種結(jié)構(gòu)。,同步RS觸發(fā)器有兩個(gè)清除端,一個(gè)本地清除R和一個(gè)全局清除GC。 當(dāng)復(fù)位端R和置位端S都為高電平時(shí),沒有不確定狀態(tài)。在同步RS觸發(fā)器復(fù)位優(yōu)先于置位。,4.3 狀態(tài)產(chǎn)生, 狀態(tài)的無條件執(zhí)行,在所有標(biāo)準(zhǔn)部件中最重要的是同步二進(jìn)制計(jì)數(shù)器(SBC), SBC有許多用途,其中一種即狀態(tài)產(chǎn)生.,通常用單狀態(tài)譯碼器完成狀

17、態(tài)的無條件執(zhí)行,此譯碼器連接在主計(jì)數(shù)器上。下圖所示為實(shí)現(xiàn)這一原理的連續(xù)平均電路。它順序取16項(xiàng)數(shù)據(jù),并輸出其和。每16項(xiàng)數(shù)據(jù)之和鎖存于輸出寄存器,并將累加器清除。,4.3 狀態(tài)產(chǎn)生, 狀態(tài)的有條件執(zhí)行,在所有標(biāo)準(zhǔn)部件中最重要的是同步二進(jìn)制計(jì)數(shù)器(SBC), SBC有許多用途,其中一種即狀態(tài)產(chǎn)生.,在根據(jù)無條件執(zhí)行狀態(tài)序列原則設(shè)計(jì)的電路中,轉(zhuǎn)移僅限于用以實(shí)現(xiàn)非二進(jìn)制的無條件轉(zhuǎn)移類型是。其它各種電路要求用有條件轉(zhuǎn)移或有條件執(zhí)行一狀態(tài)序列。,4.4 中央允許產(chǎn)生器,用不良設(shè)計(jì)方法設(shè)計(jì)的中央時(shí)鐘產(chǎn)生器,可以用等效的同步式電路取代。后者即中央允許產(chǎn)生器。這一設(shè)計(jì)中采用了本章介紹的所有設(shè)計(jì)方法。圖4-27

18、中示出的簡(jiǎn)單允許產(chǎn)生器能夠推廣到和任何有條件或無條件狀態(tài)的執(zhí)行相結(jié)合。,4.5 同步清除,雖然本章中作為單元電路介紹的同步清除在功能上,在某些情況下,等效于異步清除,但是當(dāng)一電路有全局復(fù)位功能時(shí)優(yōu)先選用同步清除的理由如下: 1、某些電路具有自己的同步清除功能。可以將其用于全局清除,以節(jié)省資源。 2、混合使用全局異步清除和局部同步清除會(huì)使電路功能混亂,導(dǎo)致產(chǎn)生異常情況。 3、在許多情況下,采用同步清除的電路比異步的占用較少空間。 4、使RAM和寄存器列一類電路元件,初始化時(shí),要求在連續(xù)幾個(gè)時(shí)鐘周期中清除,這意味著同步清除。,4.6 時(shí)鐘歪斜的清除,同步設(shè)計(jì)的最重要求之一是將時(shí)鐘歪斜減小到可以接受

19、的程度。假設(shè)時(shí)鐘緩沖符合第三章中的規(guī)則,則還有另外兩種設(shè)計(jì)方法可以采用。 第一種情況是從一D型觸發(fā)器的Q輸出端直接饋給另一觸發(fā)器的 D輸入端時(shí),延遲不足以滿足第二個(gè)D型觸發(fā)器對(duì)保持時(shí)間的要求。解決方法是使用一個(gè)低驅(qū)動(dòng)強(qiáng)度的源D型觸發(fā)器,并且不加緩沖。高的相對(duì)扇出有助于改進(jìn)保持時(shí)間。 第二種設(shè)計(jì)方法是在各個(gè)受時(shí)鐘控制的部件之后分別接入緩沖器,并在兩個(gè)緩沖輸出端之間接一平衡網(wǎng)絡(luò)。若兩支路由于某種原因不平衡,則有一小電流通過網(wǎng)絡(luò),從而消除時(shí)鐘歪斜。,4.7 異步接口, 互相同步的系統(tǒng), 互相異步的系統(tǒng), 握手發(fā)送數(shù)據(jù)的安全性, 同步系統(tǒng)的異步輸入, 亞穩(wěn)定性, 微處理器存儲(chǔ)器映射中的FPGA,4.7

20、 異步接口, 互相同步的系統(tǒng),我們要討論的第一種接口是普通的互相同步的兩個(gè)同步系統(tǒng)的接口。為了滿足這一類的條件,兩系統(tǒng)必須有一公共外部時(shí)鐘。用允許標(biāo)志如圖所示,通知在兩系統(tǒng)之間傳送數(shù)據(jù)。允許信號(hào)在時(shí)鐘上升沿后經(jīng)過時(shí)鐘至Q端的傳播時(shí)間變?yōu)橛行?,并保持有效至下一個(gè)時(shí)鐘上升沿之后時(shí)鐘至Q端的時(shí)間。故它包含一有效時(shí)鐘邊緣。,4.7 異步接口, 互相異步的系統(tǒng),更為常見的一類異步接口是互相異步的兩個(gè)內(nèi)部同步的系統(tǒng)之間的接口。這時(shí),重要的是,按照同步設(shè)計(jì)原理,處理請(qǐng)求的信號(hào)交換(握手)功能需要采用R型觸發(fā)器,其應(yīng)用示于圖中。,4.7 異步接口, 同步系統(tǒng)的異步輸入,本節(jié)討論一同步系統(tǒng)處理獨(dú)立的異步輸入的方

21、法。若FPGA只要求對(duì)單個(gè)異步到達(dá)的事件起響應(yīng),則存儲(chǔ)立即式請(qǐng)求觸發(fā)器,如圖所示的電路,比同步R型觸發(fā)器更簡(jiǎn)單。它由一D型觸發(fā)器構(gòu)成,其D輸入端接到邏輯“1”上,異步輸入連接到其時(shí)鐘端。D型觸發(fā)器用于此目的比異步RS觸發(fā)器更適合,因?yàn)樽赃吘壝舾蠨型觸發(fā)器來的請(qǐng)求,在收到之后幾乎立刻就被接收系統(tǒng)用上節(jié)所述方法消除。另一方面,電平敏感異步RS觸發(fā)器則要求輸入端上的激勵(lì)(它可能是邏輯電平的階躍變化)去掉才行。,4.7 異步接口, 握手發(fā)送數(shù)據(jù)的安全性,一般說來,圍繞握手過程的保護(hù)措施愈多,數(shù)據(jù)完整性愈大,但是系統(tǒng)性能愈低。當(dāng)通過一異步接口發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)錯(cuò)誤概率可以小到忽略不計(jì),但是要以系統(tǒng)帶寬作為

22、代價(jià)。,4.7 異步接口, 微處理器存儲(chǔ)器映射中的FPGA,使FPGA和一微處理器通信的簡(jiǎn)單方法是把它放在微處理器的存儲(chǔ)器映射中。微處理器,利用片選和寫允許(WE)控制線,記入數(shù)據(jù)或查詢數(shù)據(jù)位置,就好像FPGA是RAM。WE的上升沿使數(shù)據(jù)存儲(chǔ)在FPGA輸入端的電平敏感鎖存器中,同時(shí)使一異步式請(qǐng)求觸發(fā)器置位。,4.7 異步接口, 亞穩(wěn)定性,用于對(duì)輸入數(shù)據(jù)流取樣的邊緣敏感觸發(fā)器,只要在有效時(shí)鐘邊緣的兩邊的臨界建立和保護(hù)時(shí)間中保持穩(wěn)定則將正確地鎖存數(shù)據(jù)。若在此期間輸入數(shù)據(jù)改變,則輸出將不能預(yù)測(cè),產(chǎn)生所謂亞穩(wěn)定現(xiàn)象。觸發(fā)器在回到一邏輯狀態(tài)之前可能進(jìn)入高電平和低電平之間的幾種亞穩(wěn)定序列之一,如圖所示。,

23、4.8 總結(jié)與結(jié)論,當(dāng)數(shù)字系統(tǒng)的復(fù)雜度進(jìn)一步提高,數(shù)據(jù)流的速度要求進(jìn)一步提升時(shí),IC設(shè)計(jì)者就要很謹(jǐn)慎的考慮數(shù)字系統(tǒng)的時(shí)序問題,在對(duì)數(shù)字系統(tǒng)的定時(shí)關(guān)系進(jìn)行準(zhǔn)確的分析的基礎(chǔ)上掌握好同步技術(shù)是高水平的IC設(shè)計(jì)者所必需的,也值得每個(gè)FPGA設(shè)計(jì)者研讀。,第5章 常見的FPGA設(shè)計(jì)實(shí)例,5.1 移位寄存器設(shè)計(jì)實(shí)例,5.4 存儲(chǔ)器設(shè)計(jì)實(shí)例,5.2 計(jì)數(shù)器設(shè)計(jì)實(shí)例,5.3 狀態(tài)機(jī)設(shè)計(jì)實(shí)例,5.5 門禁系統(tǒng)設(shè)計(jì)實(shí)例,5.6 總結(jié)與結(jié)論,5.1 移位寄存器設(shè)計(jì)實(shí)例, m序列的產(chǎn)生和性質(zhì), 對(duì)具體某一信號(hào)的連續(xù)存儲(chǔ),m序列是最常用的一種偽隨機(jī)序列,它是最長(zhǎng)線性反饋移位寄存器序列的簡(jiǎn)稱,是由帶線性反饋的移位寄存器產(chǎn)

24、生的序列,并且具有最長(zhǎng)周期。,在實(shí)際設(shè)計(jì)中,如密碼門、ATM提款機(jī)一類需要手動(dòng)輸入信息的地方,需要將某一具體信號(hào)進(jìn)行連續(xù)存儲(chǔ),常會(huì)使用到這種移位寄存器。,5.2 計(jì)數(shù)器設(shè)計(jì)實(shí)例,幾種實(shí)際應(yīng)用的計(jì)數(shù)器電路。 (1) 跟蹤并計(jì)算某一信號(hào)出現(xiàn)的次數(shù) (2) 作控制信號(hào)的條件,有時(shí)某些控制信號(hào)是根據(jù)計(jì)數(shù)器的某種狀態(tài)的出現(xiàn)而發(fā)生改變, 計(jì)數(shù)器負(fù)責(zé)跟蹤另外一個(gè)信號(hào),例如移位寄存器在先動(dòng)作一拍的前 提下才進(jìn)行下一步的操作,或在動(dòng)作幾拍,或在另一個(gè)信號(hào)出現(xiàn)幾 次的情況下改變以前的動(dòng)作狀態(tài)等情況。計(jì)數(shù)器在這種情況下起到 了過渡性作用。,5.3 狀態(tài)機(jī)設(shè)計(jì)實(shí)例,狀態(tài)機(jī)可以認(rèn)為是組合邏輯和寄存器邏輯的特殊組合,它一

25、般包括兩個(gè)部分:組合邏輯部分和寄存器部分。寄存器用于存儲(chǔ)狀態(tài),組合電路用于狀態(tài)譯碼和產(chǎn)生輸出信號(hào)。狀態(tài)機(jī)的下一個(gè)狀態(tài)及輸出,不僅與輸入信號(hào)有關(guān),而且還與寄存器當(dāng)前所處的狀態(tài)有關(guān)。 狀態(tài)機(jī)有3種表示方法:狀態(tài)圖、狀態(tài)表和流程圖。這3種表示方法是等價(jià)的,相互之間可以轉(zhuǎn)換。其中狀態(tài)圖是最常用的一種表示方式。,5.4 存儲(chǔ)器設(shè)計(jì)實(shí)例,存儲(chǔ)器是數(shù)字系統(tǒng)的重要組成部分,數(shù)據(jù)處理單元的處理結(jié)果需要存儲(chǔ),許多處理單元的初始化數(shù)據(jù)也需要存放在存儲(chǔ)器中。存儲(chǔ)器還可以完成一些特殊的功能,如多路復(fù)用、速率變換、數(shù)值計(jì)算、脈沖成形、特殊序列產(chǎn)生以及數(shù)字頻率合成等等。 基本的存儲(chǔ)器類型有RAM、FIFO、ROM這三種,由

26、于通常的設(shè)計(jì)軟件提供相應(yīng)的宏單元,設(shè)計(jì)者可以通過手工編程和利用宏模塊這二種方式來設(shè)計(jì)各種類型的存儲(chǔ)器。,5.5 門禁系統(tǒng)設(shè)計(jì)實(shí)例,圖中所示為一種門禁系統(tǒng)的原理圖,其中的控制單元實(shí)際上是一個(gè)可以控制各個(gè)組件的狀態(tài)機(jī)。它包括了一個(gè)12輸入鍵盤(數(shù)字09、ENT、CLR),只有一個(gè)3個(gè)數(shù)字的組合才能打開門。用戶在輸入3個(gè)數(shù)字的密碼后還要按下ENT鍵,指示輸入的完成。CLR鍵可以清除用戶錯(cuò)誤輸入的數(shù)據(jù),但必須在按下ENT鍵之前。正確的密碼存儲(chǔ)在12位的DIPswitch中。系統(tǒng)最多可以允許3次輸入錯(cuò)誤,如果第4次輸入錯(cuò)誤,系統(tǒng)會(huì)自動(dòng)報(bào)警。只有MASTERRESET信號(hào)可以清除報(bào)警狀態(tài),而且該信號(hào)同時(shí)也

27、可以開門,它和正確輸入密碼的作用是一樣的。,5.6 總結(jié)與結(jié)論,通過對(duì)經(jīng)典實(shí)例的分析,可以了解硬件設(shè)計(jì)中一些基本模塊如何通過FPGA得到實(shí)現(xiàn)。但僅僅掌握上述模塊的實(shí)現(xiàn)是遠(yuǎn)遠(yuǎn)不能滿足電子設(shè)計(jì)需求的,更重要的是掌握設(shè)計(jì)方法:靈活運(yùn)用FPGA設(shè)計(jì)流程開展設(shè)計(jì),區(qū)別流程中各個(gè)部分的聯(lián)系與區(qū)別;養(yǎng)成良好的硬件描述語言編碼風(fēng)格,了解硬件描述語言與電路的對(duì)應(yīng)關(guān)系,提高設(shè)計(jì)的可維護(hù)性、可調(diào)試性;建立硬件意識(shí),區(qū)分FPGA設(shè)計(jì)編碼與軟件設(shè)計(jì)編碼,軟件設(shè)計(jì)編碼目的是為描述邏輯流程,F(xiàn)PGA設(shè)計(jì)編碼是描述電路結(jié)構(gòu)。模塊設(shè)計(jì)是FPGA設(shè)計(jì)的根本,熟練掌握模塊設(shè)計(jì)能夠?yàn)檫M(jìn)一步利用FPGA完成電子設(shè)計(jì)打好堅(jiān)實(shí)的基礎(chǔ)。,第

28、6章 FPGA的配置與編程,6.1 Altera FPGA配置與編程,6.2 Xillinx FPGA配置,6.3 總結(jié)與結(jié)論,6.1 Altera FPGA配置與編程,FPGA的配置與編程是將用戶經(jīng)過軟件設(shè)計(jì)與仿真驗(yàn)證的功能電路寫入實(shí)際的FPGA芯片中的過程。所有的FPGA芯片都需要經(jīng)過配置與編程才能實(shí)現(xiàn)用戶需要的功能。,FPGA上nCONFIG的低到高變化表示配置過程的開始。配置過程包括三個(gè)階段:復(fù)位、配置和初始化。當(dāng)nCONFIG為低時(shí)候,器件處于復(fù)位狀態(tài)。當(dāng)器件結(jié)束復(fù)位狀態(tài)時(shí),nCONFIG必須處于邏輯高電平,使器件釋放漏極開路的nSTATUS管腳。一旦nSTATUS被釋放,它就會(huì)被上

29、拉電阻拉到高電平,此時(shí)FPGA準(zhǔn)備好開始接收配置數(shù)據(jù)。從配置開始之前到配置結(jié)束,所有的用戶I/O管腳都處于高阻態(tài)。,6.2 Xillinx FPGA配置,Xillinx FPGA配置方式共有:JTAG或邊界掃描方式(JTAG or Boundary Scan Mode)、SelectMAP/Slave-Parallel方式、主動(dòng)串行方式(Master-serial Mode)、Slave-serial方式和編程器配置方式(Standalone Programmer Mode)。在選擇配置方式之前應(yīng)該了解Xillinx 公司各FPGA系列具備的配置方式,各FPGA器件系列對(duì)配置方式支持情況如下表

30、所示,6.3 總結(jié)與結(jié)論,FPGA器件的配置對(duì)于電子系統(tǒng)設(shè)計(jì)者而言較為重要的內(nèi)容,但常常被忽視。各種型號(hào)FPGA數(shù)據(jù)手冊(cè)及對(duì)FPGA的配置,F(xiàn)PGA廠商的官方網(wǎng)站有更為詳細(xì)的介紹,建議讀者通過本節(jié)閱讀先對(duì)FPGA器件配置產(chǎn)生大致的認(rèn)識(shí),再根據(jù)被配置FPGA器件的具體型號(hào)選擇相關(guān)文檔仔細(xì)閱讀,使本節(jié)內(nèi)容及FPGA公司相關(guān)文檔相互配置指導(dǎo)您的工程實(shí)踐。,第7章 FPGA的配置與編程,7.1 3DES設(shè)計(jì)流程,7.2 3DES模塊劃分,7.5 總結(jié)與結(jié)論,7.3 3DES設(shè)計(jì)過程,7.4 3DES-PCI安全卡的設(shè)計(jì),3DES是DES的一個(gè)更安全的變形。DES算法運(yùn)算的流程如圖所示。其中S盒是3DE

31、S(DES)算法的心臟,靠它實(shí)現(xiàn)非線性變換。,7.1 3DES設(shè)計(jì)流程,3DES算法可以描述如下:設(shè)ek(x)和dk(x)分別表示用DES算法對(duì)64位的位串加密和解密,密鑰為K;64位的密文c是通過執(zhí)行下面的運(yùn)算得到的:,其中K1、K2、K3是56位的DES密鑰。 從密文c導(dǎo)出明文x的3DES的解密過程是加密過程的反過程,其描述如下:,7.2 3DES模塊劃分,為了獲得更高的安全性,三個(gè)密鑰應(yīng)該是互不相同的。這樣,本質(zhì)上就相當(dāng)于用一個(gè)長(zhǎng)為168位的密鑰進(jìn)行加密。多年來,它在對(duì)付強(qiáng)力攻擊時(shí)是比較安全的。對(duì)安全性需要不那么高的數(shù)據(jù),K1可以等于K3。在這種情況下,密鑰的有效長(zhǎng)度為112位。 在通常

32、使用的所有64位的分組密鑰中,3DES是最安全的;但是,如果用軟件來實(shí)現(xiàn),它也是這些分組密鑰中最慢的。通過硬件設(shè)計(jì),3DES的性能勝過大多數(shù)其它用軟件實(shí)現(xiàn)的分組密鑰,7.3 3DES設(shè)計(jì)過程, DES算法高速運(yùn)算電路模型設(shè)計(jì),流水電路構(gòu)架,控制電路,密鑰生成模塊,DES算法運(yùn)算電路,SBOX的設(shè)計(jì)與實(shí)現(xiàn),3DES(DES)算法沒有大量的復(fù)雜數(shù)學(xué)計(jì)算(如乘、帶進(jìn)位的加、模等),在加/解密過程和密鑰生成過程中僅有邏輯運(yùn)算和查表運(yùn)算。這些特點(diǎn)為采用FPGA進(jìn)行高速設(shè)計(jì)提供了契機(jī)。由于3DES算法本質(zhì)上就是三次DES算法的運(yùn)算,所以只要了解DES算法的設(shè)計(jì)過程,也就了解了3DES算法的設(shè)計(jì)過程。因此,

33、下面就介紹一下DES算法的設(shè)計(jì)過程,7.3 3DES設(shè)計(jì)過程, DES算法高速運(yùn)算電路模型設(shè)計(jì),流 水 電 路 構(gòu) 架,由于DES算法中每個(gè)分組需經(jīng)過16輪運(yùn)算,如果采用順序電路構(gòu)架則每過16輪運(yùn)算才能得到一個(gè)加密分組,大大降低了加密效率。因此如圖所示,高速DES運(yùn)算電路采用流水結(jié)構(gòu),16步迭代設(shè)計(jì)16個(gè)運(yùn)算模塊,分別稱作LUN1、LUN2、LUN16,數(shù)據(jù)在各模塊間流水運(yùn)算。當(dāng)系統(tǒng)對(duì)第i個(gè)輸入的數(shù)據(jù)元素進(jìn)行第j段運(yùn)算的同時(shí),還可以對(duì)第i+1個(gè)數(shù)據(jù)進(jìn)行第j-1段的運(yùn)算,對(duì)第i+2個(gè)輸入的數(shù)據(jù)元素進(jìn)行第j-2段的運(yùn)算,以此提高系統(tǒng)的運(yùn)算效率。,隨著的增加,分組的平均流水線操作時(shí)間 大大減少,加密

34、效率大大提高,7.3 3DES設(shè)計(jì)過程, DES算法高速運(yùn)算電路模型設(shè)計(jì),控制電路,如圖所示,控制電路是整個(gè)系統(tǒng)的控制中心,可以采用移位寄存器或計(jì)數(shù)器加譯碼電路構(gòu)成,為減少信號(hào)毛刺,提高電路運(yùn)算的穩(wěn)定性與工作速度。這里選用一個(gè)17bits的串入并出移位寄存器,其中16bits用于生成算法的每輪運(yùn)算的使能信號(hào),另外1bit用于生成指示加密輸出的ready信號(hào),7.3 3DES設(shè)計(jì)過程, DES算法高速運(yùn)算電路模型設(shè)計(jì),密鑰生成模塊,如圖所示,與流水構(gòu)架DES運(yùn)算電路的工作時(shí)序相對(duì)應(yīng),其16步迭代運(yùn)算所需子密鑰必須同時(shí)生成。密鑰生成模塊由選擇控制電路PC-1、選擇輸出、壓縮置換電路PC-2構(gòu)成。該

35、部分的輸入是64bits初始密鑰,輸出為每次迭代運(yùn)算用的子密鑰,使能控制信號(hào)、模式控制信號(hào)。 64bits初始密鑰經(jīng)過置換選擇PC-1去除校驗(yàn)位并被分離成左右兩部分,各28bits,在模式控制信號(hào)(加密或脫密)及內(nèi)部狀態(tài)機(jī)信號(hào)控制下,根據(jù)移位表,選擇輸出,經(jīng)壓縮置換PC-2同時(shí)形成各步迭代所需運(yùn)算子密鑰,7.3 3DES設(shè)計(jì)過程, DES算法高速運(yùn)算電路模型設(shè)計(jì),DES算法運(yùn)算電路,如圖所示為DES算法運(yùn)算模塊的電路構(gòu)架,虛線框內(nèi)所示為單輪運(yùn)算。電路由初始置換電路IP、4個(gè)32位的寄存器,擴(kuò)展置換E處理電路、S盒數(shù)據(jù)代替電路、P盒置換電路及末置換IP-1電路構(gòu)成,7.3 3DES設(shè)計(jì)過程, D

36、ES算法高速運(yùn)算電路模型設(shè)計(jì),SBOX的設(shè)計(jì)與實(shí)現(xiàn),S盒是DES算法的關(guān)鍵步驟,所有其它的運(yùn)算都是線性的,而S盒是一個(gè)復(fù)雜的非線性函數(shù),正是經(jīng)過S盒的非線性變換才使明文得到了很好的混亂,從而具有較強(qiáng)的安全性。在硬件實(shí)現(xiàn)時(shí),S盒實(shí)現(xiàn)具有一定難度,其設(shè)計(jì)實(shí)現(xiàn)的好壞是影響算法整體加脫密速度的主要因素。在算法設(shè)計(jì)過程中,從資源的角度出發(fā),應(yīng)盡可能的減少FPGA器件中邏輯單元、嵌入式陣列塊及嵌入式單元的耗用,但這可能以降低系統(tǒng)速度為代價(jià)。從速度的角度出發(fā),應(yīng)最大限度地提高系統(tǒng)處理速度,但這樣往往需要較多資源。因此,在大多數(shù)情況下這兩種選擇是矛盾的。 使用verilog語言建立S盒電路模型,有兩種方法可供

37、選擇:一種方法是使用verilog語言中的多重選擇語句CASE,直接進(jìn)行電路的行為描述;另一種方法是采用開發(fā)工具中提供的庫(kù)函數(shù),使用器件內(nèi)部的EAB實(shí)現(xiàn)。在建立S盒的電路模型時(shí),必須充分考慮選用器件的內(nèi)部結(jié)構(gòu),采用恰當(dāng)?shù)男问竭M(jìn)行表達(dá),做到既能節(jié)省器件資源又能提高算法運(yùn)算效率,本例中選用前一種方式。,7.4 3DES-PCI安全卡的設(shè)計(jì), 3DES卡結(jié)構(gòu)設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能分析和比較,7.4 3DES-PCI安全卡的設(shè)計(jì), 3DES卡結(jié)構(gòu)設(shè)計(jì),安全卡的硬件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)在解決高速數(shù)據(jù)傳輸問題中起著極為重要的作用,同時(shí)在減小設(shè)計(jì)難度和提高可靠性方面也有很大作用。3DES算法的FPGA

38、硬件化是實(shí)現(xiàn)高速安全處理的必要條件。但是,若硬件結(jié)構(gòu)設(shè)計(jì)不合理,即使3DES算法芯片速度再高也不能實(shí)現(xiàn)高速加密系統(tǒng)。缺乏針對(duì)高速硬件系統(tǒng)結(jié)構(gòu)分析和研究將會(huì)產(chǎn)生性能不高的問題出現(xiàn)。因此,要想實(shí)現(xiàn)3DES卡的高性能,減小設(shè)計(jì)難度和提高可靠性就必須對(duì)硬件系統(tǒng)結(jié)構(gòu)進(jìn)行深入的分析和設(shè)計(jì)。 一般PCI總線安全卡由嵌入式CPU為核心的管理子系統(tǒng)、PCI橋、安全專用芯片、控制ASIC芯片、安防措施、數(shù)據(jù)緩沖存儲(chǔ)電路、網(wǎng)絡(luò)接口、USB、RS232口等組成。但是,影響實(shí)時(shí)安全處理速度的關(guān)鍵因素主要是嵌入式CPU、PCI橋、安全專用芯片、數(shù)據(jù)緩沖存儲(chǔ)電路這四部分的性能和它們之間的組合關(guān)系。因此,我們就以這四部分之間

39、的組合關(guān)系為結(jié)構(gòu)歸類對(duì)象,對(duì)高速PCI安全卡硬件系統(tǒng)結(jié)構(gòu)進(jìn)行分析和歸類,歸納為種典型結(jié)構(gòu)。,7.4 3DES-PCI安全卡的設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能分析和比較,如圖所示典型結(jié)構(gòu)1的主要組成部件是:嵌入式CPU基本系統(tǒng)、PCI橋、安全專用芯片、雙端口SRAM。 數(shù)據(jù)主要路徑是:放在計(jì)算機(jī)內(nèi)存的數(shù)據(jù)經(jīng)PCI總線寫入雙端口SRAM中,卡上CPU把數(shù)據(jù)讀出并交給安全專用芯片處理,然后卡上CPU再把處理后的數(shù)據(jù)寫入雙端口SRAM中,再經(jīng)PCI總線提交給計(jì)算機(jī)系統(tǒng)處理。對(duì)于協(xié)議信息和安全管理信息,卡上CPU不把此類數(shù)據(jù)送給安全芯片,而是直接處理并給計(jì)算機(jī)系統(tǒng)返回相關(guān)信息。,7.4 3DES-P

40、CI安全卡的設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能分析和比較,數(shù)據(jù)主要路徑是:放在微機(jī)系統(tǒng)內(nèi)存的數(shù)據(jù)經(jīng)PCI總線寫入雙端口SRAM中,卡上CPU只讀出協(xié)議信息和管理信息,直接處理并給微機(jī)系統(tǒng)返回相關(guān)信息。而安全芯片也作為能獨(dú)立執(zhí)行的智能控制器從雙端口SRAM中讀出數(shù)據(jù)并進(jìn)行處理,然后把處理后的數(shù)據(jù)重新寫入雙端口SRAM中,再經(jīng)PCI總線提交給微機(jī)系統(tǒng)處理。,7.4 3DES-PCI安全卡的設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能分析和比較,數(shù)據(jù)主要路徑是:放在微機(jī)系統(tǒng)內(nèi)存的數(shù)據(jù)經(jīng)PCI總線寫入輸入FIFO中,卡上CPU把數(shù)據(jù)讀出并交給安全芯片處理,然后卡上CPU再把處理后的數(shù)據(jù)寫入輸出FIFO中,再

41、經(jīng)PCI總線提交給微機(jī)系統(tǒng)處理。對(duì)于協(xié)議信息和安全管理信息,卡上CPU不把此類數(shù)據(jù)送給安全芯片,而是直接處理并給微機(jī)系統(tǒng)返回相關(guān)信息。,7.4 3DES-PCI安全卡的設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能分析和比較,數(shù)據(jù)主要路徑是:放在微機(jī)系統(tǒng)內(nèi)存的數(shù)據(jù)經(jīng)PCI總線寫入輸入FIFO中,卡上CPU只讀出協(xié)議信息和安全管理信息,直接處理并通過輸出FIFO給微機(jī)系統(tǒng)返回相關(guān)信息。而安全專用芯片也作為能獨(dú)立執(zhí)行的智能控制器從輸入FIFO中讀出數(shù)據(jù)并進(jìn)行處理,然后把處理后的數(shù)據(jù)重新寫入輸出FIFO中,再經(jīng)PCI總線提交給微機(jī)系統(tǒng)處理。,7.4 3DES-PCI安全卡的設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能

42、分析和比較,接收數(shù)據(jù)主要路徑是:發(fā)方來的數(shù)據(jù)從網(wǎng)絡(luò)接口放在網(wǎng)絡(luò)輸入數(shù)據(jù)緩沖(FIFO)中,卡上CPU讀出數(shù)據(jù)并進(jìn)行識(shí)別,對(duì)安全協(xié)議信息和安全管理信息,直接處理;對(duì)報(bào)文信息,卡上CPU把它們交給安全專用芯片進(jìn)行處理,然后CPU再把處理后的數(shù)據(jù)寫入輸出FIFO中,再經(jīng)PCI總線提交 給微機(jī)系統(tǒng)處理。 發(fā)送數(shù)據(jù)主要路徑是:本地微機(jī)把要處理的數(shù)據(jù)經(jīng)PCI總線寫入輸入FIFO中,卡上CPU把數(shù)據(jù)讀出并交給安全專用芯片進(jìn)行處理,然后CPU再把處理后的數(shù)據(jù)寫入網(wǎng)絡(luò)輸出數(shù)據(jù)緩沖中,經(jīng)網(wǎng)絡(luò)發(fā)到目的端;對(duì)于協(xié)議信息和安全管理信息,卡上CPU不把此類數(shù)據(jù)送給安全芯片,而是直接處理并給本地微機(jī)返回相關(guān)信息,或者通過卡

43、上的網(wǎng)絡(luò)接口發(fā)到目的端。,7.4 3DES-PCI安全卡的設(shè)計(jì), 6種PCI安全卡典型結(jié)構(gòu)性能分析和比較,接收數(shù)據(jù)主要路徑是:發(fā)方來的數(shù)據(jù)從網(wǎng)絡(luò)接口放在網(wǎng)絡(luò)輸入數(shù)據(jù)緩沖(FIFO)中,卡上CPU只讀出報(bào)頭數(shù)據(jù)并進(jìn)行識(shí)別,對(duì)安全協(xié)議信息和安全管理信息,直接處理;對(duì)安全報(bào)文信息,CPU通知安全專用芯片讀出并進(jìn)行處理,然后安全專用芯片直接把處理后的明文數(shù)據(jù)寫入輸出FIFO中,再經(jīng)PCI總線提交給微機(jī)系統(tǒng)處理。 發(fā)送數(shù)據(jù)主要路徑是:本地微機(jī)把要處理的明文數(shù)據(jù)經(jīng)PCI總線寫入輸入FIFO中,卡上CPU只讀出報(bào)頭數(shù)據(jù)并進(jìn)行識(shí)別,對(duì)明文報(bào)文信息,由安全專用芯片讀出并進(jìn)行處理,然后安全專用芯片直接把處理后的數(shù)

44、據(jù)寫入網(wǎng)絡(luò)輸出數(shù)據(jù)緩沖中,卡上CPU把有關(guān)報(bào)頭信息加在數(shù)據(jù)前面,經(jīng)網(wǎng)絡(luò)發(fā)到目的端;對(duì)于協(xié)議信息和安全管理信息,卡上CPU直接處理并給本地微機(jī)返回相關(guān)信息,或者通過卡上的網(wǎng)絡(luò)接口發(fā)到目的端。,7. 總結(jié)與結(jié)論,數(shù)字邏輯的門類千變?nèi)f化,但就其本質(zhì)而言,只有組合邏輯和時(shí)序邏輯兩大類。它們?cè)趶?fù)雜數(shù)字系統(tǒng)的設(shè)計(jì)中,各自承擔(dān)著自己的責(zé)任。一般情況下組合邏輯可以用來完成簡(jiǎn)單的邏輯功能,如多路器、與或非邏輯運(yùn)算、加法和乘法等算術(shù)運(yùn)算。而時(shí)序邏輯則可以用來產(chǎn)生與運(yùn)算過程有關(guān)的(按時(shí)間節(jié)拍)多個(gè)控制信號(hào)序列包括存儲(chǔ)運(yùn)算的結(jié)果和取出存儲(chǔ)器中的數(shù)據(jù)。在用可綜合的硬件描述語言設(shè)計(jì)的復(fù)雜運(yùn)算邏輯系統(tǒng)中,往往用同步狀態(tài)機(jī)來產(chǎn)生與時(shí)鐘節(jié)拍密切相關(guān)(同步)的多個(gè)控制信號(hào)序列,用它來控制多路器或數(shù)據(jù)通道的開啟/關(guān)閉,來使有限的組合邏輯運(yùn)算器資源得到充分的運(yùn)行,并寄存有意義的運(yùn)算結(jié)果,或把它們傳送到指定的地方,如有關(guān)部件的輸入/輸出端口。 通過對(duì)加密卡的設(shè)計(jì),展示出了FPGA在加密卡上的應(yīng)用,讓我

溫馨提示

  • 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. 人人文庫(kù)網(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)論