欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多體并行S盒的電路結(jié)構(gòu)的制作方法

文檔序號(hào):11205756閱讀:728來(lái)源:國(guó)知局
一種多體并行S盒的電路結(jié)構(gòu)的制造方法與工藝

本發(fā)明涉及密碼芯片集成電路設(shè)計(jì)的技術(shù)領(lǐng)域,具體涉及一種多體并行s盒的電路結(jié)構(gòu),實(shí)現(xiàn)多個(gè)s盒并行工作。



背景技術(shù):

s盒是對(duì)稱密碼算法中一個(gè)重要的組件,它是有限域上一個(gè)有n比特輸入、m比特輸出的非線性函數(shù)。由于s盒是一個(gè)復(fù)雜的非線性函數(shù),所以在實(shí)用分組密碼中s盒的尺寸一般不能太大,不超過(guò)8比特輸入、8比特輸出的形式最為常見(jiàn)。在分組密碼中,通常將多個(gè)s盒并聯(lián)起來(lái)使用。例如,高級(jí)加密標(biāo)準(zhǔn)算法aes中使用了16個(gè)8-8大小的s盒,中國(guó)加密標(biāo)準(zhǔn)算法sm4中使用了4個(gè)8-8大小的s盒。通常一個(gè)分組密碼算法中使用的s盒是相同的。

在安全性要求高的應(yīng)用領(lǐng)域中,通常需要使用多種密碼算法。另外,為了滿足快速加解密的性能要求,常采用可重構(gòu)的密碼處理器或者面向密碼應(yīng)用的專用處理器等硬件平臺(tái)來(lái)實(shí)現(xiàn)對(duì)多種密碼算法的快速處理。由于同一個(gè)密碼算法中需要使用多個(gè)s盒并行工作,而不同密碼算法中使用的s盒可能并不相同。因此,需要這些硬件平臺(tái)能夠支持多種s盒的高效并行工作。

在s盒的硬件電路結(jié)構(gòu)實(shí)現(xiàn)方式上,目前主要有兩種方式:一種是根據(jù)s盒的數(shù)學(xué)表達(dá)式采用門(mén)級(jí)邏輯電路來(lái)實(shí)現(xiàn),這種方式只適合固定內(nèi)容的s盒,當(dāng)有多種s盒時(shí),需要提前將這些s盒都以硬件電路形式實(shí)現(xiàn),因此,無(wú)法用于需要支持s盒內(nèi)容可變情形。另一種是基于查找表的實(shí)現(xiàn)方式,這種方式是將s盒的所有輸出值直接存放在存儲(chǔ)器中,如果s盒是一個(gè)n比特輸入、m比特輸出的s盒,則存儲(chǔ)器有2n個(gè)存儲(chǔ)單元構(gòu)成,這些存儲(chǔ)單元依次編號(hào)為0、1、2、……、2n-1,第i號(hào)存儲(chǔ)單元中存放當(dāng)s盒的輸入值為i時(shí)s盒對(duì)應(yīng)的輸出值,且0≤i≤2n-1。

目前面向分組密碼的硬件電路中,為了滿足分組密碼中會(huì)使用多個(gè)s盒的需求,主要有兩種方法來(lái)實(shí)現(xiàn)多個(gè)s盒替換操作。第一種方法采用多次訪問(wèn)一個(gè)查找表,在這種方式中,使用單塊存儲(chǔ)器構(gòu)造的一個(gè)s盒的查找表。如果一個(gè)分組密碼的輪函數(shù)中采樣n個(gè)s盒并行工作,則一般需要進(jìn)行n次存儲(chǔ)器訪問(wèn)才能完成一輪中n個(gè)s盒的置換操作。第二種方法是采用多塊存儲(chǔ)器構(gòu)成的多體并行的查找表,在這種方式中,如果一個(gè)分組密碼的輪函數(shù)中采用n個(gè)s盒并行工作,則需要設(shè)置n塊存儲(chǔ)器,每塊存儲(chǔ)器對(duì)應(yīng)著一個(gè)s盒的查找表,在每輪運(yùn)算中并行地訪問(wèn)這些存儲(chǔ)器。這樣通過(guò)一次訪問(wèn)操作即可以完成n個(gè)s盒的替換操作。例如,對(duì)于一個(gè)輸入為n比特、輸出為m比特的s盒,利用查找表方式實(shí)現(xiàn)時(shí),一個(gè)s盒需要一個(gè)存儲(chǔ)器,而每個(gè)存儲(chǔ)器至少需要2n個(gè)數(shù)據(jù)位寬為m比特的存儲(chǔ)單位。

