오래 못 할 짓 하지 않기

논리 설계 12 (Carry look ahead adder) 본문

2학년 1학기/논리 설계 ( Logic design )

논리 설계 12 (Carry look ahead adder)

쫑알bot 2023. 4. 10. 00:26
728x90

Carry look ahead adder

 

-  사용하는 이유 :  시간 절약


Propagation delay + carry out 주는 것까지 계산하는 시간을 생각하면 너무 길다.

그러므로 해당 게이트에서 정확한 값보다는 자리올림이 발생하는지만 파악 할 수 있는 식을 만든다.

따라서, AB = (Cin이 없을 때 carry out이 있는지 ) 혹은 (+) A xor B ( Cin이 있을 때 carry out이 있는지)를 확인하여 시간을 절약 

 

+
AB = Carry generator = 캐리 받은 거 없는데 만들어 내서 G(generator)라고 부름

A xor b = Carry propagation = 캐리 '받고' 만들어내는 놈이라서 P(propagation)라고 부름

 

 

Critical Path = [ 전체 회로에서 가장 오랜 딜레이를 유발하는 path]

즉 최장 딜레이 경로

 

하나하나 설명해주면

 

p: carry propagation

AB=10 또는 01일 때, Cin=1이면 Cout=1이다 (둘이 다를 때 = 둘 중에 하나가 1)

carry가 전달되었다는 의미로, p = A+B이다

OR 대신 XOR로 치환해 써도 된다

g: carry generator

AB=11일 때, Cin이 무엇이든 Cout=1이다

carry가 생성되었다는 의미로, g = AB이다.

 

c(i+1) ( = Cout) : G(i)+P(i) * C(i)

G나 P*Cin중에 하나만 1이어도 자리 올림이 발생했다는 뜻이므로 이런 식이 나옴

 

S(i) = P(i) XOR C(i) = Ai Xor Bi Xor C(i-1) 임

A,B 두 개가 다르면 1이고, 그걸 T라고 해보자

T =0(둘 다 같은 수) , C = 0 →  S = 0

T =0(둘 다 같은 수) , C = 1 →  S = 1

T =1(둘 다 다른 수) , C = 0 →  S = 1

T =1(둘 다 다른 수) , C = 1 →  S = 0

 


 

C 구해보기

C1 즉 C0에서 생긴 Cout은 이렇게 만들어진다.

이 C1이 다음 회로의 Input 중 하나가 될 것이다.

그 식은

이 식일 것이고, C1에 C1의 우변을 대입하면

 

 

이런 식이 나온다. 

 

큰 표로 보면

 

 이렇게 표현됨.

 

이 식을 회로로 그렸을 때

 

 이런 회로가 나오는데 가장 밑 회로에서는 C0*P0 + g0 임 올라갈 수록 복잡해지긴하는데 일단 보는 법만 알아두기

 

 

이것도 아직은 이해만 해놓자

 

[출처] Carry LookAhead (CLA) Adder로 딜레이 개선|작성자 뉴터

https://blog.naver.com/haran3056/222898833162 <<잘 알려주

 한동대학교 고윤민교수님 - 논리설계 PPT