王書敏,崔曉平
(南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京 211100)
基于并行前綴結(jié)構(gòu)的十進(jìn)制加法器設(shè)計
王書敏,崔曉平
(南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京 211100)
摘要針對硬件實現(xiàn)BCD碼十進(jìn)制加法需要處理無效碼的問題,設(shè)計了一種基于并行前綴結(jié)構(gòu)的十進(jìn)制加法器。該十進(jìn)制加法器依據(jù)預(yù)先加6,配合二進(jìn)制加法求中間和,然后再減6修正的算法,并將減6修正步驟整合到重新設(shè)計的減6修正進(jìn)位選擇加法器中,充分利用并行前綴結(jié)構(gòu)大幅提高了電路運算的并行度。采用Verilog HDL對加法器進(jìn)行實現(xiàn)并利用Design Compiler進(jìn)行綜合,得到設(shè)計的32位,64位,128位的十進(jìn)制加法器的延時分別為0.56 ns,0.61 ns,0.71 ns,面積分別為1 310 μm2,2 681 μm2,5 485 μm2。
關(guān)鍵詞十進(jìn)制加法;并行前綴結(jié)構(gòu);減6修正進(jìn)位選擇加法器
自從馮·諾依曼體系結(jié)構(gòu)出現(xiàn)之后,二進(jìn)制一直在計算機(jī)算術(shù)中占據(jù)主導(dǎo)地位,處理器設(shè)計人員也一直傾向于采用二進(jìn)制設(shè)計計算機(jī)運算電路。但是隨著金融以及商業(yè)計算等領(lǐng)域的發(fā)展,提供硬件以支持十進(jìn)制運算變得越來越迫切。這是以下幾點原因造成的:首先,大多數(shù)十進(jìn)制小數(shù),比如0.2,無法在二進(jìn)制格式下完全精確表示。其次,商業(yè)數(shù)據(jù)庫中所存儲的十進(jìn)制數(shù)據(jù)多于二進(jìn)制數(shù)據(jù),因此采用二進(jìn)制電路運算時需要在十進(jìn)制與二進(jìn)制之間進(jìn)行轉(zhuǎn)換,這些進(jìn)制轉(zhuǎn)換工作需要花費時間[1]。另外,當(dāng)前的金融計算采用軟件模擬十進(jìn)制運算來處理數(shù)據(jù)以獲得精確的結(jié)果,但是軟件模擬十進(jìn)制運算要比硬件進(jìn)行二進(jìn)制運算至少慢100倍以上[2],兩者之間性能有較大差距。……