全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

High-Speed FPGA 10's Complement Adders-Subtractors

DOI: 10.1155/2010/219764

Full-Text   Cite this paper   Add to My Lib

Abstract:

This paper first presents a study on the classical BCD adders from which a carry-chain type adder is redesigned to fit within the Xilinx FPGA's platforms. Some new concepts are presented to compute the P and G functions for carry-chain optimization purposes. Several alternative designs are presented. Then, attention is given to FPGA implementations of add/subtract algorithms for 10's complement BCD numbers. Carry-chain type circuits have been designed on 4-input LUTs (Virtex-4, Spartan-3) and 6-input LUTs (Virtex-5) Xilinx FPGA platforms. All designs are presented with the corresponding time performance and area consumption figures. Results have been compared to straight implementations of a decimal ripple-carry adder and an FPGA 2's complement binary adder-subtractor using the dedicated carry logic, both carried out on the same platform. Better time delays have been registered for decimal numbers within the same range of operands. 1. Introduction In a number of computer arithmetic applications, decimal systems are preferred to the binary ones. The reasons come not only from the complexity of coding/decoding interfaces but mostly from the lack of precision and clarity in the results of the binary systems. Decimal arithmetic plays a key role in data processing environments such as commercial, financial, and Internet-based applications [1–3]. Performances required by applications with intensive decimal arithmetic are not met by most of the conventional software-based decimal arithmetic libraries [1]. Hardware implementation embedded in recently commercialized general purpose processors [3, 4] is gaining importance. Furthermore, IEEE has recently published a new standard 754-2008 [5] that supports the floating point representation for decimal numbers. At the moment, Binary Coded Decimal (BCD) is used for decimal arithmetic algorithm implementations. Although other coding systems may be of interest, BCD seems to be the best choice until now. Issues of hardware realization of decimal arithmetic units appear to be widely open: potential improvements are expected in what refers to algorithm concepts as well as to hardware design. This paper resumes some new concepts about carry-chain type algorithms for adding BCD numbers. Two key ideas have been introduced: (i) the Propagate and generate functions are computed from the input data instead of intermediate BCD sums, and (ii) the functions have been implemented in Xilinx Virtex-4 [6] and Virtex-5 FPGA platforms [7], taking advantage of the 6-input LUTs structure of Virtex-5 version. Signed numbers addition is

References

[1]  M. F. Cowlishaw, “Decimal floating-point: algorism for computers,” in Proceedings of the 16th IEEE Symposium on Computer Arithmetic, pp. 104–111, June 2003.
[2]  G. Jaberipur and A. Kaivani, “Binary-coded decimal digit multipliers,” IET Computers and Digital Techniques, vol. 1, no. 4, pp. 377–381, 2007.
[3]  M. Cowlishaw, “General Decimal Arithmetic,” http://speleotrove.com/decimal/.
[4]  F. Y. Busaba, C. A. Krygowski, W. H. Li, E. M. Schwarz, and S. R. Carlough, “The IBM Z900 decimal arithmetic unit,” in Proceedings of the Asilomar Conference on Signals, Systems and Computers, vol. 2, pp. 1335–1339, November 2001.
[5]  IEEE Standard for Floating-Point Arithmetic (IEEE 754), IEEE, 2008.
[6]  Xilinx Inc., “Virtex-4 User Guide,” April 2007, http://www.xilinx.com/.
[7]  Xilinx Inc., “Virtex-5 User Guide,” 2008, http://www.xilinx.com/.
[8]  J.-P. Deschamps, G. Bioul, and G. Sutter, Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems, John Wiley & Sons, New York, NY, USA, 2006.
[9]  B. Parhami, Computer Aritmethic: Algorithms and Hardware Designs, Oxford University Press, Oxford, UK, 2000.
[10]  Xilinx Inc., Xilinx, http://www.xilinx.com/.
[11]  “Decimal Arithmetic in FPGA,” http://arithmetic-circuits.org/decimal/.
[12]  Xilinx Inc., Constraints Guide—ISE9.2i, chapter 2, Relative Location (RLOC), 2008.
[13]  Xilinx Inc., “XST User Guide-10.1i,” 2008, http://www.xilinx.com/.
[14]  Xilinx Inc., “ISE 10.1 Documentation,” 2008, http://www.xilinx.com/.

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133