combinational logic

David8·2022년 4월 4일
0

논리설계

목록 보기
2/8

1. 용어

  1. literal: 변수 하나하나(컴플리먼트 포함)
  2. product term: and로 연결된 하나 또는 그 이상의 literals
    1. minterm: 모든 변수가 포함된 product term
    2. sum of products: or로 연결된 하나 또는 그 이상의 product terms
  3. sum term: or로 연결된 하나 또는 그 이상의 literals
    1. maxterm: 모든 변수가 포함된 sum term
    2. product of sum: and로 연결된 하나 또는 그 이상의 sum terms
  4. standard form
    1. sum of product
    2. product of sum
  5. canonical form --> 진리표에 대한 표준 algebraic expression(여러개의 표현 중 가장 기본이 되는 식)
    1. sum of minterms(Σ)
    2. product of maxterms(𝝿)
    3. standard form이 canonical form을 포함함
      1. standard form 중 특정 조건을 만족하는 것이 canonical form임

2. levels of logic

  1. levels of logic --> 그 function에서 거치는 가장 많은 게이트의 갯수
    1. not 게이트는 포함x --> 입력 변수를 컴플리먼트 하거나 게이트에 not을 붙여 제거 할 수 있음

3. xor & xnor

  1. xor
    1. 입력에서 1의 갯수가 홀수이면 1 출력, 짝수이면 0 출력 --> 인풋의 갯수가 많을 때에도 마찬가지
    2. 인풋이 여러개 인 경우 0은 몇개가 들어오던 xor게이트를 지나면 결국은 0이 남음, 1의 경우는 홀수이면 1이 하나가 남아서 결과값이 1이 되고 짝수이면 결과값이 0이 됨!
  2. xnor
    1. 입력에서 0의 갯수가 짝수이면 1 출력, 홀수이면 0출력
      1. 인풋이 여러개 인 경우 1에 대해서는 몇개가 있던 xnor게이트를 통과하면 모두 1임 --> 그렇기에 0의 갯수가 짝수이면 본인들끼리 xnor게이트를 통해 모두 1이 되고, 홀수이면 0이 남게 되어서 결과값이 1이 됨!(xnor게이트는 교환법칙이 성립하기 때문에 가능, 식을 그려보면 이해감)
  3. xor, xnor는 인풋 변수가 두개씩 밖에 안됨 --> 인풋 변수가 여러개 인 경우는 xor, xnor게이트를 여러번 사용하기!
  4. xor <-> xnor 변환
    1. f'=(a⊕b⊕c⊕d⊕e)'= a⊙b⊕c⊕d⊕e = a⊕b⊕c⊙d⊕e --> 어느 곳이든 이들 중 하나만 xnor로 변경하면 됨
      1. a, (b⊕c⊕d⊕e)를 두개의 항으로 보고 연산을 진행
    2. f'=(a⊙b⊙c⊙d⊙e)'= a⊕b⊙c⊙d⊙e = a⊙b⊙c⊕d⊙e
    3. n(인풋 개수) 짝수 --> f'=g (a⊕b⊕c⊕d⊕e)' = a⊙b⊙c⊙d⊙e
    4. n 홀수 --> f=g a⊕b⊕c⊕d⊕e = = a⊙b⊙c⊙d⊙e

4. 카르노맵

  1. boolean expression을 간단하게 하기 위해 사용 --> sum of minterms의 형식으로 나태내어 지는 것이 아님, 식을 간단히 하기 위해 사용
  2. 규칙
    1. 인접한 셀은 하나의 변수만이 차이가 나야함
    2. 묶을 때는 2의 n승 개수 만큼 묶어야 함(1개도 포함), 묶을 수 있는 한 가장 크게 묶어야 함, 가장 적은 수의 그룹으로
    3. 사이드끼리 묶을 수 있음
  3. 유의사항
    1. 변수가 4개인 경우 각 셀에 대한 순서를 유의!([0132][4576] [12,13,15,14][89,11,10])
    2. 변수 5개인 경우 --> 복잡하기 때문에 변수 4개 이상의 카르노맵은 잘 사용하지 않음!
      1. a=0, a=1 경우 나누어서 생각
        1. 두개의 카르노맵이 수직으로 포개져 있다고 생각

hazard

  1. circuit을 지날 때 발생하는 propagation 딜레이로 인해 발생 --> 변수 값이 변화 될 때 ouput값이 바뀌면 안되는 곳에서 값이 바뀌는 현상

  2. 종류

    1. static 1-hazard

    2. static 0-hazard

    3. dynamic hazard

0개의 댓글