參數(shù)化可配置IP核浮點(diǎn)運(yùn)算器的設(shè)計與實(shí)現(xiàn)
(2)根據(jù)IEEE-754標(biāo)準(zhǔn)的浮點(diǎn)乘法的基本原理,對于兩個浮點(diǎn)數(shù)的乘法,可將其分解為7個步驟[7]:符號運(yùn)算、指數(shù)運(yùn)算、尾數(shù)移位、尾數(shù)運(yùn)算、規(guī)格化、指數(shù)調(diào)整、舍入。根據(jù)這7個步驟,對浮點(diǎn)加/減法進(jìn)行運(yùn)算的細(xì)化, 在細(xì)化流程的基礎(chǔ)上,根據(jù)IEEE-754標(biāo)準(zhǔn)的浮點(diǎn)格式的限制及異常處理,劃分浮點(diǎn)數(shù)乘法運(yùn)算電路的功能模塊。圖6是浮點(diǎn)乘法器的功能模塊設(shè)計。
3 綜合與仿真
3.1綜合
綜合是使用指定的元件,通過綜合工具將一個設(shè)計從硬件描述(VHDL)轉(zhuǎn)變?yōu)橐粋€電路的過程,是VHDL在數(shù)字設(shè)計中不可缺少的一步[8]。而綜合工具可大大縮短數(shù)字系統(tǒng)的設(shè)計周期,設(shè)計人員只需在高層對系統(tǒng)進(jìn)行綜合,可大大提高設(shè)計效率,縮減系統(tǒng)開發(fā)時間。
依據(jù)在參數(shù)化浮點(diǎn)加法器和浮點(diǎn)乘法器的參數(shù)配置,設(shè)定參數(shù)wE=8,wM=23,分別采用RCA和BCLA配置,使用Xilinx ISE 10.1 在VirtexE XCV400E上分別綜合一個單精度浮點(diǎn)加法器,綜合結(jié)果如表2所示。
設(shè)定參數(shù)wE=8,wM=23,分別采用默認(rèn)的方式和Booth配置綜合一個單精度浮點(diǎn)乘法器綜合結(jié)果如表3所示。
3.2 仿真
仿真驗(yàn)證是保證一個項(xiàng)目設(shè)計成功的重要方法。IP核的設(shè)計過程中,利用可編程邏輯器件進(jìn)行電路驗(yàn)證,對保證設(shè)計的正確性和投片成功十分重要。
依據(jù)仿真的基本方法,依照自底向上的仿真流程,在ModelSimPE環(huán)境下,對各模塊進(jìn)行仿真驗(yàn)證。圖7~圖9給出了仿真驗(yàn)證的實(shí)例。其中,RCA模塊采用wM參數(shù)賦值8 bit,綜合成一個8 bit行波進(jìn)位加法器,進(jìn)行獨(dú)立的仿真驗(yàn)證;Booth模塊采用wM參數(shù)賦值8,綜合成一個8×8位乘法器,進(jìn)行獨(dú)立的仿真驗(yàn)證。
本文對參數(shù)化IP核、浮點(diǎn)運(yùn)算器設(shè)計的相關(guān)技術(shù)以及參數(shù)化在浮點(diǎn)運(yùn)算器設(shè)計中的應(yīng)用,作了比較深入的研究。給出了參數(shù)化IP核的設(shè)計方案和設(shè)計流程。依照IEEE-754標(biāo)準(zhǔn),分析了浮點(diǎn)加/減法、乘法的基本原理,并細(xì)化設(shè)計了適合參數(shù)化的浮點(diǎn)運(yùn)算器流程;最后在Xilinx ISE 10.1和Modelsim 6.6a平臺上進(jìn)行了綜合與仿真。
參考文獻(xiàn)
[1] Liu Zhusong. A novel fourth-order chaotic circuit and its implementation[C]. 9th International Conference for Young Computer Scientists, 2008:3045-3050.
[2] 周武杰,禹思敏. 基于現(xiàn)場可編程門陣列技術(shù)的混沌數(shù)字通信系統(tǒng)——設(shè)計與實(shí)現(xiàn)[J]. 物理學(xué)報, 2009,58(1).
[3] Zhao Junchao, Chen Weiliang, WEI Shao Jun. Parameterized IP core design[C]. Proceedings:4th International Conference on, 2001:744-747.
[4] 徐晨,袁紅林.基于VerilogHDL的IP核參數(shù)化設(shè)計[J]. 微電子學(xué)與計算機(jī),2005,12(1): 85-88.
[5] 陳弦, 張偉功, 于倫正.并行浮點(diǎn)加法器架構(gòu)與核心算法的研究[J].計算機(jī)工程與應(yīng)用, 2006,17(1):53-55,75.
[6] Chen Pinghua, Zhao Juan. High-speed parallel 32×32-b multiplier using a radix-16 booth encoder[C]. Third International Symposium on Intelligent Information Technology Application Workshops, 2009: 406-409.
[7] 周德金, 孫鋒, 于宗光. 一種32位高速浮點(diǎn)乘法器設(shè)計[J]. 電子與封裝, 2008, 65(1): 35-38.
[8] 江思敏. VHDL數(shù)字電路及系統(tǒng)設(shè)計[M]. 北京:機(jī)械工業(yè)出版社, 2006.
評論