• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于與異或非圖的混合粒度可重構(gòu)密碼運(yùn)算單元設(shè)計(jì)

      2023-10-17 01:15:30戴紫彬張宗仁劉燕江周朝旭蔣丹萍
      電子與信息學(xué)報(bào) 2023年9期
      關(guān)鍵詞:乘法密碼重構(gòu)

      戴紫彬 張宗仁*② 劉燕江 周朝旭 蔣丹萍

      ①(解放軍信息工程大學(xué) 鄭州 450000)

      ②(31642部隊(duì) 臨滄 677000)

      1 引言

      信息安全在互聯(lián)網(wǎng)、物聯(lián)網(wǎng)中越來(lái)越重要,而密碼算法是保證信息安全的關(guān)鍵手段[1]。其中對(duì)稱密碼分為序列密碼和分組密碼,由于多種對(duì)稱密碼的基本編碼環(huán)節(jié)具有相似性,適用于可重構(gòu)實(shí)現(xiàn)[2]。

      粗粒度可重構(gòu)密碼邏輯陣列(Coarse-Grained Reconfigurable Cipher logic Array, CGRCA)根據(jù)密碼算法的計(jì)算特征,在高性能和高靈活性之間達(dá)到平衡,ANOLE[3]是面向分組密碼的高性能流水處理架構(gòu),采用查找表(LookUp Table, LUT)和寄存器的方式實(shí)現(xiàn)序列密碼算法中反饋移位寄存器(Feedback Shift Register, FSR)的狀態(tài)更新,但支持的序列密碼算法較少,性能不高。PVHArray增加了專用的非線性反饋移位寄存器(Nonlinear Feedback Shift Register, NFSR)處理電路和FSR,但其處理粒度基于字,在實(shí)現(xiàn)序列密碼的單比特更新時(shí),高位計(jì)算資源被閑置,同時(shí)陣列在處理分組密碼時(shí),專用NSFR電路基本閑置,硬件資源利用率較低[4]。文獻(xiàn)[5]提出一種面向序列密碼的混合粒度并行運(yùn)算單元,兼容多種粒度的序列密碼算法,同時(shí)采用并行抽取和流水線設(shè)計(jì)提高了密碼算法的處理性能。該單元提升了CGRCA對(duì)序列密碼的兼容性,但仍然增加很多專用FSR的電路,硬件資源利用率低。文獻(xiàn)[6]提出了一種可重構(gòu)多發(fā)射流水處理架構(gòu),但是這種架構(gòu)容易產(chǎn)生流水線的結(jié)構(gòu)沖突,從而極大程度上限制了粗粒度可重構(gòu)邏輯陣列的性能。綜上,現(xiàn)有的面向?qū)ΨQ密碼算法的CGRCA,對(duì)序列密碼兼容性較差、資源利用率低。

      目前,國(guó)內(nèi)外針對(duì)FSR進(jìn)行一些可重構(gòu)設(shè)計(jì)。徐光明等人[7]提出一種基于LUT的可重構(gòu)NFSR處理結(jié)構(gòu),基礎(chǔ)模塊是支持任意6變量布爾函數(shù)的高級(jí)非線性邏輯單元(Advanced Nonlinear Logic Unit,ANLU),該單元靈活性高,配置量少,硬件開(kāi)銷小,但性能和硬件資源利用率仍然較差。Nan等人[8]提出將NFSR、線性反饋移位寄存器(Linear Feedback Shift Register, LFSR)和有限域乘法相融合的可重構(gòu)單元,提升了硬件資源利用率。文獻(xiàn)[9]以提高資源利用率為目標(biāo),以變量頻次為約束改進(jìn)適配算法,并設(shè)計(jì)單元互聯(lián)結(jié)構(gòu),將資源利用率提高到91%以上。針對(duì)多功能融合的可重構(gòu)單元,目前研究主要集中于對(duì)單一功能下的多種操作位寬設(shè)計(jì)的可重構(gòu)[10,11]單元,以及用復(fù)選器進(jìn)行功能重構(gòu)的可重構(gòu)單元。另外對(duì)于多功能實(shí)現(xiàn)往往是對(duì)單一功能的選擇控制實(shí)現(xiàn),流水線處理時(shí)會(huì)面臨同一時(shí)刻要使用同一功能單元的情況,而此時(shí),必然會(huì)有大量未使用功能單元閑置,功能單元的競(jìng)爭(zhēng)沖突會(huì)同時(shí)帶來(lái)性能和資源利用率降低。因此,設(shè)計(jì)可重構(gòu)的多功能混合粒度的運(yùn)算單元是解決細(xì)粒度的序列密碼算法兼容性差,和流水線處理時(shí)功能單元競(jìng)爭(zhēng)沖突問(wèn)題的可行方案。

      綜合分析序列密碼和分組密碼中不同編碼環(huán)節(jié)特點(diǎn),分析得出電路同構(gòu)部分,結(jié)合與-異或-非圖(And-Xor-Inv Graph, AXIG)在邏輯綜合上的優(yōu)勢(shì),主要做出以下3個(gè)方面貢獻(xiàn):(1)提出可重構(gòu)邏輯元件(Reconfigurable And-Xor-Nand, RAXN),該元件可用于AXIG,可同時(shí)實(shí)現(xiàn)3項(xiàng)基本邏輯功能。另外,提出了RAXN的晶體管級(jí)方法并設(shè)計(jì)了版圖,延遲性能較傳統(tǒng)方法均有明顯提升。(2)提出基于RAXN邏輯元件的多功能擴(kuò)展方法,設(shè)計(jì)了多功能單元節(jié)點(diǎn)—RAXN-U,可重構(gòu)實(shí)現(xiàn)全加器、3輸入與異或邏輯、乘法部分積生成、可重構(gòu)非線性布爾函數(shù)等功能節(jié)點(diǎn)。(3)提出一種面向粗粒度可重構(gòu)陣列的可重構(gòu)單元的互聯(lián)結(jié)構(gòu),在CGRCA平臺(tái)上可用于實(shí)現(xiàn)32 bit加法、8 bit乘法、CF(28)有限域乘法、非線性布爾函數(shù)等多項(xiàng)核心運(yùn)算。

      所提運(yùn)算單元較為規(guī)整,可擴(kuò)展性較強(qiáng),非線性布爾函數(shù)的擴(kuò)展只需改變互聯(lián)節(jié)點(diǎn)配置,其他功能只需要增加少量控制電路,即可滿足序列密碼算法和分組密碼算法的多種功能運(yùn)算和多種位寬的需求。此單元將非線性布爾函數(shù)功能的延遲降低了1.27 ns,同時(shí)可以緩解電路資源閑置問(wèn)題以及流水線處理時(shí)部分功能單元競(jìng)爭(zhēng)沖突問(wèn)題。

      2 基于AXIG的可重構(gòu)邏輯元件設(shè)計(jì)

      2.1 AXIG理論與研究動(dòng)機(jī)

      邏輯綜合是數(shù)字電路設(shè)計(jì)中非常重要的部分,選擇不同的邏輯表達(dá)范式,綜合優(yōu)化后的電路在面積、性能、可測(cè)試性和可靠性上會(huì)有較大差別[12]。由于CMOS電路在可靠性、靜態(tài)功耗以及設(shè)計(jì)復(fù)雜度等方面擁有顯著優(yōu)勢(shì)[13],傳統(tǒng)布爾邏輯(Traditional Boolean, TB)得到廣泛運(yùn)用。而以And-Xor為原語(yǔ)的里德穆勒(Reed-Muller, RM)邏輯設(shè)計(jì)電路,可以使實(shí)現(xiàn)算術(shù)運(yùn)算和奇偶校驗(yàn)函數(shù)更為簡(jiǎn)單,在面積、延遲和功耗上都有明顯的優(yōu)勢(shì)。但用RM邏輯表達(dá)“或(OR)”邏輯時(shí),需要較復(fù)雜的結(jié)構(gòu),因此和RM邏輯混合的AXIG有更大的優(yōu)化效果[14]。目前針對(duì)AXIG的研究主要是在邏輯級(jí)或算法級(jí)對(duì)電路進(jìn)行面積、延遲和功耗的優(yōu)化,在晶體管級(jí)研究較少,文獻(xiàn)[15]設(shè)計(jì)了基于RM邏輯的3輸入AND/XOR門,在面積、功耗上相比傳統(tǒng)的AND門-XOR門級(jí)聯(lián)結(jié)構(gòu)有明顯優(yōu)勢(shì),將該復(fù)合門運(yùn)用到操作位寬可配置的乘法電路中,功耗和延遲有較大提升,但未有相關(guān)研究在晶體管級(jí)設(shè)計(jì)實(shí)現(xiàn)AXIG的基本單元。

      本文設(shè)計(jì)一種可配置實(shí)現(xiàn)“與、異或、與非”邏輯的元件RAXN,其中AXIG中的“非(Inverter,Inv)”原語(yǔ)可以利用“與非”邏輯得到,因此可以根據(jù)需求,將RAXN作為基本邏輯單元,配置成為最優(yōu)的AXIG,以充分利用其在復(fù)雜非線性布爾函數(shù)和算術(shù)電路中的優(yōu)勢(shì)。

      2.2 RAXN邏輯元件晶體管設(shè)計(jì)

      當(dāng)M=0, C=0時(shí),F(xiàn)=1。電路中Y和F的邏輯表達(dá)式分別如式(1)、式(2)所示

      同時(shí)將信號(hào)M,或者A, B, C中的一個(gè)信號(hào)當(dāng)作配置信息時(shí),輸出F可同時(shí)實(shí)現(xiàn)“And, Nand,Xor”,此3個(gè)邏輯正是雙邏輯范式最基本的3個(gè)原語(yǔ)(And, Inv, Xor)。

      2.3 RAXN邏輯元件延遲分析與版圖實(shí)現(xiàn)

      由圖1可知,M=1, C=1,當(dāng)電路輸出為“Xor”邏輯時(shí),若B=1, P1, P4, P5均是關(guān)斷狀態(tài),則前一級(jí)上拉電路無(wú)法形成通路,N2, N3, N4均是導(dǎo)通狀態(tài),前一級(jí)下拉電路中形成如圖1紅線所示的信號(hào)通路。Y此時(shí)輸出為0,則后一級(jí)中P9導(dǎo)通,N7關(guān)斷;又因?yàn)榇藭r(shí)P7, P8, P10是關(guān)斷狀態(tài),N6,N7, N10是導(dǎo)通狀態(tài),則此時(shí)電路相當(dāng)于信號(hào)A的反相器,A的翻轉(zhuǎn)信號(hào)傳到F需要經(jīng)過(guò)P6, P9或N10, N8, N6(紫色線路部分)。若B=0,同理分析可得,A的翻轉(zhuǎn)信號(hào)需要經(jīng)過(guò)P5, N7到F,或者經(jīng)過(guò)N5, N2, P9到F,即下降沿經(jīng)過(guò)2個(gè)晶體管,上升沿經(jīng)過(guò)3個(gè)晶體管。同理可得如表1所示為每個(gè)信號(hào)的翻轉(zhuǎn)時(shí)信號(hào)傳輸路徑。C的信號(hào)傳輸路徑最短,B,A的最差情況一樣長(zhǎng),但A的平均信號(hào)傳輸路徑比B短。

      表1 RAXN電路信號(hào)傳輸路徑分析

      圖1 RAXN晶體管級(jí)實(shí)現(xiàn)

      根據(jù)以上分析,關(guān)鍵路徑的信號(hào)從C端口輸入時(shí)可以減少電路延遲,同時(shí)調(diào)整關(guān)鍵路徑上的晶體管寬長(zhǎng)比P5, P9, P10, N1, N2, N6, N7,減小單元的延遲。對(duì)于非關(guān)鍵路徑上的晶體管可以采用高閾值的晶體管,以降低功耗,圖2為其最小驅(qū)動(dòng)能力下的版圖設(shè)計(jì)。

      圖2 RAXN的版圖設(shè)計(jì)

      3 基于RAXN的密碼運(yùn)算單元分析

      3.1 密碼算子特征分析

      對(duì)稱密碼算法是基于特定的密碼學(xué)性質(zhì)而設(shè)計(jì)的,因此不同的對(duì)稱密碼算法具有相同的基本操作成分,其中出現(xiàn)頻次出現(xiàn)最多的是:異或、移位、置換、非線性(線性)布爾函數(shù)、S盒、有限域乘法和算術(shù)運(yùn)算。

      從本質(zhì)上講,所有的編碼環(huán)節(jié)都是布爾函數(shù)操作,布爾函數(shù)又各有特點(diǎn),比如序列密碼中單比特為操作位寬的非線性(線性)布爾函數(shù),特點(diǎn)是輸入變量多,形式復(fù)雜多樣;以字為操作位寬的序列密碼和分組密碼中S盒、置換、移位為多輸入多輸出,輸入多為8, 16, 32等字節(jié)的倍數(shù),輸出有4, 8, 16等特定位數(shù),有限域乘法主要集中CF(28)上,多以矩陣乘法形式出現(xiàn),算術(shù)運(yùn)算在密碼學(xué)中使用模加、模減、模乘,位寬主要為16 bit和32 bit。因此設(shè)計(jì)一種位寬為8的基本單元,利用CGRA中數(shù)據(jù)抽取和數(shù)據(jù)分配電路,擴(kuò)展至16, 32等位寬,同時(shí)實(shí)現(xiàn)多類操作,可極大提高資源利用率和單元的靈活性。本文重點(diǎn)討論非線性布爾函數(shù)(S盒)、有限域乘法、算術(shù)運(yùn)算這3類算子如何重構(gòu)到同一單元中。

      3.2 基于RAXN的3類密碼算子設(shè)計(jì)分析

      目前,對(duì)非線性布爾函數(shù)和S盒的研究主要是利用LUT的級(jí)聯(lián)組合來(lái)實(shí)現(xiàn),但LUT的靈活性過(guò)強(qiáng),在特定領(lǐng)域中應(yīng)用時(shí)會(huì)造成比較大的資源冗余[16]。2012年,瑞士聯(lián)邦理工學(xué)院提出一種基于“與非錐(And-Inv-Cones, AIC)”的布爾函數(shù)實(shí)現(xiàn)方式,在處理大位寬輸入的函數(shù)時(shí)有較為明顯的面積和延遲優(yōu)勢(shì)[17],但其“And-Nand”并不適合處理“異或”運(yùn)算,針對(duì)密碼學(xué)中非線性布爾函數(shù)異或邏輯較多的特點(diǎn),本文提出一種“與-異或-與非錐(And-Xor-Nand Cones)”的網(wǎng)絡(luò)(如圖3),節(jié)點(diǎn)采用本文設(shè)計(jì)的可重構(gòu)邏輯元件RAXN,其中上一級(jí)輸出接入下一級(jí)的A, B端口,C, M端口分別接配置信息di,di+1,輸出端口F輸出信號(hào)O,作為下一級(jí)的輸入和全局輸出。每個(gè)節(jié)點(diǎn)可以配置為“And,Nand, Xor, 1”4個(gè)邏輯,可以更好地支持“異或”運(yùn)算;當(dāng)?shù)?級(jí)的一個(gè)輸入端口需要置1時(shí),只需將第2級(jí)相應(yīng)節(jié)點(diǎn)的配置信息di,di+1全部置0即可,這樣此節(jié)點(diǎn)的上一級(jí)節(jié)點(diǎn)仍然可以獨(dú)立執(zhí)行功能,避免了一條完整分支全部置1造成的資源占用。

      圖3 “與-異或-與非錐”3級(jí)深度的互聯(lián)結(jié)構(gòu)

      有限域乘法主要出現(xiàn)在分組密碼中多維尺度變換(Multi-Dimensional Scaling, MDS)矩陣乘法,序列密碼算法中Fibonacci LFSR并行更新、Galois LFSR并行更新,以及基于字的序列密碼中復(fù)合域乘法等編碼環(huán)節(jié)中。相關(guān)研究總結(jié)出CF(28)域上乘法的基本電路結(jié)構(gòu),由兩級(jí)運(yùn)算電路,一級(jí)為冪乘(Xtime)電路,一級(jí)為“與-異或”的陣列[6]?!芭c-異或”的陣列可以用圖3結(jié)構(gòu)實(shí)現(xiàn),Xtime結(jié)構(gòu)是由3輸入函數(shù)FX=hf ⊕a級(jí)聯(lián)組成。其中f[7:0]是不可約多項(xiàng)式的系數(shù),a[7:0]和b[7:0]是CF(28)域上的兩個(gè)元素,若A=M=a,B=h,C=f,則根據(jù)式(5)可利用RAXN作為FX的實(shí)現(xiàn)電路

      4 基于RAXN的可重構(gòu)多功能密碼運(yùn)算單元設(shè)計(jì)

      4.1 運(yùn)算單元的整體布局

      根據(jù)3.2節(jié)的分析,乘法電路和Xtime電路都需要8列7行的RAXN單元級(jí)聯(lián),而以8 bit行波進(jìn)位加法器為基礎(chǔ)的32 bit選擇進(jìn)位加法器,同樣需要8列7行的RAXN單元。本文提出一種可以同時(shí)實(shí)現(xiàn)無(wú)符號(hào)8 bit乘法、CF(28)域乘法、32 bit選擇進(jìn)位加法、最大深度為8的“與-異或-與非錐”可重構(gòu)混合粒度多功能密碼運(yùn)算單元(RHMCA)。如圖4為單元整體布局,基本單元命名為RAXN_U,其中橫黑線為加法的進(jìn)位信號(hào),豎黑線為輸出信號(hào),紅線配合上級(jí)最后1 bit進(jìn)位,是無(wú)符號(hào)8 bit乘法信號(hào)傳輸,P0為部分積;紅線配合黃線是CF(28)域乘法的信號(hào)傳輸,藍(lán)色線為“與-異或-與非錐”的信號(hào)傳輸。第2~6行的左4列不同于右4列,左4列每個(gè)單元多出兩個(gè)外部數(shù)據(jù)端口。

      圖4 混合粒度多功能密碼運(yùn)算單元

      4.2 多功能實(shí)現(xiàn)與單元擴(kuò)展

      如圖5,在RAXN基礎(chǔ)上增加模式選擇電路、各模式下信號(hào)轉(zhuǎn)換電路。圖5(b)中F, G為模式選擇信號(hào),ai,bi,di,di+1可為數(shù)據(jù)輸入信號(hào),也可為配置信號(hào),S信號(hào)為上一級(jí)輸出,C為加法進(jìn)位信號(hào)。當(dāng)F=1,G=0,di=0,di+1=1 ,ai,bi為數(shù)據(jù)輸入,此時(shí)執(zhí)行加法,如圖5 中紅色線路;當(dāng)F=1,G=1,di=0,ai為 乘數(shù),di+1為被乘數(shù)中1 bit,同一行的di+1相同,bi為任意值,此時(shí)執(zhí)行乘法運(yùn)算;F=0,G=1,ai=1,di+1=1,di為不可約多項(xiàng)式系數(shù),此時(shí)執(zhí)行有限域乘法運(yùn)算,如圖5中紫色線路;當(dāng)F=0,G=0,ai=1,bi=1,di,di+1為配置信息或輸入數(shù)據(jù),此時(shí)執(zhí)行非線性布爾函數(shù)。

      圖5 RAXN_U電路結(jié)構(gòu)

      本文設(shè)計(jì)單元可以直接得到7個(gè)8 bit行波進(jìn)位加法器、1個(gè)無(wú)符號(hào)位的8 bit乘法、1個(gè)Xtime的功能實(shí)現(xiàn)。接下來(lái)重點(diǎn)分析復(fù)雜非線性布爾函數(shù)實(shí)現(xiàn)能力、擴(kuò)展方式,以及高位寬擴(kuò)展實(shí)現(xiàn)方式。

      (1)靈活性。文獻(xiàn)[5]對(duì)CGRA在面向序列密碼時(shí)的互聯(lián)結(jié)構(gòu)進(jìn)行設(shè)計(jì),利用其中的抽取電路,可以將所需的變量送入到相應(yīng)位置。根據(jù)需求,送入的變量可以是反相,每個(gè)RAXN_U可以實(shí)現(xiàn)任意的二輸入布爾函數(shù)。除了“And,Xor,Nand,1”4種邏輯,在需要“Or”邏輯時(shí),A,B輸入同時(shí)取反,節(jié)點(diǎn)邏輯配置為Nand,需要“Xnor”邏輯時(shí),將輸入取反,節(jié)點(diǎn)邏輯配置為“Xor”。每一行左4個(gè)單元A,B端口不接上級(jí)輸出,可以接收外部輸入,那么本文所提出單元最高可實(shí)現(xiàn)72次的乘積項(xiàng),或56變量的異或。第1行的輸入變量在第3行可以與第2行左4個(gè)電路輸入的變量進(jìn)行運(yùn)算,當(dāng)?shù)?級(jí)需要外部變量參與運(yùn)算時(shí),就可以將相關(guān)變量從第4級(jí)輸入,這樣避免了錐形結(jié)構(gòu)中為實(shí)現(xiàn)直通功能造成的大量資源浪費(fèi)。

      (2)擴(kuò)展能力。當(dāng)1個(gè)單元無(wú)法實(shí)現(xiàn)復(fù)雜的函數(shù)功能,可以通過(guò)圖4中Ie的信號(hào)實(shí)現(xiàn)單元之間的擴(kuò)展。如圖6所示,當(dāng)不需要擴(kuò)展時(shí),紅色塊配置為邏輯“1”,那么每個(gè)單元可以獨(dú)立運(yùn)算;但當(dāng)Toyocrypt-hs1算法中的反饋函數(shù),需要3個(gè)本文所提單元,紅色塊配置成所需的“異或”邏輯即可。相比1個(gè)單元模塊,每多擴(kuò)展1個(gè),延遲僅僅增加1個(gè)RAXN_U的延遲。

      圖6 單元擴(kuò)展與拆分示意圖

      (3)單元拆分組合。利用外部互聯(lián)網(wǎng)絡(luò)中抽取電路有針對(duì)性地對(duì)所需的結(jié)果進(jìn)行抽取,可以實(shí)現(xiàn)單元的拆分以及延遲可控及功能組合。如圖5(a)所示,第1行每個(gè)RAXN_U中可以實(shí)現(xiàn)2個(gè)2次乘積項(xiàng),以及1個(gè)RAXN功能。因此可以利用第1行實(shí)現(xiàn)兩個(gè)Xtime的結(jié)果處理,則1個(gè)單元可以完成4個(gè)Xtime輸出的處理,如圖6綠色塊配置為邏輯“1”,實(shí)現(xiàn)了單元內(nèi)部的拆分,紅線即為所需信號(hào)。在實(shí)現(xiàn)32 bit加法器時(shí),第2行與第3行輸入相同的數(shù)據(jù),但初始進(jìn)位信號(hào)不同,4, 5行、6, 7行同理為一組,根據(jù)選擇進(jìn)位加法器的原理,對(duì)輸出結(jié)果進(jìn)行抽取。

      (4)乘法位寬擴(kuò)展。有限域乘法進(jìn)行位寬擴(kuò)展時(shí),只有在執(zhí)行LFSR并行更新功能時(shí),需要最左邊輸出信號(hào)替換其他擴(kuò)展單元的左邊第1個(gè)輸出信號(hào),參與下一級(jí)運(yùn)算,單元間每一行增加1個(gè)2:1復(fù)選器。模乘位寬只用擴(kuò)展到32 bit,且整個(gè)模乘運(yùn)算在密碼算法中僅有6.25%的使用率,不宜做特別改造。本文擬采用多周期實(shí)現(xiàn)位寬擴(kuò)展。8 bit乘法結(jié)果為16 bit,區(qū)分為高8 bit (H),低8 bit (L),模乘運(yùn)算一般只取低8 bit。在整個(gè)16 bit結(jié)果時(shí),高8 bit的延遲約為整體延遲的1/3,因此將低8 bit全部生成的時(shí)間作為關(guān)鍵路徑延遲(時(shí)鐘周期),可經(jīng)過(guò)如圖7所示5個(gè)時(shí)鐘周期完成位寬的擴(kuò)展。第1個(gè)周期,第2周期分別生成所有L,H,計(jì)算1對(duì)16 bit加得到sum0,1對(duì)24 bit加得到sum1,并輸出out0;第3個(gè)周期,計(jì)算1對(duì)16 bit加得到sum2,計(jì)算1對(duì)24 bit加得到sum3, sum3低8 bit輸出out1;第4,5個(gè)周期分別計(jì)算1對(duì)16 bit加得到sum3,1對(duì)8 bit加得到sum4,并分別輸出out2, out3。

      圖7 32 bit模乘計(jì)算過(guò)程

      5 實(shí)驗(yàn)及性能分析

      在COMS 40 nm工藝,25°C, 1.1 V驅(qū)動(dòng)電壓,TT工藝角環(huán)境中,為使RAXN_U信號(hào)輸出延遲最小,上升和下降沿盡量相同,調(diào)整晶體管的寬長(zhǎng)比。對(duì)圖5(b)電路的進(jìn)行版圖設(shè)計(jì),經(jīng)過(guò)布局布線和后端仿真,面積為26.9 μm2。根據(jù)連接關(guān)系,測(cè)得端口F的輸出電容為5.1 fF,端口Y的輸出電容為0.85 fF,遍歷各種功能下的輸入取值,得到如圖8各種功能模式下翻轉(zhuǎn)延遲分布。

      圖8 各功能模式下的延遲情況

      實(shí)現(xiàn)加法功能時(shí),關(guān)鍵路徑在“進(jìn)位到進(jìn)位(C→C)”的延遲,最大值為44.4 ps,最小值為40.6 ps;乘法陣列功能時(shí),關(guān)鍵路徑在“加(和)位到進(jìn)位(A(S)→C)”,“進(jìn)位到和位(C→S)”與“進(jìn)位到進(jìn)位(C→C)”的延遲累加,其中“A(S)→C”的最大延遲為55.8 ps,最小值為43.5 ps,其差值為12.3 ps,“C→S”的最大延遲為59.3 ps,最小值為41.6 ps,其差值為17.7 ps。

      實(shí)現(xiàn)Xtime功能時(shí),關(guān)鍵路徑是上級(jí)輸出到此級(jí)輸出,最大延遲為66.2 ps,最小值為36.7 ps,差值達(dá)到30 ps,不同取值情況延遲差別過(guò)大,會(huì)導(dǎo)致電路中出現(xiàn)不必要的翻轉(zhuǎn)而增加延遲和功耗。從圖8中E可以看到延遲集中在40 ~50 ps,僅有一種翻轉(zhuǎn)延遲情況達(dá)到66.2 ps,遠(yuǎn)大于其他值,此情況下的翻轉(zhuǎn)信號(hào)路徑最長(zhǎng)。把冪乘中扇出為8的輸出信號(hào)-1,接入延遲信號(hào)較短的輸入端口,大扇出導(dǎo)致驅(qū)動(dòng)能力變?nèi)?,使最小延遲增大,縮小最大延遲與最小延遲的差值,經(jīng)過(guò)實(shí)驗(yàn)仿真延遲差可以從30 ps降到14 ps。

      實(shí)現(xiàn)非線性布爾函數(shù)功能時(shí),最大延遲為70 ps,最小延遲為39.1 ps,延遲差為30.9 ps。延遲的中位數(shù)在58.7 ps,平均值在57.6 ps,說(shuō)明整體延遲分布比較均勻。對(duì)于RAXN單元,從端口A,B,C進(jìn)入的信號(hào)在功能函數(shù)中是等價(jià)的,因此將延遲差較為接近的兩個(gè)端口A和B作為級(jí)間傳遞信號(hào)的輸入端口,端口M和C的信號(hào)為外部輸入,延遲差可以降為15 ps。

      利用EDA工具調(diào)用CMOS 40 nm工藝庫(kù)標(biāo)準(zhǔn)單元對(duì)本文所提出結(jié)構(gòu)進(jìn)行綜合驗(yàn)證,和對(duì)本文多功能運(yùn)算單元進(jìn)行定制化設(shè)計(jì)后實(shí)驗(yàn)仿真,如表2所示是其兩種實(shí)現(xiàn)方式下的不同功能延遲和總面積。

      表2 兩種方式實(shí)現(xiàn)下延遲和面積

      根據(jù)文獻(xiàn)[18],對(duì)不同工藝下的延遲、面積進(jìn)行歸一化處理,得到如圖9的對(duì)比結(jié)果。

      圖9 不同功能模式下性能和資源占用對(duì)比

      如圖9(a)是使用標(biāo)準(zhǔn)單元實(shí)現(xiàn)幾種專用8 bit加法器的面積、延遲以及面積延遲積(Area-Delay Product, ADP)[19],本文所提單元實(shí)現(xiàn)加法功能與類似的行波進(jìn)位加法器延遲降低24.6%,大約0.13 ns,相比其最快的加法器結(jié)構(gòu)延遲增加40.6%,約0.11 ns;圖9(b)與傳統(tǒng)陣列乘法器LP,可變操作數(shù)乘法器[10],以及定制優(yōu)化的乘法器[11]的延遲進(jìn)行比較,在實(shí)現(xiàn)8×8乘法功能時(shí),延遲最多增加15%,約0.14 ns,與用標(biāo)準(zhǔn)單元庫(kù)實(shí)現(xiàn)幾種不同結(jié)構(gòu)下的乘法器[20],比較ADP值,最高得到44.8%的優(yōu)化;圖9(c)為可重構(gòu)NLBF運(yùn)算單元比較,文獻(xiàn)[9]可實(shí)現(xiàn)幾乎所有序列密碼中以1 bit為操作位寬的NLBF,本文最多需要3個(gè)本文所提單元即可達(dá)到相同功能,在一個(gè)RHMCA基礎(chǔ)上延遲增加210 ps,面積增加2倍,與相關(guān)研究中最好結(jié)果RSCLU[9]比較,延遲降低1.27 ns, ADP值增加38.7%。結(jié)果表明,相比加法,乘法電路的專用電路,延遲最多增加0.14 ns,性能損失可接受;相比其他NLBF實(shí)現(xiàn)單元,延遲有大的提升,主要是由于AXIG在復(fù)雜布爾函數(shù)的優(yōu)勢(shì)[14];由于有限域乘法單元在對(duì)冪乘單元設(shè)計(jì)基本結(jié)構(gòu)相同,若使用標(biāo)準(zhǔn)單元實(shí)現(xiàn),延遲約為0.610 ns,面積為427.3 μm2,ADP為260.653 μm2·ns,本文所提單元延遲降低6.6%,約40 ps,面積增大2.54倍,ADP增加231%。綜上所述,本文由于是多功能可重構(gòu)單元,與專用電路,延遲增加最大的是乘法功能時(shí),增加0.14 ns,延遲優(yōu)化最大是實(shí)現(xiàn)NLBF功能時(shí),降低1.27 ns;單一功能下,實(shí)現(xiàn)乘法功能和NLBF功能占用面積相對(duì)較大,比較兩種功能模式下的ADP值,本文所提多功能單元在乘法功能時(shí)有0.7%~44.8%的提升,在NLBF功能時(shí)有–38.7%~82.2%的提升。

      6 結(jié)束語(yǔ)

      本文提出一種混合粒度的多功能可重構(gòu)密碼運(yùn)算單元,用于改善細(xì)粒度序列密碼的兼容性和避免功能單元競(jìng)爭(zhēng)沖突。該單元利用陣列中數(shù)據(jù)抽取電路和數(shù)據(jù)分配電路,可以實(shí)現(xiàn)非線性布爾函數(shù),也可以作為S盒、模乘、模加和有限域乘法的實(shí)現(xiàn)單元,可以有效降低電路延遲,實(shí)現(xiàn)密碼算子功能的可重構(gòu),系統(tǒng)級(jí)可重構(gòu)的流水線設(shè)計(jì)和互聯(lián)網(wǎng)絡(luò)設(shè)計(jì)有更大的提升空間。針對(duì)本文所提單元,在算法映射、數(shù)據(jù)分配電路等方面還需要進(jìn)一步研究。

      猜你喜歡
      乘法密碼重構(gòu)
      算乘法
      密碼里的愛(ài)
      長(zhǎng)城敘事的重構(gòu)
      攝影世界(2022年1期)2022-01-21 10:50:14
      我們一起來(lái)學(xué)習(xí)“乘法的初步認(rèn)識(shí)”
      《整式的乘法與因式分解》鞏固練習(xí)
      密碼疲勞
      把加法變成乘法
      北方大陸 重構(gòu)未來(lái)
      北京的重構(gòu)與再造
      商周刊(2017年6期)2017-08-22 03:42:36
      密碼藏在何處
      仙居县| 壤塘县| 札达县| 万全县| 天峨县| 巴马| 金昌市| 姜堰市| 南充市| 郑州市| 高青县| 沅江市| 高邮市| 邹城市| 新巴尔虎右旗| 德庆县| 普陀区| 昭平县| 息烽县| 上蔡县| 太保市| 新源县| 石城县| 珠海市| 兰州市| 吉首市| 顺义区| 新平| 康马县| 平乐县| 苏尼特左旗| 韶关市| 松滋市| 汉阴县| 德钦县| 哈尔滨市| 鸡泽县| 沿河| 星子县| 互助| 通州区|