1. 문제 서술문의 부울식 변환
논리설계 문제는 종종 한 문장 또는 여러 문장을 사용하여 서술되기도 하는데, 논리회로 설계의 첫 단계는
이들 문장을 부울식으로 변환하는 것이다. 이렇게 하려면 각 문장을 구로 나누고 각 구를 부울변수와 연관시킨다.
ex) 만약 내가 일을 끝내고, 커피를 마시지 않았거나 충분한 수면을 취했다면, 나는 산책을 갈 것이다
A = 내가 일을 끝낸다.
B = 커피를 마셨다.
C = 충분한 수면을 취했다.
D = 산책을 간다.
A( ~B + C ) → D 이런식으로 바꿀 수 있다.
해당 논리식으로 회로를 설계할 수 있다.
2. 진리표를 사용하는 조합논리 설계
다음과 같은 회로도가 존재한다고 하고, 입력 A, B, C는 2진수 N의 첫 번째, 두 번째, 세 번째 비트이다.
회로의 출력은 N ≥ 011(2진수) 이면 f = 1 이고, N < 011(2진수)이면 f = 0이다.
출력 조건을 고려하여 진리표를 작성한다면 다음과 같을 것이다.
f = 1인 경우만 대수식으로 표현한다. 그리고 OR해주면 된다.
A`BC + AB`C` + AB`C + ABC` + ABC
다음 식을 간략화 하면 A + BC 형태가 나온다.
이것을 회로도로 표현하면 끝이다.
또는, 1에 대하여 구하지 않고, 0에 대하여 구할 수도 있다. 이번에는 AND 해준다.
( A + B + C ) ( A + B + C ) ( A + B + C ) 이런식으로 나온다.
이것도 간략화 해보면 A + BC 가 나온다.
3. 최소항과 최대항의 전개
- 최소항과 쵀대항에서는 각각의 변수들이 모든 가능한 상태를 포함하는 항이다.
3.1 최소항
최소항은 논리 함수가 '1'이 되는 모든 입력 조합을 나타내는 부울식.
최소항은 각 변수의 가능한 상태(참 또는 거짓)를 AND 연산으로 결합하여 생성된다.
f = A`BC + AB`C` + AB`C + ABC` + ABC 라고 하면
0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
f(A, B, C) = m3 + m4 + m5 + m6 + m7 이고
f(A, B, C) = ∑m(3, 4, 5, 6, 7)
3.2 최대항
논리 함수가 '0'이 되는 모든 입력 조합을 나타내는 부울식.
최대항은 각 변수의 가능한 상태(참 또는 거짓)를 OR 연산으로 결합하여 생성된다.
f = ( A + B + C ) ( A + B + C` ) ( A + B` + C ) 이면
0 0 0 0 0 1 0 1 0
f(A, B, C) = M0,M1,M2 이고,
f(A, B, C) = ∏M(0, 1, 2) 이다.
최소항과 최대항에서 각 변수는 항상 보수 또는 보수가 아닌 형태로 꼭 존재해야 한다.
각 최대항은 대응하는 최소항의 보수와 같다.
4. 일반적 최소항과 최대항 전개
5. 비완전 명세함수
일부 입력 조건에 대해 출력이 정의되지 않는 함수이다.
이 함수는 일부 입력 조합에 대해 결과가 명확하지 않거나 결정되지 않았을 때 사용된다.
나타나지 않는 항들은 무관항이라고 하고 X로 표시한다.
즉, 무관항들은 0값을 가지든 1값을 가지든 상관이 없다.
5.1 F를 함수로 실현할 때
함수를 실현할 때는 무관항에 대하여 값을 결정한다.
- X 두개에 0 할당
- 첫 X에 1, 두 번째 X에 0을 할당
- 첫 X에 0, 두 번째 X에 1을 할당
- X 두개에 1 할당
위의 경우 중 가장 간략한 결과를 선택하면 된다.
5.2 표현법
비완전 명세함수에 대한 최소항 전개를 할 때 필요 최소항을 나타낼 때는 m 을 사용하고
무관항을 나타낼 때는 d를 사용한다.
F = ∑m (0,3,7) + ∑d (1,6)
또한, F = X (무관) 이면, m1은 무관 최소항이고 M1은 무관 최대항이다.
무관 최대항은 D를 사용하여 표현한다.
F = ∏M (2,4,5) * ∏D (1,6)
'School > 논리회로' 카테고리의 다른 글
3장 부울 대수 (계속) (0) | 2024.05.15 |
---|---|
2장 부울 대수 (0) | 2024.05.15 |
1장 수 체계와 변환 (0) | 2024.05.13 |