EE2411UC Berkeley EE241 B. NikolicEE241 - Spring 2000Advanced Digital Integrated CircuitsLecture 16AddersUC Berkeley EE241 B. NikolicCarry-Skip AdderFA FA FA FAP0G1P0G1P2G2P3G3Co,3Co,2Co,1Co,0Ci,0FA FA FA FAP0 G1 P0 G1 P2 G2 P3 G3Co,2Co,1Co,0Ci,0Co,3MultiplexerBP=Po P1P2P3Idea: If (P0 and P1 and P2 and P3 = 1)then Co3 = C0, else “kill” or “generate”.BypassMacSorley, Proc IRE 1/61Lehman, Burla, IRE Trans on Comp, 12/61EE2412UC Berkeley EE241 B. NikolicCarry-Skip AdderSetupCarryPropagationSumSetupCarryPropagationSumSetupCarryPropagationSumSetupCarryPropagationSumBit 0-3Bit 4-7Bit 8-11Bit 12-15Ci,0Critical Path( ) ( )RCASKIPRCAdtktkNtkt 121 −+−+−=For N-bit adder with k-bit groupsUC Berkeley EE241 B. NikolicCarry-Skip Adder( )SKIPRCAdtkNtkt−+−= 212Critical path delay with constant groupsNtpripple adderbypass adder4..8EE2413UC Berkeley EE241 B. NikolicCarry-Skip AdderVariable Group LengthOklobdzija, Barnes, Arith’85321cNcctd++=UC Berkeley EE241 B. NikolicCarry-Skip AdderVariable Block LengthsEE2414UC Berkeley EE241 B. NikolicManchester Carry ChainP0Ci,0P1G0P2G1P3G2P4G3G4φφVDDKilburn, et al, IEE Proc, 1959.•Implement P with pass-transistors•Implement G with pull-up, kill (delete) with pull-down•Use dynamic logic to reduce the complexity and speed upUC Berkeley EE241 B. NikolicSizing Manchester Carry ChainR1C1R2C2R3C3R4C4R5C5R6C6OutM0M1M2M3M4MCDischarge Transistor1 2 3 4 5 6tp0.69CiRjj1=i∑i1=N∑=1 1.5 2.0 2.5 3.0k510152025Speed1 1.5 2.0 2.5 3.0k0100200300400AreaSpeed (normalized by 0.69RC)Area (in minimum size devices)EE2415UC Berkeley EE241 B. NikolicManchester Chain with Carry-SkipP0Ci,0P1G0P2G1P3G2BPG3BPCo,3Delay model:UC Berkeley EE241 B. NikolicPTL with SA-F/F ImplementationMatsui,JSSC 12/94EE2416UC Berkeley EE241 B. NikolicPropagate and Generate SignalsDefine 3 new variable which ONLY depend on A, BGenerate (G) = ABPropagate (P) = A ⊕ BDelete = A BCan also derive expressions for S and Co based on D and PUC Berkeley EE241 B. NikolicA0,B0A1,B1AN-1,BN-1...Ci,0P0Ci,1 P1Ci,N-1 PN-1...Carry Lookahead AdderWeinberger, Smith, 1958.EE2417UC Berkeley EE241 B. NikolicLookahead Adder1−+=iiiicpgcLooakahead Equations( )1111111111−+++−+++++++=++=+=iiiiiiiiiiiiiiicppgpgcpgpgcpgcPosition i:Position i + 1:Carry exists if:- generated in stage i + 1- generated in stage i and propagated through i + 1- propagated through both i and i + 1UC Berkeley EE241 B. NikolicLookahead Adder• Unrolling of carry recurrence can be continued• If unrolled to level k, resulting in two-level AND-OR structure• AND Fan-In = k + 1, OR Fan-In = k + 1• k + 1 transistors in the MOS stack• Limits k to 3 -4EE2418UC Berkeley EE241 B. NikolicLookahead AdderVDDP3P2P1P0G3G2G1G0Ci,0Co,3UC Berkeley EE241 B. NikolicBlock Lookahead11231231232334−+++++++++++++++++=iiiiiiiiiiiiiiiicppppgpppgppgpgcFourth bit carry:iiiiiiiiiiiigpppgppgpgG1231232333, +++++++++++++=iiiiiippppP1233, ++++=13,3,4 −++++=iiiiiicPGcBlock generate and block propagate:EE2419UC Berkeley EE241 B. NikolicBlock LookaheadCan create groups of groups, or ‘super-groups’:jjjjjjjjjjjGPPPGPPGPGG123123233*++++++++++++=jjjjjpPPPP123*+++=Delay is Nctdlog1=UC Berkeley EE241 B. NikolicBlock LookaheadFrom OklobdzijaEE24110UC Berkeley EE241 B. NikolicLookahead ExampleMultiple Output Domino (MODL)GeneratePropagateUC Berkeley EE241 B. Nikolic4-bit group generate 4-bit group propagateLookahead ExampleEE24111UC Berkeley EE241 B. Nikolic64-b Lookahead ExampleUC Berkeley EE241 B. NikolicLookahead ExampleEE24112UC Berkeley EE241 B. NikolicModified CLANaini, CICC’92UC Berkeley EE241 B. NikolicModified CLAEE24113UC Berkeley EE241 B. NikolicConditional Sum AddersSklansky,Trans on Comp6/60iiiyxs ⊕=0iiiyxs ⊕=1iiiyxc ⋅=0iiiyxc +=1UC Berkeley EE241 B. NikolicConditional Sum AddersEE24114UC Berkeley EE241 B. NikolicTG Conditional SumConditional CellConditional Sum Adder2-way MUXesRothermel, JSSC 89UC Berkeley EE241 B. NikolicTG Conditional Suml Serial connection of transmission gates l Chain length = 1+log2nSignal propagationEE24115UC Berkeley EE241 B. NikolicDPL Conditional SumCLA“Conditional carry select”UC Berkeley EE241 B. NikolicDPL Conditional SumBlock Conditional SumsEE24116UC Berkeley EE241 B. NikolicCarry-Select AdderSetup"0" Carry Propagation"1" Carry PropagationMultiplexerSum GenerationCo,k-1 Co,k+3"0""1"P,GCarry VectorUC Berkeley EE241 B. NikolicCarry Select Adder: Critical PathSetup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Bit 0-3Bit 4-7Bit 8-11Bit 12-15S0-3S4-7S8-11S12-15Co,15Co,11Co,7Co,3Ci,0EE24117UC Berkeley EE241 B. NikolicLinear Carry SelectSetup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15S0-3S4-7S8-11S12-15Ci,0(1)(1)(5)(6) (7) (8)(9)(10)(5) (5) (5)(5)UC Berkeley EE241 B. NikolicSquare Root Carry SelectSetup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Setup"0" Carry "1" Carry MultiplexerSum Generation"0""1"Bit 0-1Bit 2-4Bit 5-8Bit 9-13S0-1S2-4S5-8S9-13Ci,0(4) (5) (6) (7)(1)(1)(3) (4) (5) (6)MuxSumS14-19(7)(8)Bit 14-19(9)(3)EE24118UC Berkeley EE241 B. NikolicLogarithmic Lookahead AddersA7FA6A5A4A3A2A1A0A0A1A2A3A4A5A6A7Ftp∼ log2(N)tp∼ NUC Berkeley EE241 B. NikolicTree AdderslmGppP ⋅=lmmGgpgG ⋅+=m – more significantl – less significant Start from the input P, G, and continue up the tree2-bit groups, then 4-bit groups, …()()()lmlmmllmmppgpgpgpgpg ⋅⋅+=•= ,,,),(Kogge, Stone, Trans on Comp,’73EE24119UC Berkeley EE241 B. NikolicBrent-Kung Adder(G0,P0)(G1,P1)(G2,P2)(G3,P3)(G4,P4)(G5,P5)(G6,P6)(G7,P7)Co,0Co,1Co,2Co,3Co,4Co,5Co,6Co,7tadd ∼ log2(N)Brent, Kung, Trans on Comp, 3/82UC Berkeley EE241 B. NikolicTree
View Full Document