国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器的制造方法

      文檔序號(hào):6536836閱讀:266來(lái)源:國(guó)知局
      一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器的制造方法
      【專利摘要】一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器。方法有:第一階段,采用最小最大二次多項(xiàng)式逼近算法計(jì)算倒數(shù)函數(shù)1/X的種子值Rf,基中,X為除數(shù)的53位尾數(shù)部分;第二階段,基于硬件復(fù)用方法的兩次Goldschmidt迭代,得到最終精確的結(jié)果。除法器,包括有用于計(jì)算倒數(shù)函數(shù)1/X的種子值Rf的第一部分和與所述的第一部分的輸出相連的用于計(jì)算最終精確結(jié)果的第二部分。本發(fā)明是一種高性能、地面積開(kāi)銷的除法器,通過(guò)硬件復(fù)用方法,在性能減低很小的情況下可或者很大的面積優(yōu)勢(shì),尤其適用于對(duì)面積要求嚴(yán)格的嵌入式微處理器領(lǐng)域。
      【專利說(shuō)明】一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種除法器。特別是涉及一種高性能、低面積開(kāi)銷的雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器。
      【背景技術(shù)】
      [0002]除法算法主要分為兩種:一種是慢速算法,一種是快速算法。慢速算法是一種基于數(shù)位迭代的方法,每次迭代產(chǎn)生一位商位,收斂速度為線性收斂?;謴?fù)余數(shù)法、不恢復(fù)余數(shù)法及SRT法都屬于慢速算法。快速算法通常使用查表法得到一個(gè)接近商值的種子值,以乘法作為基本的迭代步驟,每次迭代產(chǎn)生多個(gè)商位,收斂速度為對(duì)數(shù)收斂。Newton-Raphson和Goldschmidt都屬于快速算法。
      [0003]由IEEE-754標(biāo)準(zhǔn)對(duì)雙精度浮點(diǎn)數(shù)的定義得知,一個(gè)雙精度浮點(diǎn)數(shù)占64bit,其中I位符號(hào)位,11位指數(shù)位,52位尾數(shù)位(加上隱含的前導(dǎo)I則為53位)。兩雙精度浮點(diǎn)數(shù)相除得到的結(jié)果,尾數(shù)部分的取值范圍為(0.5,2),因此要確保尾數(shù)部分的最終誤差e〈2_54,這樣才能保證最終的尾數(shù)是精確的結(jié)果。
      [0004]高性能雙精度浮點(diǎn)除法器的一種廣泛被認(rèn)可的設(shè)計(jì)方法是先通過(guò)二次逼近查表法得到被除數(shù)X (以Y/X為例)倒數(shù)的種子值Rf,該種子值是1/X的近似值,精度為30bit。得到種子值之后再通過(guò)一次Goldschmidt的方法,具體來(lái)講是一次乘法運(yùn)算和兩次乘加運(yùn)算,得到最終的結(jié)果。
      [0005]在實(shí)際的應(yīng)用中,相比較于乘法和加法來(lái)講除法并不是一種常見(jiàn)的操作,如果用上述方法設(shè)計(jì)雙精度浮點(diǎn)除法器,其面積開(kāi)銷會(huì)遠(yuǎn)大于設(shè)計(jì)乘法器和加法器所帶來(lái)的面積開(kāi)銷,分析得知,主要的面積開(kāi)銷在于通過(guò)二次逼近法得到的查找表的面積(31Kb),一個(gè)53x30乘法器面積,一個(gè)53x30的乘加單元面積和56x28的乘加單元的面積。雖然該方法可以實(shí)現(xiàn)完全流水,但是由于除法操作的較少使用,使得在實(shí)際應(yīng)用中不能發(fā)揮該雙精度浮點(diǎn)除法器的性能優(yōu)勢(shì)。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明所要解決的技術(shù)問(wèn)題是,提供一種能夠減少雙精度浮點(diǎn)除法器的面積開(kāi)銷又滿足應(yīng)用需求的雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器。
      [0007]本發(fā)明所采用的技術(shù)方案是:一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法,包括:
      [0008]第一階段,采用最小最大二次多項(xiàng)式逼近算法計(jì)算倒數(shù)函數(shù)1/X的種子值Rf,基中,X為除數(shù)的53位尾數(shù)部分;
      [0009]第二階段,基于硬件復(fù)用方法的兩次Goldschmidt迭代,得到最終精確的結(jié)果。
      [0010]第一階段包括如下步驟:
      [0011]I)將53位尾數(shù)X被分成三個(gè)部分:高位部分X1,中間部分X2和低位部分X3,得到,
      [0012]X1=Ll.X1X2X3...Xml]
      [0013]X2=[xml+1........xm2]X2_ml[0014]X3=[xffl2+1.........xn]X2_m2
      [0015]對(duì)于倒數(shù)函數(shù)1/X通過(guò)如下公式進(jìn)行計(jì)算,
      [0016]X~WdC2X22(I)
      [0017]其中,系數(shù)Cc^CpC2通過(guò)軟件Maple獲得,在Maple中通過(guò)調(diào)用Remez算法來(lái)實(shí)現(xiàn)最小最大算法,從而得到三個(gè)系數(shù)CO、Cl和C2,并將三個(gè)系數(shù)Ctl, C1, C2存入系數(shù)查找表;
      [0018]2)采用高位部分Xl進(jìn)行查表,得到CO、Cl和C2的位寬,同時(shí)對(duì)中間部分X2進(jìn)行基數(shù)為4的Booth編碼,以及求中間部分X2的平方值和對(duì)所述該平方值進(jìn)行Booth編碼;
      [0019]3)將用兩個(gè)部分積產(chǎn)生模塊分別產(chǎn)生C1X2和C2X22的部分積與查表得到的Ctl,采用三級(jí)4:2CSA樹(shù)得到最終種子值的CARRY和SUM項(xiàng);
      [0020]4)采用一個(gè)超前進(jìn)位加法器CLA對(duì)最終種子值的CARRY和SUM項(xiàng)進(jìn)行相加,得到輸出結(jié)果倒數(shù)函數(shù)1/X的種子值Rf。
      [0021]第二階段包括兩次Goldschmidt迭代共涉及5次乘法和2次求補(bǔ)運(yùn)算,如下步驟:
      [0022]I)將第一階段得到的種子值Rf分別與53位尾數(shù)X和被除數(shù)的尾數(shù)部分Y相乘得到dO和zO,對(duì)dO求補(bǔ)后得到xO,然后將zO與xO相乘得到zl ;
      [0023]2)在第二次Goldschmidt迭代中,將dO與xO相乘得到dl,dl求補(bǔ)后得到xl,將得到的Xl與Zl相乘得到最終的結(jié)果Z。
      [0024]本發(fā)明的采用雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法得到的除法器,包括有用于計(jì)算倒數(shù)函數(shù)1/X的種子值Rf的第一部分和與所述的第一部分的輸出相連的用于計(jì)算最終精確結(jié)果的第二部分,其中,
      [0025]第一部分包括:
      [0026]寄存器,分別存放53位尾數(shù)X的高位部分X1、中間部分X2和低位部分X3 ;
      [0027]第一查找表、第二查找表和第三查找表,分別連接所述寄存器的高位部分X1的輸出端;
      [0028]第一 Booth編碼器,輸入端連接所述寄存器的中間部分X2,用于對(duì)中間部分X2進(jìn)行重新編碼;
      [0029]專用平方單元,輸入端連接所述寄存器的中間部分X2,用于求取中間部分X2的平方值;
      [0030]第二 Booth編碼器,輸入端連接所述專用平方單元輸出端,用于對(duì)求出的平方值進(jìn)行重新編碼;
      [0031]第一部分積產(chǎn)行單兀,分別連接第二查找表和第一 Booth編碼器的輸出端,用于產(chǎn)生C1X2的9個(gè)部分積;
      [0032]第二部分積產(chǎn)生單元,分別連接第三查找表和第二 Booth編碼器的輸出端,用于產(chǎn)生C2X22的6個(gè)部分積;
      [0033]第一級(jí)進(jìn)位保存加法器單元,分別連接第一查找表、第一部分積產(chǎn)行單元和第二部分積產(chǎn)生單元,用于產(chǎn)生第一級(jí)的CARRY和SUM項(xiàng);
      [0034]第二級(jí)進(jìn)位保存加法器單元,連接第一級(jí)進(jìn)位保存加法器單元的輸出端,用于產(chǎn)生第二級(jí)的CARRY和SUM項(xiàng);
      [0035]第三級(jí)進(jìn)位保存 加法器,連接第二級(jí)進(jìn)位保存加法器單元用于產(chǎn)生第三級(jí)的CARRY 和 SUM 項(xiàng);[0036]超前進(jìn)位加法器,連接第三級(jí)進(jìn)位保存加法器單元的輸出端,用于計(jì)算得到最終的種子值Rf ;
      [0037]第二部分包括:
      [0038]第一多路選擇器,分別連接外部控制信號(hào)sel、補(bǔ)碼器的輸出和第二部分輸出的最終的種子值Rf,用于根據(jù)外部控制信號(hào)sel,選擇補(bǔ)碼器的輸出信號(hào)和第二部分輸出的最終的種子值Rf兩個(gè)信號(hào)中的一個(gè);
      [0039]第二多路選擇器,分別連接外部控制信號(hào)sel、補(bǔ)碼器的輸出和第二部分輸出的最終的種子值Rf,用于根據(jù)外部控制信號(hào)sel,選擇補(bǔ)碼器的輸出信號(hào)和第二部分輸出的最終的種子值Rf兩個(gè)信號(hào)中的一個(gè);
      [0040]第三多路選擇器,分別連接外部控制信號(hào)sel、53位尾數(shù)X的輸出信號(hào)以及第一乘法器的輸出端,用于根據(jù)外部控制信號(hào)se I,選擇53位尾數(shù)X的輸出信號(hào)和第一乘法器的輸出信號(hào)中的一個(gè);
      [0041]第四多路選擇器,分別連接外部控制信號(hào)sel、被除數(shù)的尾數(shù)部分Y的輸出信號(hào)以及第二乘法器的輸出端,用于根據(jù)外部控制信號(hào)sel,選擇被除數(shù)的尾數(shù)部分Y的輸出信號(hào)和第二乘法器的輸出信號(hào)中的一個(gè);
      [0042]第一乘法器,分別連接第一多路選擇器和第三多路選擇器的輸出端,用于對(duì)該兩路輸出進(jìn)行相乘;
      [0043]第二乘法器,分別連接第二多路選擇器和第四多路選擇器的輸出端,用于對(duì)該兩路輸出進(jìn)行相乘,同時(shí)輸出最終結(jié)果;
      [0044]補(bǔ)碼器,連接第一乘法器的輸出端,用于對(duì)第一乘法器的輸出結(jié)果求補(bǔ)。
      `[0045]對(duì)應(yīng)計(jì)算倒數(shù)函數(shù)1/X的公式X—1 ^ Cc^C1XfC2X22,所述的第一查找表內(nèi)存儲(chǔ)系數(shù)Ctl,第二查找表內(nèi)存儲(chǔ)系數(shù)C1,第三查找表內(nèi)存儲(chǔ)系數(shù)C2。
      [0046]所述的第一級(jí)進(jìn)位保存加法器單元包括有:
      [0047]第一進(jìn)位保存加法器,分別連接第一查找表的輸出端和第一部分積產(chǎn)行單元的9個(gè)部分積中的3個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第一個(gè)CARRY和SUM項(xiàng);
      [0048]第二進(jìn)位保存加法器,連接第一部分積產(chǎn)行單元的9個(gè)部分積中的另4個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第二個(gè)CARRY和SUM項(xiàng);
      [0049]第三進(jìn)位保存加法器,分別連接第一部分積產(chǎn)行單元的9個(gè)部分積中的最后2個(gè)部分積的輸出端和第二部分積產(chǎn)生單元的6個(gè)部分積中的2個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第三個(gè)CARRY和SUM項(xiàng);
      [0050]第四進(jìn)位保存加法器,連接第二部分積產(chǎn)生單元的6個(gè)部分積中的其余4個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第三個(gè)CARRY和SUM項(xiàng)。
      [0051]所述的第二級(jí)進(jìn)位保存加法器單元包括有:
      [0052]第六進(jìn)位保存加法器,分別連接第一級(jí)進(jìn)位保存加法器單元中的第一進(jìn)位保存加法器和第二進(jìn)位保存加法器的輸出端,用于產(chǎn)生第二級(jí)的第一個(gè)CARRY和SUM項(xiàng);
      [0053]第七進(jìn)位保存加法器,分別連接第一級(jí)進(jìn)位保存加法器單元中的第三進(jìn)位保存加法器和第四進(jìn)位保存加法器的輸出端,用于產(chǎn)生第二級(jí)的第二個(gè)CARRY和SUM項(xiàng)。
      [0054]本發(fā)明的一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器,是一種高性能、地面積開(kāi)銷的除法器,通過(guò)硬件復(fù)用方法,在性能減低很小的情況下可或者很大的面積優(yōu)勢(shì),尤其適用于對(duì)面積要求嚴(yán)格的嵌入式微處理器領(lǐng)域。
      【專利附圖】

      【附圖說(shuō)明】
      [0055]圖1是本發(fā)明基于查找表法計(jì)算1/X的種子值Rf的結(jié)構(gòu)框圖;
      [0056]圖2是本發(fā)明兩次Goldschmidt迭代的結(jié)構(gòu)框圖;
      [0057]圖3是本發(fā)明兩次Goldschmidt迭代的計(jì)算流程圖。
      [0058]圖中
      [0059]1:寄存器2:第一查找表
      [0060]3:第二查找表4:第三查找表
      [0061]5:第一 Booth編碼器6:專用平方單元
      [0062]7:第二 Booth編碼器8:第一部分積產(chǎn)行單元
      [0063]9:第二部分積產(chǎn)生單元10:第一進(jìn)位保存加法器
      [0064]11:第二進(jìn)位保存加法器12:第三進(jìn)位保存加法器
      [0065]13:第四進(jìn)位保存加法器14:第六進(jìn)位保存加法器
      [0066]15:第七進(jìn)位保存加法器16:第三級(jí)進(jìn)位保存加法器
      [0067]17:超前進(jìn)位加法器18:第一多路選擇器
      [0068]19:第二多路選擇器20:第三多路選擇器
      [0069]21:第四多路選擇器22:第一乘法器
      [0070]23:第二乘法器24:補(bǔ)碼器
      【具體實(shí)施方式】
      [0071]下面結(jié)合實(shí)施例和附圖對(duì)本發(fā)明的一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器做出詳細(xì)說(shuō)明。
      [0072]發(fā)明的一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法及除法器,采用一次查表法+兩次Goldschmidt迭代的方法來(lái)設(shè)計(jì)雙精度浮點(diǎn)除法器,其中查找表也是采用二次多項(xiàng)式逼近算法得到,但是其面積要遠(yuǎn)小于原方法所使用的查找表的面積,經(jīng)查找表之后會(huì)得到一個(gè)比原先方法更小精度的種子值Rf,在后續(xù)的Goldschmidt中,采用兩次迭代的方法來(lái)獲得與原方法相同的精度,但是兩次迭代使用相同的硬件單元(2個(gè)60x60的乘法器)??偟膩?lái)看,我們采用的方法在查找表的面積上有很大的減少,但是由于采用了硬件復(fù)用技術(shù),因此后續(xù)兩次Goldschmidt的面積開(kāi)銷并沒(méi)有增加太多,總面積開(kāi)銷要小于原方法的面積開(kāi)銷。從性能上來(lái)看,采用我們的方法設(shè)計(jì)出的雙精度浮點(diǎn)除法器雖然不能完全可流水,但是由于實(shí)際應(yīng)用中除法操作并不常見(jiàn),因此采用該方法設(shè)計(jì)的除法器并不會(huì)帶來(lái)整體性能上的損失。
      [0073]本發(fā)明的一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法,包括:
      [0074]第一階段,采用最小最大二次多項(xiàng)式逼近算法計(jì)算倒數(shù)函數(shù)1/X的種子值Rf,基中,X為除數(shù)的53位尾數(shù)部分;第二階段,基于硬件復(fù)用方法的兩次Goldschmidt迭代,得到最終精確的結(jié)果。
      [0075]其中,第一階段包括如下步驟:
      [0076]1)將53位尾數(shù)X被分成三個(gè)部分:高位部分X1,可為5位,中間部分X2,可為17位和低位部分X3,可為31位,得到,
      [0077]X1=Ll.X1X2X3...Xml]
      [0078]X2=[xffll+1........X1112] X 2_ml
      [0079]X3=[xm2+1.........xn]X2_m2
      [0080]對(duì)于倒數(shù)函數(shù)1/X通過(guò)如下公式進(jìn)行計(jì)算,
      [0081]X-1 ^ Cq+C^+C^2(I)
      [0082]其中,系數(shù)Cc^CnC2通過(guò)軟件Maple獲得,在Maple中通過(guò)調(diào)用Remez算法來(lái)實(shí)現(xiàn)最小最大算法,從而得到三個(gè)系數(shù)Ctl, C1, C2,并將三個(gè)系數(shù)Ctl, C1, C2存入系數(shù)查找表;
      [0083]在實(shí)際的計(jì)算中,通過(guò)53位尾數(shù)X的mlbit高位部分X1進(jìn)行查表得到系數(shù)CO、Cl和C2,然后用得到的三個(gè)系數(shù)與53位尾數(shù)X的中位部分X2按照公式(I)進(jìn)行二次多
      項(xiàng)式的計(jì)算,從而得到I的近似值Rf。用于查表的Xl的位寬,用于計(jì)算的X2的位寬及
      CO、Cl和C2的位寬會(huì)直接影響得到的種子值的精度,其中Xl的位寬和三個(gè)系數(shù)的位寬又會(huì)直接影響系數(shù)查找表的大小,前者決定了查找表的深度而后者決定了查找表的寬度。查找表的面積會(huì)極大影響整個(gè)雙精度浮點(diǎn)除法器的面積,而得到的種子值的精度又會(huì)對(duì)后續(xù)Goldschmidt迭代的次數(shù)有著直接的影響,因此如何折中查找表的面積與得到的種子值的精度則需要設(shè)計(jì)者進(jìn)行仔細(xì)權(quán)衡。 [0084]2)采用高位部分Xl進(jìn)行查表,得到CO、Cl和C2的位寬,同時(shí)對(duì)中間部分X2進(jìn)行基數(shù)為4的Booth編碼,以及求中間部分X2的平方值和對(duì)所述該平方值進(jìn)行Booth編碼;
      [0085]在本方法的實(shí)施例中選用位寬較小的Xl進(jìn)行查表,具體來(lái)講是采用5位Xl進(jìn)行查表,得到CO、Cl和C2的位寬分別為30、20和12進(jìn)行多項(xiàng)式的計(jì)算,X2的一次項(xiàng)采用17bit,二次項(xiàng)用12bit,最終經(jīng)過(guò)多項(xiàng)式的計(jì)算得到一個(gè)精度為19bit的種子值Rf,由于得到的種子值精度較低,因此在第二階段采用兩次Goldschmidt迭代來(lái)獲得滿足需要的精度。
      [0086]在進(jìn)行二次多項(xiàng)式的計(jì)算過(guò)程中,本發(fā)明使用了一種優(yōu)化算法來(lái)計(jì)算X2的平方項(xiàng),在性能不降低的情況之下面積開(kāi)銷減小了一半。在得到了 X2的平方項(xiàng)之后整個(gè)多項(xiàng)式的計(jì)算就剩下了兩次乘法和兩次加法,在我們的設(shè)計(jì)中采用了一種融合累加樹(shù)的方法進(jìn)行后續(xù)多項(xiàng)式的計(jì)算。
      [0087]3)將用兩個(gè)部分積產(chǎn)生模塊分別產(chǎn)生C1X2和C2X22的部分積與查表得到的Ctl,采用三級(jí)4:2CSA樹(shù)得到最終種子值的CARRY和SUM項(xiàng);
      [0088]4)采用一個(gè)超前進(jìn)位加法器CLA對(duì)最終種子值的CARRY和SUM項(xiàng)進(jìn)行相加,得到輸出結(jié)果倒數(shù)函數(shù)1/X的種子值Rf。
      [0089]其中,第二階段包括兩次Goldschmidt迭代共涉及5次乘法和2次求補(bǔ)運(yùn)算,第一階段的結(jié)果產(chǎn)生之后就開(kāi)始進(jìn)行第二階段的計(jì)算,第二階段計(jì)算的流程如圖3所示,具體采用如下步驟:
      [0090]I)將第一階段得到的種子值Rf分別與53位尾數(shù)X和被除數(shù)的尾數(shù)部分Y相乘得到dO和z0,對(duì)dO求補(bǔ)后得到x0,然后將zO與xO相乘得到zl ;
      [0091]2)在第二次Goldschmidt迭代中,將dO與xO相乘得到dl,dl求補(bǔ)后得到xl,將得到的Xl與Zl相乘得到最終的結(jié)果Z。[0092]下面對(duì)本發(fā)明方法的計(jì)算過(guò)程進(jìn)行誤差分析:
      [0093]整個(gè)雙精度浮點(diǎn)除法器的計(jì)算過(guò)程分為兩個(gè)階段,誤差分析也主要根據(jù)計(jì)算的兩個(gè)階段進(jìn)行分析。
      [0094]l、Rf的誤差分析
      [0095]第一階段的結(jié)果會(huì)產(chǎn)生一個(gè)種子值Rf,該種子值的誤差來(lái)源主要有:1) 二次多項(xiàng)式逼近算法本身的誤差(e appM),2)在多項(xiàng)式計(jì)算過(guò)程中因有限位寬而引入的算術(shù)誤差。
      [0096]總誤差
      【權(quán)利要求】
      1.一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法,其特征在于,包括: 第一階段,采用最小最大二次多項(xiàng)式逼近算法計(jì)算倒數(shù)函數(shù)l/x的種子值Rf,基中,X為除數(shù)的53位尾數(shù)部分; 第二階段,基于硬件復(fù)用方法的兩次Goldschmidt迭代,得到最終精確的結(jié)果。
      2.根據(jù)權(quán)利要求1所述的一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法,其特征在于,第一階段包括如下步驟: 1)將53位尾數(shù)X被分成三個(gè)部分:高位部分X1,中間部分X2和低位部分X3,得到,
      X1-El.X1X2X3...Xml]
      X2=[xffll+1........X1112] X 2_ml X3=[xffl2+1.........xn]X2_m2 對(duì)于倒數(shù)函數(shù)1/X通過(guò)如下公式進(jìn)行計(jì)算, X-1 ^ Cc^C1XfC2X22(1) 其中,系數(shù)Cc^CpC2通過(guò)軟件Maple獲得,在Maple中通過(guò)調(diào)用Remez算法來(lái)實(shí)現(xiàn)最小最大算法,從而得到三個(gè)系數(shù)CO、Cl和C2,并將三個(gè)系數(shù)Ctl, C1, C2存入系數(shù)查找表; 2)采用高位部分Xl進(jìn)行查表,得到CO、Cl和C2的位寬,同時(shí)對(duì)中間部分X2進(jìn)行基數(shù)為4的Booth編碼,以及求中間部分X2的平方值和對(duì)所述該平方值進(jìn)行Booth編碼; 3)將用兩個(gè)部分積產(chǎn)生模塊分別產(chǎn)生C1X2和C2X22的部分積與查表得到的Ctl,采用三級(jí)4:2CSA樹(shù)得到最終種子值的CARRY和SUM項(xiàng); 4)采用一個(gè)超前進(jìn)位加法器CLA對(duì)最終種子值的CARRY和SUM項(xiàng)進(jìn)行相加,得到輸出結(jié)果倒數(shù)函數(shù)1/X的種子值Rf。
      3.根據(jù)權(quán)利要求1所述的一種雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法,其特征在于,第二階段包括兩次Goldschmidt迭代共涉及5次乘法和2次求補(bǔ)運(yùn)算,如下步驟: 1)將第一階段得到的種子值Rf分別與53位尾數(shù)X和被除數(shù)的尾數(shù)部分Y相乘得到dO和zO,對(duì)dO求補(bǔ)后得到xO,然后將zO與x0相乘得到zl ; 2)在第二次Goldschmidt迭代中,將dO與xO相乘得到dl,dl求補(bǔ)后得到xl,將得到的Xl與zl相乘得到最終的結(jié)果z。
      4.一種采用權(quán)利要求1或2或3所述的雙精度浮點(diǎn)數(shù)除法器的設(shè)計(jì)方法得到的除法器,其特征在于,包括有用于計(jì)算倒數(shù)函數(shù)1/X的種子值Rf的第一部分和與所述的第一部分的輸出相連的用于計(jì)算最終精確結(jié)果的第二部分,其中, 第一部分包括: 寄存器(1 ),分別存放53位尾數(shù)X的高位部分X1、中間部分X2和低位部分X3 ; 第一查找表(2)、第二查找表(3)和第三查找表(4),分別連接所述寄存器(I)的高位部分X1的輸出端; 第一 Booth編碼器(5),輸入端連接所述寄存器(I)的中間部分X2,用于對(duì)中間部分X2進(jìn)行重新編碼; 專用平方單元(6),輸入端連接所述寄存器(I)的中間部分X2,用于求取中間部分X2的平方值; 第二 Booth編碼器(7),輸入端連接所述專用平方單元(6)輸出端,用于對(duì)求出的平方值進(jìn)行重新編碼;第一部分積產(chǎn)行單元(8),分別連接第二查找表(3)和第一 Booth編碼器(5)的輸出端,用于產(chǎn)生C1X2的9個(gè)部分積; 第二部分積產(chǎn)生單元(9),分別連接第三查找表(4)和第二 Booth編碼器(7)的輸出端,用于產(chǎn)生C2X22的6個(gè)部分積; 第一級(jí)進(jìn)位保存加法器單元,分別連接第一查找表(2)、第一部分積產(chǎn)行單元(8)和第二部分積產(chǎn)生單元(9),用于產(chǎn)生第一級(jí)的CARRY和SUM項(xiàng); 第二級(jí)進(jìn)位保存加法器單元,連接第一級(jí)進(jìn)位保存加法器單元的輸出端,用于產(chǎn)生第二級(jí)的CARRY和SUM項(xiàng); 第三級(jí)進(jìn)位保存加法器(16),連接第二級(jí)進(jìn)位保存加法器單元用于產(chǎn)生第三級(jí)的CARRY 和 SUM 項(xiàng); 超前進(jìn)位加法器(17),連接第三級(jí)進(jìn)位保存加法器單元的輸出端,用于計(jì)算得到最終的種子值Rf ; 第二部分包括: 第一多路選擇器(18),分別連接外部控制信號(hào)sel、補(bǔ)碼器(24)的輸出和第二部分輸出的最終的種子值Rf,用于根據(jù)外部控制信號(hào)sel,選擇補(bǔ)碼器(24)的輸出信號(hào)和第二部分輸出的最終的種子值Rf兩個(gè)信號(hào)中的一個(gè); 第二多路選擇器(19),分 別連接外部控制信號(hào)sel、補(bǔ)碼器(24)的輸出和第二部分輸出的最終的種子值Rf,用于根據(jù)外部控制信號(hào)sel,選擇補(bǔ)碼器(24)的輸出信號(hào)和第二部分輸出的最終的種子值Rf兩個(gè)信號(hào)中的一個(gè); 第三多路選擇器(20),分別連接外部控制信號(hào)sel、53位尾數(shù)X的輸出信號(hào)以及第一乘法器(22)的輸出端,用于根據(jù)外部控制信號(hào)sel,選擇53位尾數(shù)X的輸出信號(hào)和第一乘法器(22)的輸出信號(hào)中的一個(gè); 第四多路選擇器(21),分別連接外部控制信號(hào)sel、被除數(shù)的尾數(shù)部分Y的輸出信號(hào)以及第二乘法器(23)的輸出端,用于根據(jù)外部控制信號(hào)sel,選擇被除數(shù)的尾數(shù)部分Y的輸出信號(hào)和第二乘法器(23)的輸出信號(hào)中的一個(gè); 第一乘法器(22),分別連接第一多路選擇器(18)和第三多路選擇器(20)的輸出端,用于對(duì)該兩路輸出進(jìn)行相乘; 第二乘法器(23),分別連接第二多路選擇器(19)和第四多路選擇器(21)的輸出端,用于對(duì)該兩路輸出進(jìn)行相乘,同時(shí)輸出最終結(jié)果; 補(bǔ)碼器(24),連接第一乘法器(22)的輸出端,用于對(duì)第一乘法器(22)的輸出結(jié)果求補(bǔ)。
      5.根據(jù)權(quán)利要求4所述的除法器,其特征在于,對(duì)應(yīng)計(jì)算倒數(shù)函數(shù)1/X的公式X—1。WdC2X22,所述的第一查找表(2)內(nèi)存儲(chǔ)系數(shù)Ctl,第二查找表(3)內(nèi)存儲(chǔ)系數(shù)C1,第三查找表(4)內(nèi)存儲(chǔ)系數(shù)C2。
      6.根據(jù)權(quán)利要求4所述的除法器,其特征在于,所述的第一級(jí)進(jìn)位保存加法器單元包括有: 第一進(jìn)位保存加法器(10),分別連接第一查找表(2)的輸出端和第一部分積產(chǎn)行單元(8)的9個(gè)部分積中的3個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第一個(gè)CARRY和SUM項(xiàng); 第二進(jìn)位保存加法器(11),連接第一部分積產(chǎn)行單元(8)的9個(gè)部分積中的另4個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第二個(gè)CARRY和SUM項(xiàng); 第三進(jìn)位保存加法器(12),分別連接第一部分積產(chǎn)行單元(8)的9個(gè)部分積中的最后2個(gè)部分積的輸出端和第二部分積產(chǎn)生單元(9)的6個(gè)部分積中的2個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第三個(gè)CARRY和SUM項(xiàng); 第四進(jìn)位保存加法器(13),連接第二部分積產(chǎn)生單元(9)的6個(gè)部分積中的其余4個(gè)部分積的輸出端,用于產(chǎn)生第一級(jí)的第三個(gè)CARRY和SUM項(xiàng)。
      7.根據(jù)權(quán)利要求4所述的除法器,其特征在于,所述的第二級(jí)進(jìn)位保存加法器單元包括有: 第六進(jìn)位保存加法器(14),分別連接第一級(jí)進(jìn)位保存加法器單元中的第一進(jìn)位保存加法器(IO )和第二進(jìn)位保存加法器(11)的輸出端,用于產(chǎn)生第二級(jí)的第一個(gè)CARRY和SUM項(xiàng); 第七進(jìn)位保存加法器(15),分別連接第一級(jí)進(jìn)位保存加法器單元中的第三進(jìn)位保存加法器(12)和第四進(jìn)位保存加法器(13)的輸出端,用于產(chǎn)生第二級(jí)的第二個(gè)CARRY和SUM項(xiàng)。
      【文檔編號(hào)】G06F17/50GK103809930SQ201410036165
      【公開(kāi)日】2014年5月21日 申請(qǐng)日期:2014年1月24日 優(yōu)先權(quán)日:2014年1月24日
      【發(fā)明者】郭煒, 崔魯平, 李光赫, 魏繼增 申請(qǐng)人:天津大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1