在單查找表方法中存在著處理速度較慢的問(wèn)題,在由多塊存儲(chǔ)器構(gòu)造的多體并行查找表方法中存在的問(wèn)題是:一方面需要使用多個(gè)存儲(chǔ)器,成本較高;另一方面在將s盒內(nèi)容加載到這些存儲(chǔ)器時(shí),每個(gè)存儲(chǔ)器都需要加載一次,初始化時(shí)間較長(zhǎng)。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)現(xiàn)有支持多個(gè)s盒并行工作的電路結(jié)構(gòu)中成本高、初始化時(shí)間長(zhǎng)的問(wèn)題,本發(fā)明提出一種多體并行s盒的電路結(jié)構(gòu),低成本、高效率的支持多個(gè)s盒并行工作,僅使用一塊存儲(chǔ)器既可實(shí)現(xiàn)多個(gè)s盒的并發(fā)訪問(wèn),不僅能降低硬件成本,還能節(jié)省s盒的加載時(shí)間。

為了解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案是:一種多體并行s盒的電路結(jié)構(gòu),包括串聯(lián)連接的存儲(chǔ)模塊和多路選擇器模塊,所述的存儲(chǔ)模塊包括數(shù)據(jù)輸入端data、地址輸入端addr、寫(xiě)使能輸入端wr和k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸出端,數(shù)據(jù)輸出端與多路選擇器模塊相連接;所述的多路選擇器模塊包括有k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸入通道、t個(gè)數(shù)據(jù)位寬為n比特的通道選擇輸入端、t個(gè)數(shù)據(jù)位寬為m比特的s盒數(shù)據(jù)輸出端,數(shù)據(jù)輸入通道分別與存儲(chǔ)模塊的數(shù)據(jù)輸出端相連接,通道選擇輸入端用于接收t個(gè)s盒的輸入值,s盒數(shù)據(jù)輸出端用于輸出t個(gè)s盒的輸出值,m、n、tk均為正整數(shù),且k≥2n;還包括時(shí)鐘信號(hào)輸入端口clk,時(shí)鐘信號(hào)輸入端口clk用于接收外部提供的時(shí)鐘信號(hào),為整個(gè)電路結(jié)構(gòu)提供時(shí)鐘脈沖信號(hào)。

所述存儲(chǔ)模塊內(nèi)設(shè)有k個(gè)數(shù)據(jù)位寬為m比特的寄存器和內(nèi)部控制電路,寄存器的編號(hào)依次為:r_0、r_1、……、r_k-1,且r_l號(hào)寄存器存放的是當(dāng)s盒輸入值為l時(shí)s盒的輸出值,其中,l為[0,k-1]之間的整數(shù);r_0、r_1、……r_k-1號(hào)寄存器的輸出端分別與存儲(chǔ)模塊的k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸出端相連接。

所述存儲(chǔ)模塊的數(shù)據(jù)輸入端data的數(shù)據(jù)位寬為d比特,用于接收外部輸入到存儲(chǔ)模塊的數(shù)據(jù);存儲(chǔ)模塊的地址輸入端addr的位寬為a比特,用于接收外部提供的地址信號(hào);存儲(chǔ)模塊的寫(xiě)使能輸入端wr,用于接收外部提供的寫(xiě)使能輸入信號(hào),ad為正整數(shù),alog2k*m/d,且dm的整數(shù)倍。

所述存儲(chǔ)模塊的寫(xiě)使能端wr有效時(shí),存儲(chǔ)模塊的內(nèi)部控制電路把數(shù)據(jù)輸入端data上的數(shù)據(jù)寫(xiě)入到地址輸入端addr指定編號(hào)的r_l號(hào)寄存器中,l為[0,k-1]之間的整數(shù)。

