📚개요

디지털 시스템을 구성하는 논리회로에는 조합논리회로와 순서논리회가 있습니다.

  • 조합논리회로: 현재의 입력에 대해서 현재 입력의 논리조합에 의해서만 출력값이 결정되는 회로입니다.

  • 순서논리회로: 조합논리회로에 저장요소를 추가한 회로로서, 저장요소의 상태와 입력변수에 의해서 출력이 결정됩니다.

  • 조합논리회로 블럭도

CombinationalLogicCircuits




📚조합논리회로의 분석과 설계

📄조합논리회로의 분석

논리회로에 대해서 입출력 관계를 구하는 것을 분석이라고 합니다. 조합논리회로의 경우 입출력 관계는 부울함수나 진리표로 표현되므로 회로의 동작을 설명하는 부울함수나 진리표를 구함으로써 조합논리회로의 분석이 이뤄집니다.

  • 부울함수 유도
    1. 입력변수들의 함수인 모든 게이트의 출력에 임의의 기호를 부여하고 각 게이트의 부울함수를 구합니다.
    2. 단계 1에서 만든 출력 부울함수를 입력으로 하는 게이트의 출력에 다시 임의의 기호를 붙여 각 게이트에 대한 부울함수를 구합니다.
    3. 회로의 최종 출력에 대한 부울함수를 얻을 때까지 단계 2를 반복합니다.
  • 진리표 작성
    1. 회로에서 입력변수의 개수를 정하고, n개의 입력에 대해 표에 0 부터 2n-1까지 모두 2n개의 2진수 리시트를 작성합니다.
    2. 선택한 중간 출력게이트에 임의의 기호를 붙입니다.
    3. 입력변수로만 이루어진 출력게이트에 대하여 진리표를 작성합니다.
    4. 모든 출력란을 작성할 때까지 중간 출력함수들을 정리해 나갑니다.



📄조합논리회로의 설계

조합논리회로의 설계는 문제에 대한 설명으로부터 논리회로도나 논리회로를 작성할 수 있는 부울함수를 구하는 과정입니다.

  • 조합논리회로 설계과정
    1. 주어진 문제로부터 입력변수와 출력변수의 개수를 결정하고 각각을 적당한 기호로 표시하여 블록도를 그립니다.
    2. 입력변수와 출력변수의 관계를 정의하는 진리표를 작성합니다.
    3. 각각의 출력을 입력변수의 함수(정규형)로 나타내고 간소화합니다.
    4. 논리회로도를 그립니다.




📚기본 연산회로

조합논리회로는 산술회로인 연산회로와 데이터 전송에 관련된 각종 조합논리회로로 구별됩니다.

  • 산술연산회로
    • 가산기: 덧셈회로
    • 감산기: 뺄셈회로
    • 승산기: 곱셈회로
    • 제산기: 나눗셈회로



📄가산기

가산기(Adder)는 2진수의 덧셈을 수행하는 조합논리회로입니다.

  • 반가산기(Half Adder)
    두 비트의 덧셈을 수행하는 산술회로로 2개의 입력과 2개의 출력으로 구성됩니다.

HA

HACircuits


  • 전가산기(Full Adder)
    세 비트의 덧셈을 수행하는 산술회로로 3개의 입력과 2개의 출력으로 구성됩니다.

FA

FACircuits


  • 직병렬 가산기
    2개의 비트와 바로 전 자릿수의 올림수를 더한 회로인 전가산기를 확장하면 각각 n비트로 이루어진 2개의 2진수도 전가산기를 이용하여 더할 수 있습니다. 2개의 n비트로 된 2진수를 더하는 방법에는 직렬방법과 병렬방법이 있습니다.

    • 직렬방법: 직렬가산기는 회로 구성비용이 저렴하지만 연산속도가 느린 단점이 있습니다. 그리고 직렬가산기는 전가산기 1개와 출력 올림수를 유지하는 저장요소로 구성됩니다.

      SerialAdder


    • 병렬방법: 병렬가산기는 직렬가산기의 문제를 해결하여 연산속도가 빠릅니다. 두 2진수의 산술합을 병렬로 수행하는 방법으로 2진 병렬가산기는 전가산기를 연속연결하여 구성합니다.

      ParallelAdder



📄감산기

감산기(Subtractor)는 2진수의 뺄셈을 수행하는 조합논리회로입니다. 두 2진수 사이의 뺄셈은 보수를 이용하여 간단하게 수행할 수 있습니다. 부울식 A - B의 감산은 B의 2의 보수를 취하여 A에 더함으로써 구할 수 있습니다.

  • 반감산기(Half Subtractor)
    두 비트의 뺄셈을 수행하는 산술회로로 2개의 입력과 2개의 출력으로 구성됩니다.

HS

HSCircuits


  • 전감산기(Full Subtractor)
    두 비트의 뺄셈을 수행하는 산술회로로 2개의 입력과 2개의 출력으로 구성됩니다.

FS

FSCircuits


  • 병렬 가감산기
    디지털 시스템에서 2진 감산은 가산기를 사용하여 수행하는 것이 일반적입니다. 그 이유는 가산기만을 사용하여 전체 회로를 최소화할 수 있기 때문입니다. 2진 감산은 1의 보수를 이용한 뺄셈과 2의 보수를 이용한 뺄셈이 이용됩니다. 부울식 A - B의 뺄셈은 B의 2의 보수를 취하여 A에 더하게 되는데 여기서 2의 보수는 1의 보수를 취한 값의 최소 유효 비트에 1을 더하는 것과 같습니다. 그리고 1의 보수는 인버터를 이요하여 쉽게 구할 수 있고 병렬가산기에서 입력올림수를 1로 하면 합의 값에 1을 더할수 있으므로 2의 보수가 구해집니다.

    • 4비트 병렬감산기: 병렬가산기의 B단자와 가산기 사이에 인버터(1의 보수)를 추가하였고 입력 올림수 C0는 1로 구성하였습니다.(2의 보수)

      ParallelSubtractor


    • 4비트 가감산기: 가산기만을 사용하여 덧셈과 뺄셈을 수행합니다.

      AdderSubtractor



Leave a comment