20×18位符號定點乘法器的FPGA實現
2 32位浮點乘法器的實現與仿真測試
該模塊仿真實現用Mentor Graphics公司的Model-Sim SE 6.0d仿真軟件,圖5列出本設計的:FPGA仿真結果。圖5中in1是被乘數20 b。in2是乘數18 b。reset是復位清零信號,低電平有效。booth_multiplier_out是用Booth編碼乘法器算出來的結果38 b。derect_multiplier_out是直接用乘號“×”得到的結果,也是18 b。兩者結果一致。round_out是舍入后的結果,20 b。eq是測試時加的一個1 b信號,如果booth_multiplier_out和derect_multiplier_out相等為1,否則為0。
由于在測試時,將輸入和輸出都用寄存器鎖存了一個時種clk,最后輸出結果延了2個時種clk,在圖5中,第一個時種clk,輸入乘數和被乘數分別為126 999,68 850;輸出結果為第3個時種clk的8 743 881 150。因為126 999×68 850=8 743 881 150,故結果正確。在測試時,因實際數據量比較大,in1從-219~219-1,ModelSim SE 6.0d仿真軟件需要運行大概1 min,若in1從-219~219-1,in2從-217~217-1大概需要時間T=218min=4 369 h=182 day,因此在PC機上不能全測,故在寫testbench時,用random函數產生隨機數測試,該乘法器用ModelSim仿真軟件運行12 h,eq信號始終為1,即乘法器算出的結果與直接乘的結果一致,認為該方法完全可行。本文引用地址:http://www.104case.com/article/192021.htm
3 性能比較與創新
該模塊用Synplify Pro8.1綜合,用XilinxISE 7.1i實現布局布線。在Xilinx ISE中ImplementDesign下Map報告系統占用資源如表2所示。
而靜態時序分析報告顯示速度和延時分別為62.805 MHz,15.922 ns。
該設計采用高壓縮率的4―2壓縮算法,壓縮率為50%,而一般的3-2壓縮壓縮率為33%,并且采用先進的集成電路制造工藝,使用SMIC公司O.18μm的標準單元庫,因此在提高了速度的同時,能減少器件,該乘法器能在1個時鐘內完成,不像采用流水線結構,雖然可以提高速度到105.38 MHz,但需3個時鐘,需要大量鎖存器,從而在增加器件的同時增加功耗,而且完成一次乘法運算時間要24.30 ns。因國內集成電路制造起步晚,目前中國80%的集成電路設計公司還在采用0.35/μm及以下工藝,國內同類乘法器,采用上華0.5 μm的標準單元庫,完成1次乘法運算時間接近30 ns,邏輯單元是1 914個。但該設計完成1次乘法運算時間僅15.922 ns,器件只有494個Slices,性能明顯提高。
4 結 語
給出了20×18位符號定點乘法器的設計,整個設計采用了Verilog HDL語言進行結構描述,采用的器件是xc2vp70-6ff1517。該設計采用基4 Booth編碼,4-2壓縮,以及采用SMIC0.18μm標準單元庫,使得該乘法器面積降低的同時,延時也得到了減小,做到芯片性能和設計復雜度之間的良好折中,該設計應用于中國地面數字電視廣播(DTMB)ASIC中3 780點FFT單元的20×18位符號定點乘法器,在60 MHz時工作良好,達到了預定的性能要求,具有一定的實用價值。
評論