所述的多路選擇器模塊用于根據(jù)多個(gè)s盒的輸入值從存儲(chǔ)模塊中并行地選擇出多個(gè)s盒的相應(yīng)輸出值;多路選擇器模塊的k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸入通道的編號(hào)依次為:d0、d1、……、dk-1,第dl號(hào)數(shù)據(jù)輸入通道分別與r_l號(hào)寄存器的輸出端相連接;多路選擇器模塊的t個(gè)數(shù)據(jù)位寬為n比特的通道選擇輸入端的編號(hào)依次為:x0、x1、……、xt-1;多路選擇器模塊的t個(gè)數(shù)據(jù)位寬為m比特的s盒數(shù)據(jù)輸出端的編號(hào)依次為:y0、y1、……、yt-1;多路選擇器模塊包括t個(gè)k選1多路選擇器,k選1多路選擇器的編號(hào)依次為:m_0、m_1、……、m_t-1;k選1多路選擇器的k個(gè)多路選擇器數(shù)據(jù)輸入端的編號(hào)依次為:i0、i1、……、ik-1;

第m_j號(hào)k選1多路選擇器有數(shù)據(jù)位寬為m比特的s盒數(shù)據(jù)輸出端yj、數(shù)據(jù)位寬為n比特的通道選擇輸入端xj和k個(gè)數(shù)據(jù)位寬為m比特的多路選擇器數(shù)據(jù)輸入端i0、i1、……、ik-1,其中,0≤jt-1的整數(shù);每個(gè)k選1多路選擇器的第il號(hào)的多路選擇器數(shù)據(jù)輸入端分別與多路選擇器模塊的第dl號(hào)數(shù)據(jù)輸入通道相連接,l為[0,k-1]之間的整數(shù)。

本發(fā)明可以靈活地開(kāi)發(fā)出支持多個(gè)s盒并行工作的電路結(jié)構(gòu),在實(shí)現(xiàn)對(duì)t個(gè)輸入為n比特、輸出為m比特的s盒并行工作的電路結(jié)構(gòu)時(shí),通過(guò)共享2n個(gè)數(shù)據(jù)位寬為m比特的寄存器,實(shí)現(xiàn)了多個(gè)s盒隨機(jī)并行訪問(wèn)的能力,與采用單個(gè)查找表實(shí)現(xiàn)的s盒相比能夠一次進(jìn)行多個(gè)s盒替換操作,與采用多個(gè)存儲(chǔ)器并行工作的s盒電路結(jié)構(gòu)相比能節(jié)省大量的存儲(chǔ)器資源,而且僅需要對(duì)存儲(chǔ)器進(jìn)行一次s盒內(nèi)容加載即可實(shí)現(xiàn)對(duì)多個(gè)相同s盒查找表的初始化,與采用多個(gè)存儲(chǔ)器并行工作的電路結(jié)構(gòu)相比能夠節(jié)省存儲(chǔ)器的加載時(shí)間。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例一的結(jié)構(gòu)示意圖。

圖2為本發(fā)明實(shí)施例二的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例一

如圖1所示,一種多體并行s盒的電路結(jié)構(gòu),包括串聯(lián)連接的存儲(chǔ)模塊和多路選擇器模塊,所述的存儲(chǔ)模塊包括有k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸出端、數(shù)據(jù)輸入端data、地址輸入端addr和寫(xiě)使能輸入端wr,數(shù)據(jù)輸出端與多路選擇器模塊相連接。所述的多路選擇器模塊包括有k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸入通道、t個(gè)數(shù)據(jù)位寬為n比特的通道選擇輸入端、t個(gè)數(shù)據(jù)位寬為m比特的s盒數(shù)據(jù)輸出端,k個(gè)數(shù)據(jù)輸入通道分別與存儲(chǔ)模塊的k個(gè)數(shù)據(jù)輸出端相連接。通道選擇輸入端用于接收t個(gè)s盒的輸入值,s盒數(shù)據(jù)輸出端用于輸出t個(gè)s盒的輸出值,m、n、tk均為正整數(shù),且k≥2n。還包括時(shí)鐘信號(hào)輸入端口clk,時(shí)鐘信號(hào)輸入端口clk用于接收外部提供的時(shí)鐘信號(hào),為整個(gè)電路結(jié)構(gòu)提供時(shí)鐘脈沖信號(hào)。

