新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 高速可擴展的Montgomery乘法器設計方案

        高速可擴展的Montgomery乘法器設計方案

        作者: 時間:2011-10-19 來源:網絡 收藏

        本文提出一種高速可擴展的,該方案是在Tenca提出的Booth-8 的基礎上,采用Booth-64編碼進行改進,使速度平均提高了48%。同時對數據通路進行了優化,使得流水線數據通路的平均延遲大大降低。

        本文引用地址:http://www.104case.com/article/187254.htm

          

          

          其中,k表示基,X為模乘運算的乘數,Y是被乘數,M是模數。其中,操作數長度為N,部分積用為S表示,Y、M和S分成NW個BPW bit的字進行運算,xj表示X的第j bit,Sk(i)表示第i個字的第k位,Ca、Cb表示進位,qyj、qMj分別是在計算部分積過程中Y和M的系數。

          核心數據路徑采用流水線組織結構,每一級之間用寄存器隔開。每個MMcell單元完成一輪外循環,每個時鐘輸入Y、M、SS、SC的一個字參與運算,并把Y、M和計算出來的SS、SC傳遞該下一級。為了能使數據路徑可伸縮,加入了兩個FIFO分別用來存儲SS和SC。如圖1所示,NS是流水線級數,由面積和時間需求來決定。

          

          2 基為64的高速設計

          Tenca提出的模乘器設計中Booth編碼采用的基為8,并且能夠支持操作數長度可變的模乘運算,對操作數按字進行運算,縮短了關鍵路徑的延遲,并且使用CSA(Carry Save Adder)提高了整體的系統性能。

          通過分析,采用基為8的Booth編碼可以將部分積數量減少為原來的1/3,而采用基為64的Booth編碼則可以將部分積數量減少為原來的1/6。據此本文對Tenca提出的進行改進,因此提出基為64的高速Montgomery乘法器。

          對于基為64的設計,乘數X每次掃描6 bit,經Booth編碼后得到7 bit的輸入數據,同時Y和M每次輸入一個字。乘數X的Booth編碼為:

          

          

          


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 米易县| 清水县| 玉环县| 邹城市| 永兴县| 昔阳县| 广东省| 五河县| 建瓯市| 麟游县| 鹿泉市| 漳浦县| 铜山县| 牡丹江市| 全椒县| 成武县| 宁武县| 关岭| 壤塘县| 儋州市| 宜城市| 太谷县| 深圳市| 土默特右旗| 富阳市| 兴海县| 宁海县| 曲水县| 漳平市| 安顺市| 门头沟区| 文昌市| 蓝田县| 讷河市| 永川市| 油尖旺区| 海盐县| 永新县| 安阳市| 夏津县| 武清区|