Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ RNS in General π=πβ1 π = *π πβ1 , β¦ , π 1 , π 0 }, πΈπ = π π π=0 πππ , π = ( π π πβ1 , β¦ , π π 1 , π π 0 ) πΊ = *π π β π, π π , π π + π+ β’ e.g. β’ RNS Architecture β’ RNS Advantage π O log( π ) ο Addition & Multiplication β’ RNS Disadvantage ο Comparison & Division β’ RNS In Application ο Digital Signal Processing 4 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ RNS in General π=πβ1 π = *π πβ1 , β¦ , π 1 , π 0 }, πΈπ = π π π=0 πππ , π = ( π π πβ1 , β¦ , π π 1 , π π 0 ) πΊ = *π π β π, π π , π π + π+ β’ e.g. β’ RNS Architecture β’ RNS Advantage π O log( π ) ο Addition & Multiplication β’ RNS Disadvantage ο Comparison & Division β’ RNS In Application ο Digital Signal Processing ο Fault Tolerant System 4 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ RNS in General π=πβ1 π = *π πβ1 , β¦ , π 1 , π 0 }, πΈπ = π π π=0 πππ , π = ( π π πβ1 , β¦ , π π 1 , π π 0 ) β’ e.g. πΊ = *π π β π, π π , π π + π+ β’ RNS Architecture β’ RNS Advantage π ο Addition & Multiplication O log( π ) β’ RNS Disadvantage ο Comparison & Division β’ RNS In Application ο Digital Signal Processing ο Fault Tolerant System ο Cryptography 4 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 1 5 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 1 Conventional if π + π < 2 π β 1 π + π 2 π β1 = π + π, if π + π β₯ 2 π β 1 π + π + 1 2 π , 5 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 1 Conventional if π + π < 2 π β 1 π + π 2 π β1 = π + π, if π + π β₯ 2 π β 1 π + π + 1 2 π , RCA X Y C A Adder A ο« X Y 1 2 n C Adder B B ο« ο« X Y 1 n n 2 2 1 0 Mux ο« X Y ο n 2 1 5 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 1 EM Encoding Conventional if π + π < 2 π β 1 if π + π < 2 π π + π 2 π β1 = π + π, π + π 2 π β1 = π + π, if π + π β₯ 2 π β 1 if π + π β₯ 2 π π + π + 1 2 π , π + π + 1 2 π , RCA X Y C A Adder A ο« X Y 1 2 n C Adder B B ο« ο« X Y 1 n n 2 2 1 0 Mux ο« X Y ο n 2 1 5 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 1 EM Encoding Conventional if π + π < 2 π β 1 if π + π < 2 π π + π 2 π β1 = π + π, π + π 2 π β1 = π + π, if π + π β₯ 2 π β 1 if π + π β₯ 2 π π + π + 1 2 π , π + π + 1 2 π , RCA RCA X Y X Y C A Adder A ο« Adder X Y 1 2 n C out C Adder B B ο« X Y ο n ο« ο« 2 1 X Y 1 n n 2 2 1 0 Mux ο« X Y ο n 2 1 5 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x y p g h ο ο x y xy x y G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x ο¨ ο© y G P , p g h ο¨ ο© ο ο G P , x y xy x y G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x ο¨ ο© y ο¨ ο© ο¨ ο© G P , , G , P G P r r p g h ο¨ ο© ο ο G P , x y xy x y ο ( G P G ) r G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x ο¨ ο© y ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© G P , , G , P G , P G , P G P r r r r p g h ο¨ ο© ο ο G P , x y xy x y ο ο ( G P G , P P ) ( G P G ) r r r G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x ο¨ ο© y ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© G P , , G , P G , P G , P G P r r r r p g h ο¨ ο© ο ο G P , x y xy x y ο ο ( G P G , P P ) ( G P G ) r r r G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 Modulo- 2 π β 1 EM Encoding Parallel prefix Adder 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x ο¨ ο© y ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© G P , , G , P G , P G , P G P r r r r p g h ο¨ ο© ο ο G P , x y xy x y ο ο ( G P G , P P ) ( G P G ) r r r G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 Modulo- 2 π β 1 EM Encoding x 7 y 7 x 6 y 6 x 5 y 5 y 4 y 0 x 4 x 3 y 3 y 2 y 1 x 0 x 2 x 1 Parallel prefix Adder pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 3 h 2 h 1 h 0 G 7:0 ( G 6:0 , P 6:0 ) ( G 5:0 , P 5:0 )( G 4:0 , P 4:0 ) ( G 3:0 , P 3:0 ) ( G 2:0 , P 2:0 )( G 1:0 , P 1:0 ) ( G 0:0 , P 0:0 ) c 7 c 6 c 2 c 5 c 4 c 3 c 1 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization y 7 x 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 x 1 y 1 x 0 y 0 x 3 x 2 Parallel Prefix Network(PPN) pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) x ο¨ ο© y ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© G P , , G , P G , P G , P G P r r r r p g h ο¨ ο© ο ο G P , x y xy x y ο ο ( G P G , P P ) ( G P G ) r r r G 6:0 G 5:0 G 7:0 G 4:0 G 3:0 G 2:0 G 1:0 G 0:0 Modulo- 2 π β 1 EM Encoding x 7 y 7 x 6 y 6 x 5 y 5 y 4 y 0 x 4 x 3 y 3 y 2 y 1 x 0 x 2 x 1 Parallel prefix Adder pgh pgh pgh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 3 h 2 h 1 h 0 G 7:0 ( G 6:0 , P 6:0 ) ( G 5:0 , P 5:0 )( G 4:0 , P 4:0 ) ( G 3:0 , P 3:0 ) ( G 2:0 , P 2:0 )( G 1:0 , P 1:0 ) ( G 0:0 , P 0:0 ) c 7 c 6 c 2 c 5 c 4 c 3 c 1 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 6 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue 7 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 3 7 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 3 Conventional if π + π < 2 π β 3 π + π 2 π β3 = π + π, if π + π β₯ 2 π β 3 π + π + 3 2 π , 7 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 3 Conventional if π + π < 2 π β 3 π + π 2 π β3 = π + π, if π + π β₯ 2 π β 3 π + π + 3 2 π , RCA X Y C A Adder A ο« X Y 3 2 n C Adder B B ο« ο« X Y 3 n n 2 2 1 0 Mux ο« X Y ο n 2 3 7 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 3 Conventional EM Encoding if π + π < 2 π β 3 if π + π < 2 π π + π 2 π β3 = π + π, π + π 2 π β3 = π + π, if π + π β₯ 2 π β 3 if π + π β₯ 2 π π + π + 3 2 π , π + π + 3 2 π , RCA X Y C A Adder A ο« X Y 3 2 n C Adder B B ο« ο« X Y 3 n n 2 2 1 0 Mux ο« X Y ο n 2 3 7 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 3 Conventional EM Encoding if π + π < 2 π β 3 if π + π < 2 π π + π 2 π β3 = π + π, π + π 2 π β3 = π + π, if π + π β₯ 2 π β 3 if π + π β₯ 2 π π + π + 3 2 π , π + π + 3 2 π , RCA RCA X Y X Y C A Adder A ο« n -bit Adder X Y 3 2 n ο« X Y C out n 2 C Adder B B ο« ο« X Y 3 ( n ,2)-bit Adder n n 2 2 ο« 1 0 Mux X Y ο n 2 3 ο« X Y ο n 2 3 7 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 3 EM Encoding Parallel prefix Adder 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 3 EM Encoding Parallel prefix Adder y 7 x 7 x 6 y 6 x 5 y 5 y 4 y 0 x 4 x 3 y 3 y 2 y 1 x 0 x 2 x 1 pgh pgh pgh pgh pgh pgh pgh pgh a a a a a a a a h 7 h 6 h 5 h 4 h 3 h 2 h 1 h 0 a G ο’ a a a a a a c c c c c c c 7 7:0 6 5 4 3 2 1 G ο’ G ο’ 0 w 7 w 6 0 w 5 0 0 w 4 w 3 0 0 w 1 w 0 w 2 7:0 7:0 pgh pgh pgh pgh pgh pgh pgh pgh b b b b h 7 h 6 h 5 h 4 h 3 b h 2 b h 1 b b h 0 b b b b b b b c c c c c G c c 5 4 3 1 7 6 2 7:0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 3 EM Encoding Parallel prefix Adder y 7 x 7 x 6 y 6 x 5 y 5 y 4 y 0 x 4 x 3 y 3 y 2 y 1 x 0 x 2 x 1 pgh pgh pgh pgh pgh pgh pgh pgh a a a a a a a a h 7 h 6 h 5 h 4 h 3 h 2 h 1 h 0 a G ο’ a a a a a a c c c c c c c 7 7:0 6 5 4 3 2 1 G ο’ G ο’ 0 w 7 w 6 0 w 5 0 0 w 4 w 3 0 0 w 1 w 0 w 2 7:0 7:0 pgh pgh pgh pgh pgh pgh pgh pgh b b b b h 7 h 6 h 5 h 4 h 3 b h 2 b h 1 b b h 0 b b b b b b b c c c c c G c c 5 4 3 1 7 6 2 7:0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 3 EM Encoding Parallel prefix Adder y 7 x 7 y 6 x 6 y 5 x 5 y 4 x 4 y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 HA HA HA HA HA HA HA HA u 7 v 7 u 6 v 6 u 5 v 5 u 4 v 4 u 3 v 3 u 2 v 2 u 1 v 1 u 0 v 8 pgβ²h pΒ΄gh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 3 h 2 h 1 ( g 7 , p 7 ) ( g 1 , p β² ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) 1 ) ( G 5:0 , P β² ( G 6:0 , P ' ( G 4:0 , P β² ( G 3:0 , P β² ( G 2:0 , P β² 6:0 ) 5:0 ) ( G 1:0 , P β² 4:0 ) 3:0 ) 2:0 ) 1:0 ) G ' 7:0 c 7 c 6 c 5 c 4 c 2 c 3 c 1 h 0 s 0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 v ο¨ ο© G P ο¨ ο© G P ο¨ u v u v u ο¨ ο© ο¨ ο© ο© x y 0 7 v G P , , G P , , G P , 1 1 8 7 u r r r r HA pΒ΄ g h p gΒ΄ h p g h ο ο ο ο¨ ο© ο ο¨ ο© xy ο ο ο ο ο ο ο x y u v u u v u v G P G , P P u v u v uv G P , G P G uv v u v u v r r r 0 1 1 1 1 1 1 7 7 7 7 8 7 7 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 3 EM Encoding Parallel prefix Adder y 7 x 7 y 6 x 6 y 5 x 5 y 4 x 4 y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 HA HA HA HA HA HA HA HA u 7 v 7 u 6 v 6 u 5 v 5 u 4 v 4 u 3 v 3 u 2 v 2 u 1 v 1 u 0 v 8 pgβ²h pΒ΄gh pgh pgh pgh pgh pgh h 7 h 6 h 5 h 4 h 3 h 2 h 1 ( g 7 , p 7 ) ( g 1 , p β² ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 4 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) 1 ) ( G 5:0 , P β² ( G 6:0 , P ' ( G 4:0 , P β² ( G 3:0 , P β² ( G 2:0 , P β² 6:0 ) 5:0 ) ( G 1:0 , P β² 4:0 ) 3:0 ) 2:0 ) 1:0 ) G ' 7:0 c 7 c 6 c 5 c 4 c 2 c 3 c 1 h 0 s 0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 v ο¨ ο© G P ο¨ ο© G P ο¨ u v u v u ο¨ ο© ο¨ ο© ο© x y 0 7 v G P , , G P , , G P , 1 1 8 7 u r r r r HA pΒ΄ g h p gΒ΄ h p g h ο ο ο ο¨ ο© ο ο¨ ο© xy ο ο ο ο ο ο ο x y u v u u v u v G P G , P P u v u v uv G P , G P G uv v u v u v r r r 0 1 1 1 1 1 1 7 7 7 7 8 7 7 8 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue 9 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 2 π β 1 9 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 2 π β 1 Conventional if π + π < 2 π β (2 π + 1) π + π 2 π β2 q β1 = π + π, if π + π β₯ 2 π β (2 π + 1) π + π + 2 q + 1 2 π , 9 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 2 π β 1 Conventional if π + π < 2 π β (2 π + 1) π + π 2 π β2 q β1 = π + π, if π + π β₯ 2 π β (2 π + 1) π + π + 2 q + 1 2 π , RCA X Y C A Adder A q ο« ο« X Y 2 1 2 n C Adder B B ο« ο« ο« q 1 X Y 2 n 2 n 2 1 0 Mux ο« X Y ο ο n q 2 2 1 9 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 2 π β 1 Conventional EM Encoding if π + π < 2 π β (2 π + 1) if π + π < 2 π π + π 2 π β2 q β1 = π + π, if π + π β₯ 2 π β (2 π + 1) π + π 2 π β2 q β1 = π + π, if π + π β₯ 2 π π + π + 2 q + 1 2 π , π + π + 2 q + 1 2 π , RCA X Y C A Adder A q ο« ο« X Y 2 1 2 n C Adder B B ο« ο« ο« q 1 X Y 2 n 2 n 2 1 0 Mux ο« X Y ο ο n q 2 2 1 9 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo 2 π β 2 π β 1 Conventional EM Encoding if π + π < 2 π β (2 π + 1) if π + π < 2 π π + π 2 π β2 q β1 = π + π, if π + π β₯ 2 π β (2 π + 1) π + π 2 π β2 q β1 = π + π, if π + π β₯ 2 π π + π + 2 q + 1 2 π , π + π + 2 q + 1 2 π , RCA RCA X Y X Y C A Adder A q ο« n -bit Adder ο« X Y 2 1 2 n ο« X Y C out n 2 C Adder B B ο« ο« ο« q ( n , q+ 1)-bit Adder 1 X Y 2 n 2 n 2 ο« 1 0 X Y Mux ο ο n q 2 2 1 ο« X Y ο ο n q 2 2 1 9 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization 10 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 2 π β 1 EM Parallel prefix Adder( π = 8, π = 4) 10 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 2 π β 1 EM Parallel prefix Adder( π = 8, π = 4) x 7 y 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 y 1 y 0 x 3 x 2 x 1 x 0 pgh pgh pgh pgh pgh pgh pgh pgh a a a a a a a a h 7 h 6 h 5 h 4 h 3 h 2 h 1 h 0 a G ο’ a a a a a a c c c c c c c 7 7:0 6 5 4 1 3 2 0 G ο’ G ο’ w 7 0 0 w 6 w 5 w 4 0 0 0 w 0 w 3 w 2 w 1 7:0 7:0 pgh pgh pgh pgh pgh pgh pgh pgh b h 7 h 6 b b b b b b b h 5 h 4 h 3 h 2 h 1 h 0 b b b b b b b c c c c c c c G 6 5 4 3 2 1 7:0 7 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 10 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Parallel Prefix Realization Modulo- 2 π β 2 π β 1 EM Parallel prefix Adder( π = 8, π = 4) x 7 y 7 y 6 y 5 x 6 x 5 x 4 y 4 y 3 y 2 y 1 y 0 x 3 x 2 x 1 x 0 pgh pgh pgh pgh pgh pgh pgh pgh a a a a a a a a h 7 h 6 h 5 h 4 h 3 h 2 h 1 h 0 a G ο’ a a a a a a c c c c c c c 7 7:0 6 5 4 1 3 2 0 G ο’ G ο’ w 7 0 0 w 6 w 5 w 4 0 0 0 w 0 w 3 w 2 w 1 7:0 7:0 pgh pgh pgh pgh pgh pgh pgh pgh b h 7 h 6 b b b b b b b h 5 h 4 h 3 h 2 h 1 h 0 b b b b b b b c c c c c c c G 6 5 4 3 2 1 7:0 7 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 10 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π β¦ β¦ π + π π± π¨βπ π± π π π π π π± π« ππ©π« = 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π πΊ = 2 q + 1 πΊ ππ©π« π π π π β¦ β¦ π» π π¨βπ π π π» π π π« 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π πΊ = 2 q + 1 πΊ ππ©π« π π π π β¦ β¦ π» π π¨βπ π π π» π π π« (π. π. π = 8 π = 4) 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π πΊ = 2 q + 1 πΊ ππ©π« π π π π β¦ β¦ π» π π¨βπ π π π» π π π« (π. π. π = 8 π = 4) Collective value π· π+1 Input (π¦ π , π§ π , π₯ π , π· π ) π = 10010001 4 2 π = 10011111 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π πΊ = 2 q + 1 πΊ ππ©π« π π π π β¦ β¦ π» π π¨βπ π π π» π π π« (π. π. π = 8 π = 4) Collective value π· π+1 Input (π¦ π , π§ π , π₯ π , π· π ) π = 10010001 4 2 π = 10011111 π = 10010000 3 1 π = 10011110 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β¦ β¦ π π πβπ π π π π π π β¦ β¦ π π πβπ π π π π π π πΊ = 2 q + 1 πΊ ππ©π« π π π π β¦ β¦ π» π π¨βπ π π π» π π π« (π. π. π = 8 π = 4) Collective value π· π+1 Input (π¦ π , π§ π , π₯ π , π· π ) π = 10010001 4 2 Problem: Variable -weight π = 10011111 carry on position 4 π = 10010000 3 1 π = 10011110 11 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ πβ² β π = π¦ π β¨π§ π π π = π¦ π π§ π πβ² 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ π π πβ² π π β π = π¦ π β¨π§ π π πβπ β¦ π π = π¦ π π§ π π π πβ² π π π πβπ 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 β² π = π πβ1 β¨ π» πβ1:0 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 β¦ β¦ πβ² π πβπ π π π π π π π πβπ β² π = π πβ1 β¨ π» πβ1:0 β¦ β¦ πβ²β² π πβπ π π π π π πβπ πΊ ππ©π« π π 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 β¦ β¦ πβ² π πβπ π π π π π π π πβπ β² π = π πβ1 β¨ π» πβ1:0 β¦ β¦ πβ²β² π πβπ π π π π π πβπ πΊ ππ©π« π π β² β² β² β² β¦ β¦ β² π π¨βπ π π π π π π π π«βπ β¦ β¦ π πβπ π π π π π π π πβπ 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 β¦ β¦ πβ² π πβπ π π π π π π π πβπ β² π = π πβ1 β¨ π» πβ1:0 β¦ β¦ πβ²β² π πβπ π π π π π πβπ πΊ ππ©π« π π β² β² β² β² β¦ β¦ β² π π¨βπ π π π π π π π π«βπ β¦ β¦ π πβπ π π π π π π π πβπ β¦ β¦ π» π πβπ π π π π π π π πβπ 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 β¦ β¦ πβ² π πβπ π π π π π π π πβπ β² π = π πβ1 β¨ π» πβ1:0 β¦ β¦ πβ²β² π πβπ π π π π π πβπ πΊ ππ©π« π π β² β² β² β² β¦ β¦ β² π π¨βπ π π π π π π π π«βπ β¦ β¦ π πβπ π π π π π π π πβπ β¦ β¦ π» π πβπ π π π π π π π πβπ β² π πβ1 β¨ π» πβ1:0 , if π = 0 β² β² β² π» πβ1:0 β¨ π (π πβ1 β¨ π» πβ1:0 ), if 1 β€ π β€ π πβ1:0 πβ² + πβ²β² 2 π β2 π β1 π π = β π β¨ π π π β¨ β π π, if π = π + 1 β² β² π» πβ1:π+1 β¨ π πβ1:π+1 π π+1 , if π > π + 1 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue β’ How to solve variable-weight carry problem? ο Devise a partial carry-save preprocessing stage π β¦ β¦ π πβπ π π π π π π π πβπ π + π 2 π β2 π β1 β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ π π πβ² π πβπ π π β π = π¦ π β¨π§ π π π π πβπ β¦ β¦ π π = π¦ π π§ π π π πβ² π πβπ π πβπ π π π πβπ 0 β¦ β¦ πβ² π πβπ π π π π π π π πβπ β² π = π πβ1 β¨ π» πβ1:0 β¦ β¦ πβ²β² π πβπ π π π π π πβπ πΊ ππ©π« π π β² β² β² β² β¦ β¦ β² π π¨βπ π π π π π π π π«βπ β¦ β¦ π πβπ π π π π π π π πβπ β¦ β¦ π» π πβπ π π π π π π π πβπ β² π πβ1 β¨ π» πβ1:0 , if π = 0 Problem: Carry-save β² β² β² π» πβ1:0 β¨ π (π πβ1 β¨ π» πβ1:0 ), if 1 β€ π β€ π Stage is on the πβ1:0 πβ² + πβ²β² 2 π β2 π β1 π π = β π β¨ π π π β¨ β π π, if π = π + 1 critical delay path β² β² π» πβ1:π+1 β¨ π πβ1:π+1 π π+1 , if π > π + 1 12 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue 81 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? 82 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? ο Finding a relative between the π», π of π + π 2 π β2 π β1 and π»β², πβ² of πβ² + πβ²β² 2 π β2 π β1 π β¦ β¦ π πβπ π π π π π π π πβπ (π», π) β¦ β¦ π π πβπ π π π π π π π πβπ β¦ β¦ πβ² π πβπ π π π π π π π πβπ β¦ β¦ πβ²β² π πβπ π π π π π πβπ (π» β² , π β² ) πΊ ππ©π« π π 83 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? ο Finding a relative between the π», π of π + π 2 π β2 π β1 and π»β², πβ² of πβ² + πβ²β² 2 π β2 π β1 π β¦ β¦ π πβπ π π π π π π π πβπ (π», π) β¦ β¦ π π πβπ π π π π π π π πβπ β² β² (π― π:π+π , πΈ π:π+π π π ) = (π π π― πβπ:π , π° π:π ) π β₯ π β¦ β¦ πβ² π πβπ π π π π π π π πβπ β¦ β¦ πβ²β² π πβπ π π π π π πβπ (π» β² , π β² ) πΊ ππ©π« π π 84 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? ο Finding a relative between the π», π of π + π 2 π β2 π β1 and π»β², πβ² of πβ² + πβ²β² 2 π β2 π β1 π β¦ β¦ π πβπ π π π π π π π πβπ (π», π) β¦ β¦ π π πβπ π π π π π π π πβπ β² β² (π― π:π+π , πΈ π:π+π π π ) = (π π π― πβπ:π , π° π:π ) π β₯ π β¦ β¦ πβ² π πβπ π π π π π π π πβπ β¦ β¦ πβ²β² π πβπ π π π π π πβπ (π» β² , π β² ) πΊ ππ©π« π π β² π πβ1 β¨ π» πβ1:0 , if π = 0 β² β² β² π» πβ1:0 β¨ π (π πβ1 β¨ π» πβ1:0 ), if 1 β€ π β€ π πβ1:0 π π = β π β¨ π π π β¨ β π π, if π = π + 1 β² β² π» πβ1:π+1 β¨ π πβ1:π+1 π π+1 , if π > π + 1 85 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? ο Finding a relative between the π», π of π + π 2 π β2 π β1 and π»β², πβ² of πβ² + πβ²β² 2 π β2 π β1 π β¦ β¦ π πβπ π π π π π π π πβπ (π», π) β¦ β¦ π π πβπ π π π π π π π πβπ β² β² (π― π:π+π , πΈ π:π+π π π ) = (π π π― πβπ:π , π° π:π ) π β₯ π β¦ β¦ πβ² π πβπ π π π π π π π πβπ β¦ β¦ πβ²β² π πβπ π π π π π πβπ (π» β² , π β² ) πΊ ππ©π« π π β² π πβ1 β¨ π» πβ1:0 , if π = 0 β² β² β² π» πβ1:0 β¨ π (π πβ1 β¨ π» πβ1:0 ), if 1 β€ π β€ π πβ1:0 π π = β π β¨ π π π β¨ β π π, if π = π + 1 β² β² π» πβ1:π+1 β¨ π πβ1:π+1 π π+1 , if π > π + 1 86 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? ο Finding a relative between the π», π of π + π 2 π β2 π β1 and π»β², πβ² of πβ² + πβ²β² 2 π β2 π β1 π β¦ β¦ π πβπ π π π π π π π πβπ (π», π) β¦ β¦ π π πβπ π π π π π π π πβπ β² β² (π― π:π+π , πΈ π:π+π π π ) = (π π π― πβπ:π , π° π:π ) π β₯ π β¦ β¦ πβ² π πβπ π π π π π π π πβπ β¦ β¦ πβ²β² π πβπ π π π π π πβπ (π» β² , π β² ) πΊ ππ©π« π π β² π πβ1 β¨ π» πβ1:0 , if π = 0 π» πβ1:0 , if π = 0 β² β² β² π» πβ1:0 β¨ π (π πβ1 β¨ π» πβ1:0 ), if 1 β€ π β€ π π» πβ1:0 β¨ π πβ1:0 π» πβ1:0 , if 1 β€ π β€ π πβ1:0 π π = π π = β²β² π» πβ1:0, β π π» πβ1:0 β¨ π if π = π + 1 β π β¨ π π π β¨ β π π, if π = π + 1 π:0 β²β² β² β² β πβ1 π» πβ2:0 β¨ π πβ1:0 π» πβ1:0 , if π > π + 1 π» πβ1:π+1 β¨ π πβ1:π+1 π π+1 , if π > π + 1 β²β² = β π β¨ π πβ1:0 β¨ π» πβ1:0 π π:0 β²β² β²β² = π β²πβ1:π+1 π π πβ1:0 π:0 87 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue via Excess-Modulo Encoding of Residue β’ How to solve Carry Save Stage Delay problem ? ο Finding a relative between the π», π of π + π 2 π β2 π β1 and π»β², πβ² of πβ² + πβ²β² 2 π β2 π β1 π β¦ β¦ π πβπ π π π π π π π πβπ (π», π) β¦ β¦ π π πβπ π π π π π π π πβπ β² β² (π― π:π+π , πΈ π:π+π π π ) = (π π π― πβπ:π , π° π:π ) π β₯ π β¦ β¦ πβ² π πβπ π π π π π π π πβπ β¦ β¦ πβ²β² π πβπ π π π π π πβπ (π» β² , π β² ) πΊ ππ©π« π π β² π πβ1 β¨ π» πβ1:0 , if π = 0 π» πβ1:0 , if π = 0 β² β² β² π» πβ1:0 β¨ π (π πβ1 β¨ π» πβ1:0 ), if 1 β€ π β€ π π» πβ1:0 β¨ π πβ1:0 π» πβ1:0 , if 1 β€ π β€ π πβ1:0 π π = π π = β²β² π» πβ1:0, β π π» πβ1:0 β¨ π if π = π + 1 β π β¨ π π π β¨ β π π, if π = π + 1 π:0 β²β² β² β² β πβ1 π» πβ2:0 β¨ π πβ1:0 π» πβ1:0 , if π > π + 1 π» πβ1:π+1 β¨ π πβ1:π+1 π π+1 , if π > π + 1 β²β² = β π β¨ π πβ1:0 β¨ π» πβ1:0 π π:0 β²β² β²β² = π β²πβ1:π+1 π The carry-save stage is effectively off the critical delay path π πβ1:0 π:0 88 13 ARITH 22 IWSSIP 2014
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue 14 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo (2 8 β2 4 β 1) y 5 x 5 y 4 x 4 y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 y 7 x 7 y 6 x 6 y 6 x 6 y 5 x 5 y 4 x 4 π β² pghpβ²hβ² pghpβ²hβ² pghhβ² pgh pgh pgh pgh pgh β² β² β² β 0 β 7 β 6 β 5 β 4 β 3 β 2 β 1 β² β² π 6 π 5 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 5 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) β² β² π 5 π 6 β 4 P 3:0 G 3:0 Eqn.8 β²β² πΈ π : π β²β² πΈ π : π β²β² πΈ π : π G 7:0 β²β² ) β²β² ) β²β² ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π h 6 h 5 c 1 c 7 c 2 c 3 c 6 c 5 c 4 s 0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 x ο y ο x x ο x y y x y y ο i i i i 1 i 1 i i i i 1 i 1 p g h pβ h β² p g h p g h h β² ο ο¨ ο© ο ο ο ο ο ο ο ο ο x y ο ο x y x y x y x y x y x y x y x y x y x y x y x y x y x y ο ο i i ο ο i i i i i i i i ο ο i i i i i i i 1 i 1 i i i 1 i 1 i i i i i i i 1 i 1 ο¨ ο© G P ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο’ ο’ G P , , G P , G P , G P , G P , p G P , p r r r r h 5 r r 6 4 h P G i 3:0 3:0 Eqn.8 ο¨ ο© ο¨ ο© ο’ο’ ο’ο’ ο¨ ο© ο ο’ο’ ο ο P h G P G P P G P G G P G , P P G P , r r i r 6:0 4:0 r 5:0 14 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo (2 8 β2 4 β 1) Modulo (2 8 β1) y 5 x 5 y 4 x 4 y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 y 7 x 7 y 6 x 6 x 7 y 7 x 6 y 6 x 5 y 5 y 4 y 0 x 4 y 3 y 2 y 1 x 0 x 3 x 2 x 1 y 6 x 6 y 5 x 5 y 4 x 4 π β² pghpβ²hβ² pghpβ²hβ² pghhβ² pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh β² β² β² β 0 β 7 β 6 β 5 β 4 β 3 β 2 β 1 h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 β² β² π 6 π 5 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 5 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) β² β² π 5 π 6 β 4 P 3:0 G 3:0 Eqn.8 β²β² πΈ π : π β²β² πΈ π : π β²β² πΈ π : π G 7:0 G 7:0 ( G 6:0 , P 6:0 ) ( G 5:0 , P 5:0 )( G 4:0 , P 4:0 ) ( G 3:0 , P 3:0 ) ( G 2:0 , P 2:0 )( G 1:0 , P 1:0 ) ( G 0:0 , P 0:0 ) β²β² ) β²β² ) β²β² ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π h 6 h 5 c 1 c 7 c 2 c 3 c 7 c 6 c 5 c 4 c 6 c 5 c 4 c 3 c 2 c 1 s 0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 x ο y ο x x ο x y y x y y ο i i i i 1 i 1 i i i i 1 i 1 ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© x p g h pβ h β² y p g h p g h h β² G P , G , P G , P G , P G , P r r r r ο ο¨ ο© ο ο ο ο ο ο ο ο ο x y ο ο x y x y x y x y x y x y x y x y x y x y x y p g h x y x y x y ο ο i i ο ο i i i i i i i i ο ο i i i i i i i 1 i 1 i i i 1 i 1 i i i i i i i 1 i 1 ο¨ ο© G P ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο¨ ο© ο’ ο’ G P , , G P , G P , G P , G P , p G P , p ο¨ ο© r r r r h 5 r r ο ο¨ ο© ο 6 ο 4 ο G P , G P G x y xy x y h P G P G , P P G r i 3:0 r r 3:0 Eqn.8 ο¨ ο© ο¨ ο© ο’ο’ ο’ο’ ο¨ ο© ο ο’ο’ ο ο P h G P G P P G P G G P G , P P G P , r r i r 6:0 4:0 r 5:0 14 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Modulo (2 8 β2 4 β 1) Modulo (2 8 β1) y 5 x 5 y 4 x 4 y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 y 7 x 7 y 6 x 6 x 7 y 7 x 6 y 6 x 5 y 5 y 4 y 0 x 4 y 3 y 2 y 1 x 0 x 3 x 2 x 1 y 6 x 6 y 5 x 5 y 4 x 4 π β² pghpβ²hβ² pghpβ²hβ² pghhβ² pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh pgh β² β² β² β 0 β 7 β 6 β 5 β 4 β 3 β 2 β 1 h 7 h 6 h 5 h 4 h 1 h 3 h 2 h 0 β² β² π 6 π 5 ( g 7 , p 7 ) ( g 6 , p 6 ) ( g 5 , p 5 ) ( g 5 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) β² β² π 5 π 6 β 4 P 3:0 G 3:0 Eqn.8 β²β² πΈ π : π β²β² πΈ π : π β²β² πΈ π : π G 7:0 G 7:0 ( G 6:0 , P 6:0 ) ( G 5:0 , P 5:0 )( G 4:0 , P 4:0 ) ( G 3:0 , P 3:0 ) ( G 2:0 , P 2:0 )( G 1:0 , P 1:0 ) ( G 0:0 , P 0:0 ) β²β² ) β²β² ) β²β² ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π h 6 h 5 c 1 c 7 c 2 c 3 c 7 c 6 c 5 c 4 c 6 c 5 c 4 c 3 c 2 c 1 s 0 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 7 s 6 s 5 s 4 s 3 s 2 s 1 s 0 Problem : for π > π/π the critical delay path is one βπ― more than other case 14 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue 15 ARITH 22 15
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue π β’ How to solve extra delay critical problem for π > 2 problem ? 15 ARITH 22 15
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue π β’ How to solve extra delay critical problem for π > 2 problem ? ο Devise a mixed KS/Lander-Fischer PPN architecture ((n-1) levels use KS architecture and the bottom level use LF ) y 6 y 5 x 5 y 4 x 4 y 3 y 2 y 1 x 1 y 0 y 7 x 7 x 6 x 3 x 2 x 0 x ο y ο x y i i i 1 i 1 y 6 x 6 y 5 x 5 p g h pβ h β² pghp hβ² pghhβ² pgh pgh pgh pgh pgh pgh β² β² β 0 β 2 β 1 β 6 β 3 β 7 β 5 β 4 ο ο¨ ο© ( g 6 , p 6 ) β² ( g 5 , p 5 ) ( g 5 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) ο ο ο ο ο ( g 7 , p 7 ) x y x y x y x y x y π 6 x y x y ο ο ο ο π π i i i i i i i i i 1 i 1 i i i 1 i 1 x x ο y x y y ο i i i i i 1 i 1 π― π : π β¨ πΈ π : π π― π : π β¨ πΈ π : π p g h h β² p g h β² β 5 π 6 g 4 π» 3:0 βπ 3:0 ο ο ο x y ο ο ο p 4 x y x y x y x y x y x y x y π― π : π β¨ πΈ π : π i i i i i i i i ο ο i i i i i i i 1 i 1 Eqn.9 ο¨ G P ο¨ ο© ο© ο¨ G P ο¨ ο© ο© ο¨ ο© ο¨ ο© G P , G P , , , G P , G P , r r r r r r β²β² πΈ π : π β²β² πΈ π : π h i G 7:0 β²β² ) β²β² ) ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ο¨ ο© ο¨ ο© ο ο ο h G P G , G P G G P G P P h 6 i r r r r c 1 G P ο¨ ο© c 2 ο¨ ο© ο¨ ο© c 7 c 3 c 6 c 5 c 4 G P , ο’ G P , , ο r r p g G P h 6 r r 4 5 ο P G P 4 3:0 3:0 Eqn.9 ο’ο’ ο’ο’ ο P ο¨ ο© ο ο P G P G G P G ( P ) 5:0 6:0 s 7 s 4 s 3 s 2 s 1 s 0 G P , s 6 s 5 r r r 15 ARITH 22 15
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue π β’ How to solve extra delay critical problem for π > 2 problem ? ο Devise a mixed KS/Lander-Fischer PPN architecture ((n-1) levels use KS architecture and the bottom level use LF ) y 6 y 5 x 5 y 4 x 4 y 3 y 2 y 1 x 1 y 0 y 7 x 7 x 6 x 3 x 2 x 0 x ο y ο x y i i i 1 i 1 y 6 x 6 y 5 x 5 p g h pβ h β² pghp hβ² pghhβ² pgh pgh pgh pgh pgh pgh β² β² β 0 β 2 β 1 β 6 β 3 β 7 β 5 β 4 ο ο¨ ο© ( g 6 , p 6 ) β² ( g 5 , p 5 ) ( g 5 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) ο ο ο ο ο ( g 7 , p 7 ) x y x y x y x y x y π 6 x y x y ο ο ο ο π π i i i i i i i i i 1 i 1 i i i 1 i 1 x x ο y x y y ο i i i i i 1 i 1 π― π : π β¨ πΈ π : π KS π― π : π β¨ πΈ π : π p g h h β² p g h β² β 5 π 6 g 4 π» 3:0 βπ 3:0 ο ο ο x y ο ο ο p 4 x y x y x y x y x y x y x y π― π : π β¨ πΈ π : π i i i i i i i i ο ο i i i i i i i 1 i 1 Eqn.9 ο¨ G P ο¨ ο© ο© ο¨ G P ο¨ ο© ο© ο¨ ο© ο¨ ο© G P , G P , , , G P , G P , LF r r r r r r β²β² πΈ π : π β²β² πΈ π : π h i G 7:0 β²β² ) β²β² ) ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ο¨ ο© ο¨ ο© ο ο ο h G P G , G P G G P G P P h 6 i r r r r c 1 G P ο¨ ο© c 2 ο¨ ο© ο¨ ο© c 7 c 3 c 6 c 5 c 4 G P , ο’ G P , , ο r r p g G P h 6 r r 4 5 ο P G P 4 3:0 3:0 Eqn.9 ο’ο’ ο’ο’ ο P ο¨ ο© ο ο P G P G G P G ( P ) 5:0 6:0 s 7 s 4 s 3 s 2 s 1 s 0 G P , s 6 s 5 r r r 15 ARITH 22 15
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue π β’ How to solve extra delay critical problem for π > 2 problem ? ο Devise a mixed KS/Lander-Fischer PPN architecture ((n-1) levels use KS architecture and the bottom level use LF ) ο Using twin nodes (Computing π» π:0 and π» π:0 β¨ π π:0 as a same time) y 6 y 5 x 5 y 4 x 4 y 3 y 2 y 1 x 1 y 0 y 7 x 7 x 6 x 3 x 2 x 0 x ο y ο x y i i i 1 i 1 y 6 x 6 y 5 x 5 p g h pβ h β² pghp hβ² pghhβ² pgh pgh pgh pgh pgh pgh β² β² β 0 β 2 β 1 β 6 β 3 β 7 β 5 β 4 ο ο¨ ο© ( g 6 , p 6 ) β² ( g 5 , p 5 ) ( g 5 , p 4 ) ( g 3 , p 3 ) ( g 2 , p 2 ) ( g 1 , p 1 ) ( g 0 , p 0 ) ο ο ο ο ο ( g 7 , p 7 ) x y x y x y x y x y π 6 x y x y ο ο ο ο π π i i i i i i i i i 1 i 1 i i i 1 i 1 x x ο y x y y ο i i i i i 1 i 1 π― π : π β¨ πΈ π : π π― π : π β¨ πΈ π : π p g h h β² p g h β² β 5 π 6 g 4 π» 3:0 βπ 3:0 ο ο ο x y ο ο ο p 4 x y x y x y x y x y x y x y π― π : π β¨ πΈ π : π i i i i i i i i ο ο i i i i i i i 1 i 1 Eqn.9 ο¨ G P ο¨ ο© ο© ο¨ G P ο¨ ο© ο© ο¨ ο© ο¨ ο© G P , G P , , , G P , G P , r r r r r r β²β² πΈ π : π β²β² πΈ π : π h i G 7:0 β²β² ) β²β² ) ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ( π― π : π , πΈ π : π ) ο¨ ο© ο¨ ο© ο ο ο h G P G , G P G G P G P P h 6 i r r r r c 1 G P ο¨ ο© c 2 ο¨ ο© ο¨ ο© c 7 c 3 c 6 c 5 c 4 G P , ο’ G P , , ο r r p g G P h 6 r r 4 5 ο P G P 4 3:0 3:0 Eqn.9 ο’ο’ ο’ο’ ο P ο¨ ο© ο ο P G P G G P G ( P ) 5:0 6:0 s 7 s 4 s 3 s 2 s 1 s 0 G P , s 6 s 5 r r r 15 ARITH 22 15
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue 16 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Design Delay ( βπ― ) Area (π π― ) Analytical gate Level Evaluation [4] 4 log π + 8 6π log π + 5π + 1 βπ― : Delay of Simple Gate 4 log π + 12 3π log π + 10π + 1 [5] 3 π β 1 log π + π π― : Area of Simple Gate 2 log (π β 1) + 7 [6] 3 π β 1 log π β 1 + 5π + 1 2 log π β 1 + 3 π β 2 log π β 2 β [7] 2 log (π β 2) + 8 log (π β 1) + 7π + 27 2 log (π β 1) + 7 3 π log (π β 1) + 13π β 5 [8] [9] 2 log π + 7 3π β 1 log π + 11.5π + 1 2 log π + 7 3π log π + 6π β 3π + 2 + π π [10] 3π log π + 1.5π log π β 1 [11] ( π = π β π ) 2 log π + 5 + 7π + 2 log πβ1 β1 [13]-RPP ( π = π ) 2 log (π β 1) + 6 3 π β 1 log(π β 1) + 8π β 1 3 π β 1 log π + New ( π β€ π/π) 2 log π + 5 7π β 3π β 1 + π π β²β² 3(π β 1) log π + 5.5π β New ( π > π/π) 2 log π + 5 3π + 2 log π + π π β²β² [3]-RPP 2 log π + 5 3π log π + 4π 16 ARITH 22
Modulo- π π β π π β π Parallel Prefix Addition via Excess-Modulo Encoding of Residue Design Delay ( βπ― ) Area (π π― ) Analytical gate Level Evaluation [4] 4 log π + 8 6π log π + 5π + 1 βπ― : Delay of Simple Gate 4 log π + 12 3π log π + 10π + 1 [5] 3 π β 1 log π + π π― : Area of Simple Gate 2 log (π β 1) + 7 [6] 3 π β 1 log π β 1 + 5π + 1 2 log π β 1 + 3 π β 2 log π β 2 β [7] 2 log (π β 2) + 8 log (π β 1) + 7π + 27 2 log (π β 1) + 7 3 π log (π β 1) + 13π β 5 [8] [9] 2 log π + 7 3π β 1 log π + 11.5π + 1 2 log π + 7 3π log π + 6π β 3π + 2 + π π [10] 3π log π + 1.5π log π β 1 [11] ( π = π β π ) 2 log π + 5 + 7π + 2 log πβ1 β1 [13]-RPP ( π = π ) 2 log (π β 1) + 6 3 π β 1 log(π β 1) + 8π β 1 3 π β 1 log π + New ( π β€ π/π) 2 log π + 5 7π β 3π β 1 + π π β²β² 3(π β 1) log π + 5.5π β New ( π > π/π) 2 log π + 5 3π + 2 log π + π π β²β² [3]-RPP 2 log π + 5 3π log π + 4π 16 ARITH 22
Recommend
More recommend