存儲(chǔ)模塊用于存放s盒的所有輸出值,存儲(chǔ)模塊內(nèi)設(shè)有k個(gè)數(shù)據(jù)位寬為m比特的寄存器和內(nèi)部控制電路,寄存器從上到下的編號(hào)依次為:r_0、r_1、……、r_k-1,且r_l號(hào)寄存器存放的是當(dāng)s盒輸入值為l時(shí)s盒的輸出值,其中,l為[0,k-1]之間的整數(shù)。即第r_0號(hào)寄存器存放的是當(dāng)s盒輸入值為0時(shí)s盒對(duì)應(yīng)的輸出值,第r_1號(hào)寄存器存放的是當(dāng)s盒輸入值為1時(shí)s盒的輸出值,第r_2、r_3、……、r_k-1號(hào)寄存器中存放的內(nèi)容以此類推。r_0、r_1、……r_k-1號(hào)寄存器的輸出端分別與存儲(chǔ)模塊的k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸出端相連接。存儲(chǔ)模塊的k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸出端分別與多路選擇器模塊的數(shù)據(jù)輸入通道相連接。

存儲(chǔ)模塊的數(shù)據(jù)輸入端data的數(shù)據(jù)位寬為d比特,用于接收外部輸入到存儲(chǔ)模塊的數(shù)據(jù);存儲(chǔ)模塊的地址輸入端addr的位寬為a比特,用于接收外部往存儲(chǔ)模塊寫(xiě)入數(shù)據(jù)時(shí)提供的地址信號(hào);存儲(chǔ)模塊的寫(xiě)使能輸入端wr,用于接收外部提供的寫(xiě)使能輸入信號(hào),ad為正整數(shù),且dm的整數(shù)倍,alog2k*m/d。

存儲(chǔ)模塊的寫(xiě)使能端wr有效時(shí),存儲(chǔ)模塊的內(nèi)部控制電路把數(shù)據(jù)輸入端data上的數(shù)據(jù)寫(xiě)入到地址輸入端addr指定編號(hào)的r_l號(hào)寄存器中,l為[0,k-1]之間的整數(shù)。

多路選擇器模塊用于根據(jù)多個(gè)s盒的輸入值從存儲(chǔ)模塊中并行地選擇出多個(gè)s盒的相應(yīng)輸出值。多路選擇器模塊的k個(gè)數(shù)據(jù)位寬為m比特的數(shù)據(jù)輸入通道的編號(hào)依次為:d0、d1、……、dk-1,第dl號(hào)數(shù)據(jù)輸入通道分別與r_l號(hào)寄存器的輸出端相連接。即第r_0號(hào)寄存器的數(shù)據(jù)輸出端連接到多路選擇器模塊的第d0號(hào)數(shù)據(jù)輸入通道;第r_1號(hào)寄存器的數(shù)據(jù)輸出端接到多路選擇器模塊的第d1號(hào)數(shù)據(jù)輸入通道;第r_2、r_3、……、r_k-1號(hào)寄存器數(shù)據(jù)輸出端的連接方式以此類推。

