摘 要: 為了加快陣列乘法器的運算速度,降低延遲,提出了一種基于4選1多路選擇器的乘法器設(shè)計方案。這種方案在每一步運算中同時處理兩位操作數(shù),使產(chǎn)生的部分積數(shù)量減少了一半,顯著提高了乘法器的運算速度。FSATA乘法器采用VHDL語言進行編碼,在Quartus上進行的仿真表明,相比于采用時序電路完成的設(shè)計,F(xiàn)SATA乘法器有更優(yōu)的性能。
關(guān)鍵詞: 陣列乘法器;FSATA乘法器;多路選擇器;VHDL;Quartus
乘法器的設(shè)計與實現(xiàn)是計算機體系結(jié)構(gòu)技術(shù)發(fā)展過程中重要的研究課題之一。在絕大部分的數(shù)字信號處理算法中,乘法操作都占有非常大的比例。隨著計算機技術(shù)以及計算密集型應(yīng)用的快速發(fā)展,快速的數(shù)字乘法器的重要性越來越突出。
陣列乘法器由許多重復(fù)的結(jié)構(gòu)單元構(gòu)成陣列,特別適合于使用VLSI實現(xiàn),是乘法器設(shè)計中廣泛采用的方法。針對如何提升陣列乘法器的運算性能,國內(nèi)外的研究人員提出了很多優(yōu)秀的設(shè)計方案。本文綜合考慮這些方案的優(yōu)缺點,設(shè)計了一種基于4選1多路選擇器的陣列乘法器設(shè)計方案,一次并行處理多位操作數(shù),使部分積產(chǎn)生的數(shù)量大大減少,加快了處理速度。
有限狀態(tài)機FSA(Finite State Automaton)是數(shù)字邏輯電路和數(shù)字系統(tǒng)的重要組成部分,能夠準確實現(xiàn)數(shù)字系統(tǒng)核心部件的設(shè)計,實現(xiàn)高效率高可靠性的邏輯控制。FSA的設(shè)計方案結(jié)構(gòu)模式簡單、工作穩(wěn)定可靠,并且使用VHDL描述時層次分明,易讀易懂。
由于基于FSA技術(shù)設(shè)計的控制器擁有極快的工作速度以及高可靠性等諸多優(yōu)點,本文利用FSA的設(shè)計優(yōu)勢,完成了FSATA乘法器的設(shè)計。通過仿真并與常用設(shè)計方案進行對比分析,驗證了FSATA乘法器有良好的性能。
1 相關(guān)工作
向淑蘭[1]等人提出了應(yīng)用于數(shù)字信號處理器中的一種陣列乘法器的改進方法,通過調(diào)整部分積的分布位置,減少了垂直方向上部分積相加的延遲時間。其不足在于沒有比較功耗這一個在乘法器設(shè)計中的重要參數(shù),而且隨著乘數(shù)位數(shù)的增長,其速度優(yōu)勢逐漸減小。
胡正偉[2]等人提出一種多功能陣列乘法器的設(shè)計方法,能同時計算多種精度的乘法運算,實現(xiàn)了不同數(shù)制的乘法運算能共享硬件資源,大大提高了乘法器的性能。其不足之處在于其采用的超前進位加法器和流水線技術(shù)占用了大量的邏輯器件。
Dimitris Bekiaris[3]等人通過對操作數(shù)進行了截斷處理,提出了基于多路選擇器的陣列乘法器——Truncation Multiplier(TAM乘法器)的設(shè)計方案,有效規(guī)范了乘法器的設(shè)計結(jié)構(gòu),提高了乘法運算速度。但是選用的4選1多路選擇器還有待進一步優(yōu)化,從而減少使用的邏輯器件數(shù)量。
其他對陣列乘法器的改進,從不同方面對陣列乘法器進行了改善,取得了很好的效果,但是仍有進一步改進的余地?;谌A萊士樹的陣列乘法器通過壓縮部分積[4-6],提高了運算速度,但是設(shè)計方案產(chǎn)生了不規(guī)則的電路連接布局。
本文對TAM乘法器設(shè)計的實現(xiàn)方法進行了改進,引入了有限狀態(tài)機,從單純的軟件設(shè)計的角度,提出了基于有限狀態(tài)機的陣列乘法器FSATA(Finite State Automaton Truncation)。
在VHDL原碼中可以不對狀態(tài)機進行編碼,在綜合過程中綜合器可以提供狀態(tài)編碼。狀態(tài)機編碼主要有以下5種編碼方式:①Johnson編碼:使用較少的觸發(fā)器,較多的組合邏輯。②Gray編碼:相鄰兩個狀態(tài)的編碼只有一位不同,減少了產(chǎn)生瞬變的次數(shù)。③One-hot編碼:使用較多的觸發(fā)器,較少的組合邏輯,雖然占用的資源較多,但其簡單的編碼方式簡化了狀態(tài)譯碼邏輯,提高了狀態(tài)轉(zhuǎn)換速度。④Sequential編碼。⑤Minimal bits編碼。
鑒于One-hot編碼能加快狀態(tài)轉(zhuǎn)換速度,該乘法器設(shè)計采用此編碼。
(4)一般FSA的VHDL描述包含4個部分:
?、僬f明部分:定義用到的參數(shù)的數(shù)據(jù)類型;
?、谥骺貢r序邏輯部分:負責狀態(tài)機運轉(zhuǎn),在時鐘信號驅(qū)動下完成狀態(tài)之間的轉(zhuǎn)換;
③主控組合邏輯部分:根據(jù)狀態(tài)機外部輸入的狀態(tài)控制信號和當前狀態(tài)確定下一狀態(tài)的取值以及對外部或內(nèi)部其他進程輸出控制信號的取值;
④輔助邏輯部分:配合狀態(tài)機的主控組合邏輯和主控時序邏輯進行工作,完善和提高系統(tǒng)性能。
根據(jù)提出的設(shè)計,共有7個進程同時并行執(zhí)行,圖4所示為其中一個進程的運行情況。初始狀態(tài)S0,根據(jù)xiyi(i從1~n-1)的不同,分別到達狀態(tài)S1~S7,每一個狀態(tài)對應(yīng)一個輸出,7個進程并行結(jié)束之后,順序完成各個數(shù)據(jù)的求和進程。
FSATA乘法器采用VHDL進行編碼,由兩個算法完成:狀態(tài)轉(zhuǎn)換算法和控制信號輸出算法。狀態(tài)轉(zhuǎn)換算法負責不同狀態(tài)之間的跳轉(zhuǎn),算法描述如算法1。
4 仿真實驗
4.1 實驗主要評測指標
電路測試中常用的技術(shù)指標有:
?。?)邏輯器件數(shù)量:一個完整的電路設(shè)計所消耗的FPGA/CPLD或者專用集成芯片上的邏輯資源數(shù)量,也即所消耗的空間資源,有時也用芯片面積作為衡量指標。
?。?)運算延遲時間:完整的進行一次運算所需要的時間,即所占用的時間資源,一般以納秒為單位。
(3)功耗:隨著集成電路技術(shù)的快速發(fā)展,功耗問題日益突顯,成為電路設(shè)計中一個重要評估參數(shù)。CMOS是集成電路設(shè)計中被廣泛采用的技術(shù),在CMOS電路中功耗分為靜態(tài)功耗和動態(tài)功耗,公式如下[7]:
從表中可見相比于采用硬件電路設(shè)計的TAM乘法器,基于FSA的乘法器在各個乘法器的性能參數(shù)上都有明顯的優(yōu)勢。
本文主要的創(chuàng)新點在于引入4選1多路選擇器并一次并行處理兩位操作數(shù)使產(chǎn)生的部分積數(shù)量大幅減少,同時使用有限狀態(tài)機對這種設(shè)計進行了實現(xiàn),通過有限狀態(tài)機的快速狀態(tài)轉(zhuǎn)換與狀態(tài)合并,加快了運算速度并減少了邏輯部件的使用數(shù)量,使功耗也有所降低。
進一步的工作主要是針對更高位數(shù)據(jù)的乘法運算改進乘法器設(shè)計,隨著運算位數(shù)的增加,狀態(tài)變量也隨之增加,若想進一步提高運算速度,需要考慮更多位數(shù)的并行處理以及有限狀態(tài)機的狀態(tài)優(yōu)化等問題。
參考文獻
[1] 向淑蘭,曹良帥.數(shù)字信號處理器中陣列乘法器的研究與實現(xiàn)[J].微電子學與計算機,2005,22(10):133-136.
[2] 胡正偉,仲順安.一種多動能陣列乘法器的設(shè)計方法[D].計算機工程,2007,22(33):23-25.
[3] BEKIARIS D, PEKMESTZI K, PAPACHRISTOU C. A high-speed radix-4 multiplexer-based array multiplier[C]. 2008 Proceedings of the 18th ACM Great Lakes symposium on VLSI. 2008.
[4] WALLACE C. A suggestion for a fast multiplier[J]. IEEE Transactions on Elect. Computers, 1964(13):114-117.
[5] ITOH N. A 600-MHz 54x54-bit multiplier with rectangular-styled wallace tree[J]. IEEE Journal of Solid-State Circuits, 2001,36(2).
[6] Ki-seon Cho. 54x54-bit radix-4 multiplier based on modified-booth algorithm[C]. Proceedings of GLVLSI’ 03, Washington, USA. April 28-29, 2003.
[7] HENNESSY J L, PATTERSON D A. Computer architecture: a quantitative approach[M].4th ed.北京:機械工業(yè)出版社,2007.