高速可擴展的Montgomery乘法器設計方案
本文提出一種高速可擴展的Montgomery乘法器設計方案,該方案是在Tenca提出的Booth-8 Montgomery模乘法器的基礎上,采用Booth-64編碼進(jìn)行改進(jìn),使速度平均提高了48%。同時(shí)對數據通路進(jìn)行了優(yōu)化,使得流水線(xiàn)數據通路的平均延遲大大降低。
本文引用地址:http://dyxdggzs.com/article/187254.htm

其中,k表示基,X為模乘運算的乘數,Y是被乘數,M是模數。其中,操作數長(cháng)度為N,部分積用為S表示,Y、M和S分成NW個(gè)BPW bit的字進(jìn)行運算,xj表示X的第j bit,Sk(i)表示第i個(gè)字的第k位,Ca、Cb表示進(jìn)位,qyj、qMj分別是在計算部分積過(guò)程中Y和M的系數。
核心數據路徑采用流水線(xiàn)組織結構,每一級之間用寄存器隔開(kāi)。每個(gè)MMcell單元完成一輪外循環(huán),每個(gè)時(shí)鐘輸入Y、M、SS、SC的一個(gè)字參與運算,并把Y、M和計算出來(lái)的SS、SC傳遞該下一級。為了能使數據路徑可伸縮,加入了兩個(gè)FIFO分別用來(lái)存儲SS和SC。如圖1所示,NS是流水線(xiàn)級數,由面積和時(shí)間需求來(lái)決定。

2 基為64的高速Montgomery乘法器設計
Tenca提出的模乘器設計中Booth編碼采用的基為8,并且能夠支持操作數長(cháng)度可變的模乘運算,對操作數按字進(jìn)行運算,縮短了關(guān)鍵路徑的延遲,并且使用CSA(Carry Save Adder)提高了整體的系統性能。
通過(guò)分析,采用基為8的Booth編碼可以將部分積數量減少為原來(lái)的1/3,而采用基為64的Booth編碼則可以將部分積數量減少為原來(lái)的1/6。據此本文對Tenca提出的設計方案進(jìn)行改進(jìn),因此提出基為64的高速Montgomery乘法器。
對于基為64的設計,乘數X每次掃描6 bit,經(jīng)Booth編碼后得到7 bit的輸入數據,同時(shí)Y和M每次輸入一個(gè)字。乘數X的Booth編碼為:



評論