多路選擇器模塊的t個(gè)數(shù)據(jù)位寬為n比特的通道選擇輸入端的編號(hào)依次為:x0、x1、……、xt。多路選擇器模塊的t個(gè)數(shù)據(jù)位寬為m比特的s盒數(shù)據(jù)輸出端的編號(hào)依次為:y0、y1、……、yt。多路選擇器模塊包括t個(gè)k選1多路選擇器,k選1多路選擇器的編號(hào)依次為:m_0、m_1、……、m_t-1;k選1多路選擇器的k個(gè)多路選擇器數(shù)據(jù)輸入端的編號(hào)依次為:i0、i1、……、ik-1。第m_j號(hào)k選1多路選擇器有數(shù)據(jù)位寬為m比特的s盒數(shù)據(jù)輸出端yj、數(shù)據(jù)位寬為n比特的通道選擇輸入端xj和k個(gè)數(shù)據(jù)位寬為m比特的多路選擇器數(shù)據(jù)輸入端i0、i1、……、ik-1,其中,0≤jt-1的整數(shù)。第m_j號(hào)k選1多路選擇器的通道選擇輸入端作為多路選擇器模塊的第xj號(hào)通道選擇輸入端,用于接收第j號(hào)s盒的輸入值,第m_j號(hào)k選1多路選擇器的數(shù)據(jù)輸出端作為多路選擇器的第y_j號(hào)s盒數(shù)據(jù)輸出端,用于輸出s盒的輸出值。

每個(gè)k選1多路選擇器的第il號(hào)的多路選擇器數(shù)據(jù)輸入端分別與多路選擇器模塊的第dl號(hào)數(shù)據(jù)輸入通道相連接,l為[0,k-1]之間的整數(shù)。即,每個(gè)k選1多路選擇器的第i0號(hào)數(shù)據(jù)輸入端分別連接到多路選擇器模塊的第d0號(hào)數(shù)據(jù)輸入通道,每個(gè)k選1多路選擇器的第i1號(hào)數(shù)據(jù)輸入端分別連接到多路選擇器模塊的第d0號(hào)數(shù)據(jù)輸入通道,每個(gè)k選1多路選擇器的第i2、i3、……、ik-1號(hào)數(shù)據(jù)輸入端的連接方式依此類推。

若有t個(gè)輸入為n比特、輸出為m比特的s盒并行工作時(shí),所述的存儲(chǔ)模塊至少包含k個(gè)數(shù)據(jù)位寬為m比特的寄存器,并且多路選擇器模塊中至少包含t個(gè)數(shù)據(jù)位寬為m比特的k選1多路選擇器,其中,k≥2n。由于存儲(chǔ)模塊中的k個(gè)寄存器能夠同時(shí)向外提供數(shù)據(jù)并且多路選擇器模塊中t個(gè)k選1多路選擇器可以并行工作,所以當(dāng)有t個(gè)s盒的輸入值同時(shí)到達(dá)此多體并行s盒電路結(jié)構(gòu)時(shí),該電路能夠同時(shí)輸出t個(gè)對(duì)應(yīng)的s盒輸出值。因此,所述的多體并行s盒可以支持t個(gè)s盒并發(fā)訪問(wèn)。

實(shí)施例二

一種多體并行s盒的電路結(jié)構(gòu),實(shí)現(xiàn)了一種支持4個(gè)8比特輸入、8比特輸出的多體并行s盒電路,其電路結(jié)構(gòu)圖如圖2所示。包括存儲(chǔ)模塊和多路選擇器模塊,其中,所述的存儲(chǔ)模塊有256個(gè)數(shù)據(jù)位寬為8比特的數(shù)據(jù)輸出端,這些數(shù)據(jù)輸出端與多路選擇器模塊相連接。所述的存儲(chǔ)模塊有一個(gè)數(shù)據(jù)位寬為8比特的數(shù)據(jù)輸入端data,用于接收外部輸入到存儲(chǔ)模塊的數(shù)據(jù);所述的存儲(chǔ)模塊有一個(gè)位寬為8比特的地址輸入端addr,用于接收外部提供的地址信號(hào)以選中要寫(xiě)入的寄存器;所述的存儲(chǔ)模塊有一個(gè)寫(xiě)使能輸入端,用于接收外部提供的寫(xiě)使能輸入信號(hào)。所述的多路選擇器模塊有256個(gè)數(shù)據(jù)位寬為8比特的數(shù)據(jù)輸入通道,這些數(shù)據(jù)輸入通道分別與存儲(chǔ)模塊的256個(gè)數(shù)據(jù)輸出端相連。多路選擇器模塊有4個(gè)數(shù)據(jù)位寬為8比特的通道選擇輸入端x0-x3,這些通道選擇輸入端用于接收4個(gè)s盒的輸入值.所述的多路選擇器模塊有4個(gè)數(shù)據(jù)位寬為8比特的s盒數(shù)據(jù)輸出端y0-y3,這些s盒數(shù)據(jù)輸出端用于輸出4個(gè)s盒的輸出值。本發(fā)明還包括有一個(gè)時(shí)鐘信號(hào)輸入端口clk,時(shí)鐘信號(hào)輸入端口clk用于接收外部提供的時(shí)鐘信號(hào),并為整個(gè)置換電路提供時(shí)鐘脈沖信號(hào)。

