본문 바로가기
728x90

디지털 논리회로6

디지털 논리회로 / Moore FSM과 Mealy FSM의 장단점 Moore FSM과 Mealy FSM Machine종류에는 moore machine과 mearly machine이 있다. Mealy machine : 출력이 현재 상태와 입력 모두에 의해서 결정된다. Glitch lssue에 의해 문제가 생길 수 있다. Mealy FSM : arcs indicate input / output Moore machine : 출력이 현재 상태에 의해서만 결정이 된다. Glitch issue 없이 안정적이다. 대부분의 system에서는 moore machine을 선호한다. 현재의 상태에만 의존을 하기 때문에 지금의 입력엔 무관하다. 좌측 : Moore machine, 우측 : Mealy machine Moore machine state에는 output이 정의 되어있다. Meal.. 2021. 5. 3.
디지털 논리회로 / Blocking과 non-blocking의 차이 Blocking Blocking 무언가를 막다라는 뜻을 가지고 있다. Blocking assignment는 simulation의 흐름을 막으면서 일을 하고 non-blocking은 막지 않으면서 일을 하고 있다. Blocking은 (=) 원패스이고 오른쪽 변수들이 업데이트 되는 순간에 왼쪽에 있는 변수들도 업데이트되는 것을 볼 수 있다. 예를 들어 a[3]=in;에서 in의 값이 바뀌는 순간에 a[3]도 1로 바뀌는 것을 알 수 있다. Blocking 문은 위에서부터 아래로 순서대로 실행되므로, 하나의 대입문의 실행이 완료되지 않으면 밑에 있는 대입문들은 처리되지 않는다. 대기상태를 가진다고 볼 수 있다. Execution flow within the procedure is blocked until th.. 2021. 5. 3.
디지털 논리회로 / carry와 overflow의 차이 4개 flag 중 carry와 overflow의 차이 C: MSB로부터 나오는 carry out 마지막 adder의 carry out이다. 64bit addition을 만들 때 하위 32bit addition과 상위 32bit addition 더하는데 C를 사용한다. Carry bit은 그 주어진 carry flag를 사용하여 다시 carry in 값으로 넣어주면서 상위 32bit을 더하는 데에 사용한다. C는 주어진 alu bit 수보다 큰 수를 연산할 때 더하거나 뺄 때 사용하게 된다. V : overflow는 31번째 co과 30번째 co을 exclusive한 것이다. overflow가 생기면 믿을 수 없는 연산결과가 생기기 때문에 flag C, N, Z가 모두 무의미하다. overflow가 생기지.. 2021. 5. 3.
디지털 논리회로 / carry look-ahead adder(CLA), 32-bits CLA와 32-bits RCA의 크기 속도 비교 CLA(carry look ahead adder)는 carry를 미리 보는 가산기인 ripple carry adder를 어떻게 하면 더 효율적으로 바꿀 수 있는가에 대한 고민에서 탄생한 회로이다. n-bits RCA는 full adder를 n개 연결시켜 만드는 가산기인데 여기서 n이 커질수록 full adder 연결사이에서 delay가 발생하게 되어 연산속도가 더 느려진다. Ripple이라는 단어의 뜻 그대로 carry 값이 아랫자리 수부터 파동 치며 올라와 마지막 full-adder의 Cin으로 값이 들어와야만 carry 값이 구해지므로 시간 낭비가 발생하게 된다. CLA는 generate와 propagate 두가지의 신호로 이루어져 있고, Gi = Ai * Bi , Pi = Ai + Bi 로 정의할 .. 2021. 5. 3.
디지털 논리회로 / halfadder, fulladder Halfadder 논리식 S = A ⊕ B, C = AB 1비트 이진수 두개를 더한 합 Sum(S)과 자리올림 수 Carry(C)를 구하는 회로이다. Fulladder 논리식 Co = ( A ⊕ B )Ci + AB, S = ( A ⊕ B ) ⊕ Ci 자리올림 수 Ci 한 개, 1비트 이진수2개, 총 3개의 이진수를 더하여 합(S)과 자리올림 수(Co)를 구하는 회로이다. RCA-4bit 2021. 5. 3.
디지털 논리회로 / 부호가 없는 수, 2의 보수, 병렬 이진 가감산기 부호가 없는 수(unsigned number, magnitude number) 부호가 없는 수(=unsigned number)은 말그대로 부호가 플러스 값 만을 가지는 것이다. 그 뜻은 마이너스 값이 없고 플러스 값 만을 가지는 것을 의미한다. 부호가 없는 수는 그냥 2진수 읽는 방법으로 읽게 되면 된다. 만약 4비트짜리 정수라면 0부터 15까지(0000~1111) 2의 세제곱만큼 값을 가지게 된다. 반대로 부호가 있는 정수의 표현방법은 sign magnitude, 1’s complement, 2’s complement가 있는데 이 수들은 앞의 수들이 부호를 나타나게 되어 마이너스와 플러스부호 두가지 경우를 나타낼 수 있다. 4비트짜리 정수라면 sign magnitude는 -7부터 7까지(1111~011.. 2021. 5. 3.