亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種快速模乘和模平方電路及其實現(xiàn)方法與流程

文檔序號:12718671閱讀:340來源:國知局
一種快速模乘和模平方電路及其實現(xiàn)方法與流程
本發(fā)明涉及集成電路設(shè)計領(lǐng)域,涉及一種用于大數(shù)模乘和模平方的快速模約減電路,特別涉及一種快速模乘和模平方電路及其實現(xiàn)方法。
背景技術(shù)
:目前對于大數(shù)模乘和模平方的模約減過程,通常采用的方案是先計算出乘法和平方的結(jié)果再對大素數(shù)P進(jìn)行取模操作,這個過程中就需要專門的取模電路,而一般乘法或平方的結(jié)果的數(shù)據(jù)位寬是P的2倍,因此對大數(shù)來說其乘法或平方的取模模塊需要的電路面積很大,運算速度慢,電路功耗還很大。技術(shù)實現(xiàn)要素:本發(fā)明提供了一種快速模乘和模平方電路及其實現(xiàn)方法,該電路能對夠?qū)位的二進(jìn)制大數(shù)進(jìn)行乘法或平方的同時對大素數(shù)P進(jìn)行模約減,在每一個時鐘周期內(nèi)處理3位,經(jīng)過m/3+2個時鐘周期就能得到模乘和模平方的結(jié)果,若m不是3的倍數(shù)可以通過對其高位補(bǔ)0直至其為3的倍數(shù)。為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:一種快速模乘和模平方電路,包括:一組m位的左移三位移位寄存器QU,三組m位的二輸入與門陣列AND1、AND2、AND3,四組全加器陣列FA1、FA2、FA3、FA4,m+4位的結(jié)果寄存器Q和一個32×m位的ROM單元;其中,m位的左移三位移位寄存器QU,用于存放乘數(shù),并將其第m位命名為U2,第m-1位命名成U1,第m-2位命名成U0;二輸入與門陣AND1輸入端為U2與被乘數(shù)N左移2位的結(jié)果;二輸入與門陣AND2輸入端為U1與被乘數(shù)N左移1位的結(jié)果;二輸入與門陣AND3輸入端為U0與被乘數(shù)N;ROM單元,用于存放素數(shù)P的補(bǔ)碼Pb的特定倍數(shù),其輸出端口設(shè)為X,全加器陣列,用于產(chǎn)生部分積,其中全加器陣列FA1的兩個輸入分別為與門陣列AND1的輸出端和與門陣列AND2的輸出端,全加器陣列FA2的輸入端分別為與門陣列AND3的輸出端和ROM的輸出端X,全加器陣列FA3的輸入端分別為全加器陣列FA1和FA2的和端口,全加器陣列FA4的輸入端為結(jié)果寄存器Q左移三位的結(jié)果與全加器陣列FA2的和端口。m+4位的結(jié)果寄存器Q,用于存放運算過程中的部分積和最終的結(jié)果,其輸入與全加器陣列FA4的和端口相連,其高四位輸出連接到ROM的地址位,低m位通過左移三位連接到全加器陣列FA4的加數(shù)端口。四組全加器陣列的最低位進(jìn)位端連接到0,同時針對電路第m位加法陣列的進(jìn)位再用五個全加器單元處理,并將其每一級電路運算的結(jié)果鎖存到結(jié)果寄存器Q中。ROM單元的4位地址線Adder從高到低為{Q[m+4],Q[m+3],Q[m+2],Q[m+1]}。ROM單元為32×m位的ROM單元。一種基于快速模乘和模平方電路的實現(xiàn)方法,其特征在于,包括以下步驟:首先需要初始化輸出寄存器Q,將RS=0,寄存器全部復(fù)位為0;工作中RS=1,電路運行m/3個clk后,被乘數(shù)的所有位均已經(jīng)參與了運算,這時左移三位寄存器N全部為0,下一步只需約減掉Q[m+4],Q[m+3],Q[m+2],Q[m+1]這四位即可;電路繼續(xù)運行2個clk.,Qm的高四位被成功約減掉;乘法和平方的運算結(jié)果被約減到m位。在每一個時鐘周期內(nèi)處理3位,經(jīng)過m/3+2個時鐘周期得到模乘和模平方的結(jié)果,若m不是3的倍數(shù)則通過對其高位補(bǔ)0直至其為3的倍數(shù)。本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:本發(fā)明的快速模乘和模平方電路由一組m位的左移三位移位寄存器QU,三組m位的二輸入與門陣列AND1、AND2、AND3,四組全加器陣列FA1、FA2、FA3、FA4,m+4位的結(jié)果寄存器Q和一個32×m位的ROM單元組成,該電路能對夠?qū)位的二進(jìn)制大數(shù)進(jìn)行乘法或平方的同時對大素數(shù)P進(jìn)行模約減,在每一個時鐘周期內(nèi)處理3位,經(jīng)過m/3+2個時鐘周期就能得到模乘和模平方的結(jié)果。進(jìn)一步,ROM的地址信號由{Q[m+4],Q[m+3],Q[m+2],Q[m+1]}組成,不再需要額外的地址生成器,降低了電路面積,減低了電路功耗,提高了電路的運行速度。在本發(fā)明實現(xiàn)方法中乘法或平方運算與約減運算同時進(jìn)行,每一個時鐘周期都可以累加三行部分積并約減掉上一個時鐘周期內(nèi)溢出的數(shù)值,同時乘數(shù)N左移三位為下一個時鐘周期數(shù)據(jù)運算做準(zhǔn)備,這樣通過m/3+2時鐘周期就可以得到所需運算結(jié)果。使用一個ROM代替掉X值的計算電路,提高了電路運行速度?!靖綀D說明】圖1為本發(fā)明的電路結(jié)構(gòu)示意圖;圖2為本發(fā)明的具體全加器部分電路圖;圖3為本發(fā)明的左移三位寄存器電路圖;圖4為本發(fā)明的ROM結(jié)構(gòu)示意圖;圖5為本發(fā)明的一位全加器電路圖?!揪唧w實施方式】下面結(jié)合附圖對本發(fā)明作詳細(xì)描述:如圖1所示,本發(fā)明一種快速模乘和模平方電路包括:1組m位的左移三位移位寄存器QU;3組m位的二輸入與門陣列AND1,AND2,AND3;4組全加器陣列FA1,F(xiàn)A2,F(xiàn)A3,F(xiàn)A4;m+4位的結(jié)果寄存器Q和1個32×m位的ROM單元。其中,m位的左移三位移位寄存器QU用來存放乘數(shù),并將其第m位命名為U2,第m-1位命名成U1,第m-2位命名成U0。二輸入與門陣AND1輸入端為U2與被乘數(shù)N左移2位的結(jié)果;二輸入與門陣AND2輸入端為U1與被乘數(shù)N左移1位的結(jié)果;二輸入與門陣AND3輸入端為U0與被乘數(shù)N。m+4位的結(jié)果寄存器Q,用來存放運算過程中的部分積和最終的結(jié)果,該寄存器的輸入與全加器陣列FA4的和端口相連。該寄存器的高四位輸出連接到ROM的地址位,低m位通過左移三位連接到全加器陣列FA4的加數(shù)端口。電路中ROM單元用來存放素數(shù)P的補(bǔ)碼Pb的特定倍數(shù),該ROM的讀寫方式與傳統(tǒng)ROM的讀寫方式相同,其4位地址線Adder從高到低為{Q[m+4],Q[m+3],Q[m+2],Q[m+1]},其輸出端口設(shè)為X,其內(nèi)部存放的數(shù)據(jù)如表1所示。表1AdderXAdderX00864*Pb18*Pb972*Pb216*Pb1080*Pb324*Pb1188*Pb432*Pb1296*Pb540*Pb13104*Pb648*Pb14112*Pb756*Pb15120*Pb四行全加器陣列用于產(chǎn)生部分積,其中全加器陣列FA1的兩個輸入分別為與門陣列AND1的輸出端和與門陣列AND2的輸出端,全加器陣列FA2的輸入端分別為與門陣列AND3的輸出端和ROM的輸出端X,全加器陣列FA3的輸入端分別為全加器陣列FA1和FA2的和端口,全加器陣列FA4的輸入端為寄存器Q左移三位的結(jié)果與全加器陣列FA2的和端口。這四行全加器陣列的最低位進(jìn)位端連接到0,同時針對電路第m位加法陣列的進(jìn)位再用5個全加器單元處理,并將其每一級電路運算的結(jié)果鎖存到寄存器Q中。具體如圖2所示。左移三位寄存器QU用來存放乘數(shù),每個時鐘上升沿來臨的時候,QU內(nèi)寄存的數(shù)值左移三位并且將其中最低三位補(bǔ)零,最高三位舍棄。將QU最高三位分別連接到與門陣列AND1,AND2,AND3的輸入端。具體如圖3所示;ROM單元內(nèi)存放的是PB的特定倍數(shù),用來參與到部分積溢出部分的約減運算。其讀操作與傳統(tǒng)ROM單元相同,在每個clk的上升沿讀取出其指定地址的值。該ROM單元的地址線可以連接到Q的高四位{Q[m+4],Q[m+3],Q[m+2],Q[m+1]},如圖4所示。圖5中所需的一位全加器單元結(jié)構(gòu)由9個或非門單元構(gòu)成,其中a,b分別為一位全加器的加數(shù)與被加數(shù)輸入端,cin為進(jìn)位輸入端,s為和輸出端,cout為進(jìn)位輸出端,如圖5所示。實施例參見圖1,圖2和圖3,m位的左移三位移位寄存器QU用來存放乘數(shù),并將其第m位命名為U2,第m-1位命名成U1,第m-2位命名成U0。被乘數(shù)為N,m位的二輸入與門陣AND1輸入端為U2與被乘數(shù)N左移2位的結(jié)果,將其輸出端連接到全加器陣列FA1的被加數(shù)端口。二輸入與門陣AND2輸入端為U2與被乘數(shù)N左移1位的結(jié)果,將其輸出端連接到全加器陣列FA1的加數(shù)端口。二輸入與門陣輸入端AND2為U2與被乘數(shù)N,將其輸出端連接到全加器陣列FA2的加數(shù)端口。ROM內(nèi)存放的是Pb的特定倍數(shù),其地址由{Q[m+4],Q[m+3],Q[m+2],Q[m+1]}組成,其輸出端連接在全加器陣列FA2的被加數(shù)端口。將全加器陣列FA1與FA2的和端口分別連接到全加器陣列FA3的加數(shù)與被加數(shù)端口,并將其全加器陣列FA3的和端口連接到全加器陣列FA4的加數(shù)端口,寄存器組Q通過左移三位連接到FA4的被加數(shù)端口。全加器單元的最低2位因為乘數(shù)N的左移因此可以將左移后空出的位數(shù)接0,四組全加器陣列最低位的進(jìn)位全部接0,詳見圖2。在本發(fā)明中,該電路每經(jīng)過一個時鐘周期就可以累加3行乘數(shù),并約減掉上一次部分積。在電路運行時首先需要初始化輸出寄存器Q,將RS=0,寄存器全部復(fù)位為0。工作中RS=1,電路運行m/3個clk后,被乘數(shù)的所有位均已經(jīng)參與了運算,這時左移三位寄存器N全部為0,下一步只需約減掉Q[m+4],Q[m+3],Q[m+2],Q[m+1]這四位即可。電路繼續(xù)運行2個clk.,Qm的高四位被成功約減掉。乘法和平方的運算結(jié)果被約減到m位。以上,僅為本發(fā)明的較佳實施例,并非僅限于本發(fā)明的實施范圍,凡依本發(fā)明專利范圍的內(nèi)容所做的等效變化和修飾,都應(yīng)為本發(fā)明的技術(shù)范疇。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1