存儲(chǔ)模塊用于存放一個(gè)s盒的所有輸出值,由256個(gè)數(shù)據(jù)位寬為8比特的寄存器和內(nèi)部控制電路構(gòu)成。寄存器從上到下的編號(hào)依次為r_0、r_1、……r_255;第r_0號(hào)寄存器存放的是s盒輸入值為0時(shí)s盒的輸出值,第r_1號(hào)寄存器存放的是s盒輸入值為1時(shí)s盒的輸出值,第r_2、r_3、……、r_255號(hào)寄存器中存放的內(nèi)容以此類推。存儲(chǔ)模塊中的256個(gè)寄存器的數(shù)據(jù)輸出端分別作為存儲(chǔ)模塊的256個(gè)數(shù)據(jù)輸出端,第r_0號(hào)寄存器的數(shù)據(jù)輸出端連接到多路選擇器模塊的第d0號(hào)數(shù)據(jù)輸入通道;第r_1號(hào)寄存器的數(shù)據(jù)輸出端連接到多路選擇器模塊的第d1號(hào)數(shù)據(jù)輸入通道;第r_2、r_3、……、r_255號(hào)寄存器的數(shù)據(jù)輸出端的連接方式以此類推。

存儲(chǔ)模塊有三類輸入端,存儲(chǔ)模塊的第一類輸入端為數(shù)據(jù)位寬為8比特的數(shù)據(jù)輸入端data,用于接收外部輸入的數(shù)據(jù);存儲(chǔ)模塊的第二類輸入端為位寬為8比特的地址輸入端addr,用于接收外部寫(xiě)數(shù)據(jù)時(shí)的地址信號(hào);存儲(chǔ)模塊的第三類輸入端為寫(xiě)使能輸入端wr,用于接收外部輸入的寫(xiě)使能信號(hào);當(dāng)寫(xiě)使能端wr有效時(shí),低電平有效,存儲(chǔ)模塊的內(nèi)部控制電路將把數(shù)據(jù)輸入端data上的8比特?cái)?shù)據(jù)寫(xiě)入地址輸入端addr指定編號(hào)的寄存器中。

所述的多路選擇器模塊中包含4個(gè)數(shù)據(jù)位寬為8比特的256選1多路選擇器,這些多路選擇器從上到下的編號(hào)依次為m_0、m_1、m2、m_3。多路選擇器模塊有256個(gè)數(shù)據(jù)位寬為8比特的數(shù)據(jù)輸入通道,這些數(shù)據(jù)輸入通道從上到下的編號(hào)依次為:d0、d1、……、d255。當(dāng)0≤l≤255時(shí),多路選擇器模塊的第dl號(hào)數(shù)據(jù)輸入通道與存儲(chǔ)模塊中的第r_l號(hào)寄存器的數(shù)據(jù)輸出端相連接。多路選擇器模塊有4個(gè)數(shù)據(jù)位寬為8比特的通道選擇輸入端,這些通道選擇輸入端的編號(hào)從上到下依次為x0、x1、x2、x3,當(dāng)0≤j≤3時(shí),第xj號(hào)通道選擇輸入端用于接收第j號(hào)s盒的輸入值;所述的多路選擇器模塊有4個(gè)數(shù)據(jù)位寬為8比特的s盒數(shù)據(jù)輸出端,這些s盒數(shù)據(jù)輸出端從上到下的編號(hào)依次為:y0、y1、y2、y3,當(dāng)0≤j≤3時(shí),第yj號(hào)數(shù)據(jù)輸出端用于輸出第j號(hào)s盒的輸出值;當(dāng)0≤j≤3時(shí),第xj號(hào)通道選擇輸入端和第yj號(hào)s盒數(shù)據(jù)輸出端分別連接到第m_j號(hào)256選1多路選擇器的通道選擇端和數(shù)據(jù)輸出端。

