请输入您要查询的百科知识:

 

词条 Kogge–Stone adder
释义

  1. {{anchor|SKA}}Enhancements

  2. Expansion

  3. References

  4. Further reading

The Kogge–Stone adder (KSA or KS) is a parallel prefix form carry look-ahead adder. Other parallel prefix adders (PPA) include the Brent–Kung adder (BKA),[1] the Han–Carlson adder (HCA),[2][3] and the fastest known variation, the Lynch–Swartzlander spanning tree adder (STA).[5]

The Kogge–Stone adder takes more area to implement than the Brent–Kung adder, but has a lower fan-out at each stage, which increases performance for typical CMOS process nodes. However, wiring congestion is often a problem for Kogge–Stone adders. The Lynch–Swartzlander design is smaller, has lower fan-out, and does not suffer from wiring congestion; however to be used the process node must support Manchester carry chain implementations. The general problem of optimizing parallel prefix adders is identical to the variable block size, multi level, carry-skip adder optimization problem, a solution of which is found in Thomas Lynch's thesis of 1996.[5]

An example of a 4-bit Kogge–Stone adder is shown in the diagram. Each vertical stage produces a "propagate" and a "generate" bit, as shown. The culminating generate bits (the carries) are produced in the last stage (vertically), and these bits are XOR'd with the initial propagate after the input (the red boxes) to produce the sum bits. E.g., the first (least-significant) sum bit is calculated by XORing the propagate in the farthest-right red box (a "1") with the carry-in (a "0"), producing a "1". The second bit is calculated by XORing the propagate in second box from the right (a "0") with C0 (a "0"), producing a "0".

The Kogge–Stone adder concept was developed by Peter M. Kogge and Harold S. Stone, who published it in a seminal 1973 paper titled A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations.[7]

{{anchor|SKA}}Enhancements

Enhancements to the original implementation include increasing the radix and sparsity of the adder. The radix of the adder refers to how many results from the previous level of computation are used to generate the next one. The original implementation uses radix-2, although it's possible to create radix-4 and higher. Doing so increases the power and delay of each stage, but reduces the number of required stages. In the so called sparse Kogge–Stone adder (SKA) the sparsity of the adder refers to how many carry bits are generated by the carry-tree. Generating every carry bit is called sparsity-1, whereas generating every other is sparsity-2 and every fourth is sparsity-4. The resulting carries are then used as the carry-in inputs for much shorter ripple carry adders or some other adder design, which generates the final sum bits. Increasing sparsity reduces the total needed computation and can reduce the amount of routing congestion.

Above is an example of a Kogge–Stone adder with sparsity-4. Elements eliminated by sparsity shown marked with transparency. As shown, power and area of the carry generation is improved significantly, and routing congestion is substantially reduced. Each generated carry feeds a multiplexer for a carry select adder or the carry-in of a ripple carry adder.

Expansion

This example is a carry look ahead -

In a 4 bit adder like the one shown in the introductory image of this article, there are 5 outputs. Below is the expansion:

 S0 = (A0 XOR B0) XOR Cin S1 = (A1 XOR B1) XOR ((A0 AND B0) OR (A0 XOR B0)  AND Cin) S2 = (A2 XOR B2) XOR (((A1 XOR B1) AND ((A0 AND B0) OR (A0 XOR B0) AND Cin)) OR (A1 AND B1)) S3 = (A3 XOR B3) XOR ((((A2 XOR B2) AND (A1 XOR B1)) AND ((A0 AND B0) OR (A0 XOR B0) AND Cin)) OR (((A2 XOR B2) AND (A1 AND B1)) OR (A2 AND B2))) S4 = (A3 AND B3) OR (A3 XOR B3) AND ((((A2 XOR B2) AND (A1 XOR B1)) AND ((A0 AND B0) OR (A0 XOR B0) AND Cin)) OR (((A2 XOR B2) AND (A1 AND B1)) OR (A2 AND B2)))

References

1. ^{{cite web |author-last=Lynch |author-first=Thomas Walker |url=http://repositories.lib.utexas.edu/handle/2152/13960 |title=Binary Adders |publisher=University of Texas |type=Thesis |date=May 1996 |access-date=2018-04-14 |dead-url=no |archive-url=https://web.archive.org/web/20180414171823/https://repositories.lib.utexas.edu/bitstream/handle/2152/13960/txu-oclc-35052840.pdf?sequence=2&isAllowed=y |archive-date=2018-04-14}}
2. ^{{cite journal |author-last1=Kogge |author-first1=Peter Michael |author-link=Peter Michael Kogge |author-last2=Stone |author-first2=Harold S. |title=A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations |journal=IEEE Transactions on Computers |date=August 1973 |volume=C-22 |issue=8 |pages=786-793 |doi=10.1109/TC.1973.5009159}}
3. ^{{cite journal |author-first1=Richard Peirce |author-last1=Brent |author-link1=Richard Peirce Brent |author-first2=Hsiang Te |author-last2=Kung |title=A Regular Layout for Parallel Adders |journal=IEEE Transactions on Computers |volume=C-31 |issue=3 |date=March 1982 |pages=260-264 |issn=0018-9340 |doi=10.1109/TC.1982.1675982 |url=http://www.dtic.mil/get-tr-doc/pdf?AD=ADA074455}}
4. ^{{cite journal |author-first1=Tackdon |author-last1=Han |author-first2=David A. |author-last2=Carlson |title=Fast area-efficient VLSI adders |journal=Proceedings 8th Symposium on Computer Arithmetic |pages=49-56 |publisher=IEEE |date=October 1987}}
5. ^{{cite journal |author-first1=Tackdon |author-last1=Han |author-first2=David A. |author-last2=Carlson |author-first3=Steven P. |author-last3=Levitan |title=VLSI design of high-speed, low-area addition circuitry |journal=Proceedings 1981 IEEE International Conference on Computer Design: VLSI in Computers & Processors |pages=418-422 |publisher=IEEE |date=October 1982 |url=https://yonsei.pure.elsevier.com/en/publications/vlsi-design-of-high-speed-low-area-addition-circuitry |isbn=0-81860802-1}}
[1][2][3][4][5]
}}

Further reading

  • {{cite book |chapter=Energy-Delay Characteristics of CMOS Adders |title=High-Performance Energy-Efficient Microprocessor Design |date=2006 |editor-last1=Oklobdzija |editor-first1=Vojin G. |editor-first2=Ram K. |editor-last2=Krishnamurth |author-last=Zeydel |author-first=Bart R. |pages=147-169 |series=Series on Integrated Circuits and Systems |publisher=Springer |location=Dordrecht, Netherlands |isbn=0-387-28594-6 |id={{ISBN|978-0-387-28594-8}} |doi=10.1007/978-0-387-34047-0_6 |url=https://books.google.com/books?id=LmfHof1p3qUC&dq=9780387285948}}
{{DEFAULTSORT:Kogge-Stone adder}}

1 : Adders (electronics)

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/13 19:16:46