Practice 3.30
(define (ripple-carry-adder a b s c)
(let ((count (length c)))
(define (rip-rec a b s c)
(if (or (null? a) (null? b) (null? c) (null? s))
'done
(begin (full-adder (car a) (car b) (car s) (car c))
(rip-rec (cdr a) (cdr b) (cdr s) (cdr c)))))
(rip-rec a b s c)))
-
half-adder-delay
-
delay of s
(+ (max or-gate-delay (+ and-gate-delay invert-gate-delay)) and-gate-delay)
-
deley of c
and-gate-delay
-
-
full-adder-delay
-
delay of SUM
(* 2 (get-half-delay s))
-
delay of C-outc
(+ (get-half-delay ‘s) (get-half-delay ’c) or-gate-delay)
-
-
ripple-carry-adder-delay
(* k 2 (+ (max or-gate-delay (+ and-gate-delay invert-gate-delay)) and-gate-delay)