[Circuits]조합논리회로(1)
📚개요
디지털 시스템을 구성하는 논리회로에는 조합논리회로와 순서논리회가 있습니다.
-
조합논리회로: 현재의 입력에 대해서 현재 입력의 논리조합에 의해서만 출력값이 결정되는 회로입니다.
-
순서논리회로: 조합논리회로에 저장요소를 추가한 회로로서, 저장요소의 상태와 입력변수에 의해서 출력이 결정됩니다.
-
조합논리회로 블럭도
📚조합논리회로의 분석과 설계
📄조합논리회로의 분석
논리회로에 대해서 입출력 관계를 구하는 것을 분석이라고 합니다. 조합논리회로의 경우 입출력 관계는 부울함수나 진리표로 표현되므로 회로의 동작을 설명하는 부울함수나 진리표를 구함으로써 조합논리회로의 분석이 이뤄집니다.
- 부울함수 유도
- 입력변수들의 함수인 모든 게이트의 출력에 임의의 기호를 부여하고 각 게이트의 부울함수를 구합니다.
- 단계 1에서 만든 출력 부울함수를 입력으로 하는 게이트의 출력에 다시 임의의 기호를 붙여 각 게이트에 대한 부울함수를 구합니다.
- 회로의 최종 출력에 대한 부울함수를 얻을 때까지 단계 2를 반복합니다.
- 진리표 작성
- 회로에서 입력변수의 개수를 정하고, n개의 입력에 대해 표에 0 부터 2n-1까지 모두 2n개의 2진수 리시트를 작성합니다.
- 선택한 중간 출력게이트에 임의의 기호를 붙입니다.
- 입력변수로만 이루어진 출력게이트에 대하여 진리표를 작성합니다.
- 모든 출력란을 작성할 때까지 중간 출력함수들을 정리해 나갑니다.
📄조합논리회로의 설계
조합논리회로의 설계는 문제에 대한 설명으로부터 논리회로도나 논리회로를 작성할 수 있는 부울함수를 구하는 과정입니다.
- 조합논리회로 설계과정
- 주어진 문제로부터 입력변수와 출력변수의 개수를 결정하고 각각을 적당한 기호로 표시하여 블록도를 그립니다.
- 입력변수와 출력변수의 관계를 정의하는 진리표를 작성합니다.
- 각각의 출력을 입력변수의 함수(정규형)로 나타내고 간소화합니다.
- 논리회로도를 그립니다.
📚기본 연산회로
조합논리회로는 산술회로인 연산회로와 데이터 전송에 관련된 각종 조합논리회로로 구별됩니다.
- 산술연산회로
- 가산기: 덧셈회로
- 감산기: 뺄셈회로
- 승산기: 곱셈회로
- 제산기: 나눗셈회로
📄가산기
가산기(Adder)는 2진수의 덧셈을 수행하는 조합논리회로입니다.
- 반가산기(Half Adder)
두 비트의 덧셈을 수행하는 산술회로로 2개의 입력과 2개의 출력으로 구성됩니다.
- 전가산기(Full Adder)
세 비트의 덧셈을 수행하는 산술회로로 3개의 입력과 2개의 출력으로 구성됩니다.
-
직병렬 가산기
2개의 비트와 바로 전 자릿수의 올림수를 더한 회로인 전가산기를 확장하면 각각 n비트로 이루어진 2개의 2진수도 전가산기를 이용하여 더할 수 있습니다. 2개의 n비트로 된 2진수를 더하는 방법에는 직렬방법과 병렬방법이 있습니다.- 직렬방법: 직렬가산기는 회로 구성비용이 저렴하지만 연산속도가 느린 단점이 있습니다. 그리고 직렬가산기는 전가산기 1개와 출력 올림수를 유지하는 저장요소로 구성됩니다.
- 병렬방법: 병렬가산기는 직렬가산기의 문제를 해결하여 연산속도가 빠릅니다. 두 2진수의 산술합을 병렬로 수행하는 방법으로 2진 병렬가산기는 전가산기를 연속연결하여 구성합니다.
- 직렬방법: 직렬가산기는 회로 구성비용이 저렴하지만 연산속도가 느린 단점이 있습니다. 그리고 직렬가산기는 전가산기 1개와 출력 올림수를 유지하는 저장요소로 구성됩니다.
📄감산기
감산기(Subtractor)는 2진수의 뺄셈을 수행하는 조합논리회로입니다. 두 2진수 사이의 뺄셈은 보수를 이용하여 간단하게 수행할 수 있습니다. 부울식 A - B의 감산은 B의 2의 보수를 취하여 A에 더함으로써 구할 수 있습니다.
- 반감산기(Half Subtractor)
두 비트의 뺄셈을 수행하는 산술회로로 2개의 입력과 2개의 출력으로 구성됩니다.
- 전감산기(Full Subtractor)
두 비트의 뺄셈을 수행하는 산술회로로 2개의 입력과 2개의 출력으로 구성됩니다.
-
병렬 가감산기
디지털 시스템에서 2진 감산은 가산기를 사용하여 수행하는 것이 일반적입니다. 그 이유는 가산기만을 사용하여 전체 회로를 최소화할 수 있기 때문입니다. 2진 감산은 1의 보수를 이용한 뺄셈과 2의 보수를 이용한 뺄셈이 이용됩니다. 부울식 A - B의 뺄셈은 B의 2의 보수를 취하여 A에 더하게 되는데 여기서 2의 보수는 1의 보수를 취한 값의 최소 유효 비트에 1을 더하는 것과 같습니다. 그리고 1의 보수는 인버터를 이요하여 쉽게 구할 수 있고 병렬가산기에서 입력올림수를 1로 하면 합의 값에 1을 더할수 있으므로 2의 보수가 구해집니다.- 4비트 병렬감산기: 병렬가산기의 B단자와 가산기 사이에 인버터(1의 보수)를 추가하였고 입력 올림수 C0는 1로 구성하였습니다.(2의 보수)
- 4비트 가감산기: 가산기만을 사용하여 덧셈과 뺄셈을 수행합니다.
- 4비트 병렬감산기: 병렬가산기의 B단자와 가산기 사이에 인버터(1의 보수)를 추가하였고 입력 올림수 C0는 1로 구성하였습니다.(2의 보수)
Leave a comment