Truth Table
-
2012.02.16 [Karnaugh Map] 3-variable
모양 2-variable 에서 확장하여 이번엔 3-variable Karnaugh map을 살펴보자. 아래쪽으로 길쭉한 형태인데, 이번엔 A, B 두개가 아니라 A, BC로 표현되어 있기 때문이다. (AB, C라면 가로로 길쭉한 모양이 될 것이다. 어느쪽으로 긴지 짧은지는 큰 상관이 없다.) BC로 표현되면서 0, 1이 아닌 00, 01, 11, 10이 각 행별로 쓰여져 있다. 각 행은 BC가 00, 01, 11, 10에 해당하는 숫자가 된다. 그림에서도 볼 수 있듯이 ABC = 001을 가리키고 있는 화살표를 살펴보면 BC = 01, A = 0 임을 볼 수 있다. 이러한 방식으로 truth table의 각 숫자들이 배치된다. 주의할 점은 00, 01, 11, 10이라는 숫자의 배치가 서로 뒤섞여서는 안..
-
2012.02.16 [Karnaugh Map] 2-variable
유용성 지금까지의 simplification 방법은 물론 유용하긴 하지만 일반적으로 적용하기 어려운 것이 사실이다. 좀 더 간단하게 simplify하기 위한 방법 중 하나가 Karnaugh map이다. Variable이 2~5개 정도인 expression이나 equation에 대해서 상당히 유용한 방법이다. 해야할 일은 Karnaugh map을 만들고, 'looping' 과정을 통해서 minimum solution을 얻는 것이다. 그 과정이 몇 줄에 걸쳐서 식을 쓰는 것에 비해 비교적 간단하기 때문에 자주 사용되며, Boolean algebra를 이용해 얻은 식이 minimum solution인지 확인하는데 쓰이기도 한다. 모양 위 그림은 2개의 variable에 대해 Karnaugh map의 틀을 그려..
-
2012.02.14 [Truth Table] Design of Binary Subtracter
Using Full Adder Subtraction은 이전에도 end-around carry를 말하면서 언급되었듯이 full adder를 이용해서도 구현이 가능하다. 1's complement를 사용할 것인가 2's complement를 사용할 것인가가 중요한 문제가 되며, 둘 중 어찌되었든 A - B 를 계산하려면 B의 complement를 A에 더하면 된다. 위 그림은 2's complement를 이용한 것이다. 단지 NOT gate만 달아줬을 뿐인데 왜 2's complement가 될까 라는 의문이 든다면 맨 오른쪽 full adder cell의 carry in이 1이라는 것을 보면 이해가 될 것이다. 이 carry in 을 통해서 1's complement가 아닌 2's complement가 된다..
-
2012.02.14 [Truth Table] Design of Binary Adders
Block Diagram and Function of Binary Adder 이번 포스트에서는 2개의 unsigned 4bit 덧셈을 하는 parallel adder를 설계해 볼 것이다. 여기서 unsigned는 따로 sign bit를 사용하지 않는 것을 의미한다. Sign bit의 내용은 이전 포스트 'Negative Numbers'를 참고하기 바란다. 쉽게 말하면 0을 포함한 양수계산을 하는 adder를 설계하는 것이다. 위 그림은 4-bit parallel adder의 대략적인 모습을 나타내고 있다. 이렇게 어떤 복잡한 system을 모두 표현하는 대신 block 형태로 간단히 표시하고 input과 output만을 표시한 것을 block diagram이라고 한다. Block으로 들어가는 화살표는 i..
-
2012.02.13 [Truth Table] Incompletely Specified Functions
Don't Care 비교적 큰 규모의 digital system은 많은 subcircuit으로 나뉜다. 위 그림과 같이 2개의 subcircuit N_1과 N_2이 있는 system을 생각해 보자. 만약, w, x, y, z의 어떤 조합도 ABC = 001 이나 110 이 되는 output을 만들어내지 않는다고 가정하자. 즉, ABC는 001이나 110의 값을 가지는것이 불가능하다. 그렇다면 이때의 F는 어떻게 정의될까? 결론 부터 말하자면, 정의할 필요가 없다. 즉, ABC = 001 or 110 이 되는 그러한 상황에 대해서 고려하지 않더라도 시스템을 분석하는데 문제가 없다. 이런 경우에 우리는 N_2에 대해 다음과 같이 truth table을 만들어볼 수 있다. 위의 truth table을 보면, ..
-
2012.02.10 [Truth Table] Minterm and Maxterm Expansions
Minterm & Maxterm n개의 variable, A, B, C ... 가 있다고 하자. 각각의 variable 또는 그의 complement(A' 와 같은)를 한번씩만 사용하여 어떤 곱을 만든것을 minterm이라고 한다. 예를 들면, variable이 A, B, C 3가지가 있다면, ABC, ABC', A'BC ... 와 같은 것들을 minterm이라고 부를 수 있다. 각각의 variable 또는 그의 complement(A' 와 같은)를 한번씩만 사용하여 어떤 합을 만든것을 maxterm이라고 한다. 예를 들면, variable이 A, B, C 3가지가 있다면, A + B + C, A + B + C' ... 와 같은 것들을 maxterm이라고 할 수 있다. Minterm & Maxterm E..