在實(shí)際應(yīng)用中,本發(fā)明由外部功能單元控制和使用,以完成相應(yīng)的s盒內(nèi)容初始化和s盒替換功能。本發(fā)明完成s盒替換功能時(shí)會(huì)涉及到如下兩種操作:

第一種操作為s盒的內(nèi)容加載:當(dāng)首次使用或需要更換s盒的內(nèi)容時(shí),需要進(jìn)行s盒內(nèi)容加載操作。由外部功能單元根據(jù)s盒的查找表內(nèi)容對(duì)存儲(chǔ)模塊中的各個(gè)寄存器進(jìn)行初始化。在本實(shí)施例中,初始化過(guò)程共需要256個(gè)周期完成。當(dāng)0≤l≤255時(shí),外部功能單元在時(shí)鐘信號(hào)clk的第l個(gè)周期內(nèi),在地址輸入端addr上給出地址值l,并在數(shù)據(jù)輸入端data上給出當(dāng)s盒的輸入值為l時(shí)對(duì)應(yīng)的輸出值s(l),同時(shí)在寫(xiě)使能輸入端wr上給出有效信號(hào)(低電平),存儲(chǔ)模塊的內(nèi)部控制電路則會(huì)將輸出值s(l)的值寫(xiě)入到第r_l號(hào)寄存器中。當(dāng)256個(gè)寄存器全部加載完成后,即完成s盒內(nèi)容加載過(guò)程。完成s盒內(nèi)容加載后,外部功能單元應(yīng)將寫(xiě)使能輸入端wr的輸入信號(hào)置為無(wú)效狀態(tài)。

第二種操作為s盒的替換操作。本實(shí)施例支持4個(gè)8比特輸入、8比特輸出s盒的并發(fā)操作,當(dāng)需要進(jìn)行4個(gè)s盒的并行替換操作時(shí),只需將4個(gè)s盒的8比特輸入數(shù)據(jù)分別送入到第x0、x1、x2、x3號(hào)通道選擇輸入端,就會(huì)分別在第y0、y1、y2、y3號(hào)s盒數(shù)據(jù)輸出端得到對(duì)應(yīng)的4個(gè)s盒輸出值。因此,本發(fā)明能夠支持多個(gè)s盒的并行替換操作。

本實(shí)施例中僅使用一個(gè)s盒查找表所需的存儲(chǔ)容量就可以支持四個(gè)s盒的并行替換操作,與采樣多塊存儲(chǔ)器實(shí)現(xiàn)的多個(gè)s盒的并發(fā)替換操作的電路結(jié)構(gòu)相比,本發(fā)明能夠有效地減少所需的存儲(chǔ)容量,節(jié)省硬件成本,同時(shí)能夠節(jié)省存儲(chǔ)器的初始化時(shí)間;與采用傳統(tǒng)的單個(gè)s盒查找表方式相比,能夠提高數(shù)據(jù)處理速度。因此,本發(fā)明能達(dá)到了降低成本、降低加載時(shí)間的目的,為后期的實(shí)際生產(chǎn)帶來(lái)有利的經(jīng)濟(jì)效益。

以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
衡阳县| 敖汉旗| 隆昌县| 蕲春县| 蓬安县| 杭州市| 辉南县| 冷水江市| 襄汾县| 射洪县| 英超| 洞头县| 竹溪县| 会泽县| 巨鹿县| 涞源县| 策勒县| 钦州市| 稻城县| 凤凰县| 怀仁县| 察哈| 洪湖市| 来凤县| 葵青区| 玉山县| 松桃| 砀山县| 武隆县| 天等县| 麦盖提县| 泉州市| 宝应县| 九江市| 吴川市| 梁平县| 呼图壁县| 泰顺县| 临安市| 隆尧县| 新竹市|