NAND, NOR Gate의 진리표를 이해한다.
NAND, NOR Gate의 특징인 DeMorgan’s theorem을 이해하고 구현하다.
DeMorgan’s theorem을 이용하여 응용 문제를 해결하고 구현한다.
NAND 논리
A | B | Y |
---|---|---|
Low (GND) | Low (GND) | 1 |
Low (GND) | High (VCC) | 1 |
High (VCC) | Low (GND) | 1 |
High (VCC) | High (VCC) | 0 |
NAND Gate Using DeMorgan’s theorem
A | B | Y |
---|---|---|
Low (GND) | Low (GND) | 1 |
Low (GND) | High (VCC) | 1 |
High (VCC) | Low (GND) | 1 |
High (VCC) | High (VCC) | 0 |
Figure 1과 Figure 2의 동작이 동일한가? 그 이유에 대해 방정식으로 설명하시오.
Figure 1의 진리식과 Figure 2의 진리식은 하기의 식과 같습니다. 따라서 DeMorgan’s theorem 에 의해 Figure 2의 진리식은 Figure 1과 같아지게 됩니다. 즉, DeMorgan’s theorem 첫번째 A · B의 보수 취한 것이 A 의 보수와 B 의 보수와 합한 것과 같습니다
OrCAD 시뮬레이션에서도 마찬가지로 같은 결과가 나오는 것을 볼 수 있습니다
OrCAD 출력에서 나오는 ?? 현상은 무엇일까?
Time 을 늘려서 다음 신호에서도 동일한 현상이 나타나는지 확인해본 결과 의문의 신호가 사라지는 것을 볼 수 있었습니다. 따라서 의문의 신호는 Sampling Time 이 적절하지 않아서 발생한 현상인 것임을 알 수 있었습니다
NOR Gate
A | B | Y |
---|---|---|
Low (GND) | Low (GND) | 1 |
Low (GND) | High (VCC) | 0 |
High (VCC) | Low (GND) | 0 |
High (VCC) | High (VCC) | 0 |
### NOR Gate using DeMorgan’s theorem
A | B | Y |
---|---|---|
Low (GND) | Low (GND) | 1 |
Low (GND) | High (VCC) | 0 |
High (VCC) | Low (GND) | 0 |
High (VCC) | High (VCC) | 0 |
Figure 3과 Figure 4의 동작이 동일한가? 그 이유에 대해 방정식으로 설명하시오.
Figure 3의 진리식과 Figure 4의 진리식은 다음과 같습니다. 따라서 DeMorgan’s theorem 에 의해 Figure 4의 진리식은 Figure 3과 같아지게 됩니다. 즉, DeMorgan’s theorem 두번째 A + B의 보수 취한 것이 A 의 보수와 B 의 보수와 곱한 것과 같습니다.
OrCAD 시뮬레이션에서도 마찬가지로 같은 결과가 나오는 것을 볼 수 있습니다
Sum-of-products implement
A | B | C | Y |
---|---|---|---|
Low (GND) | Low (GND) | Low (GND) | 0 |
Low (GND) | Low (GND) | High (VCC) | 0 |
Low (GND) | High (VCC) | Low (GND) | 1 |
Low (GND) | High (VCC) | High (VCC) | 0 |
High (VCC) | Low (GND) | Low (GND) | 1 |
High (VCC) | Low (GND) | High (VCC) | 1 |
High (VCC) | High (VCC) | Low (GND) | 1 |
High (VCC) | High (VCC) | High (VCC) | 1 |
NAND Gates implement
A | B | C | Y |
---|---|---|---|
Low (GND) | Low (GND) | Low (GND) | 0 |
Low (GND) | Low (GND) | High (VCC) | 0 |
Low (GND) | High (VCC) | Low (GND) | 1 |
Low (GND) | High (VCC) | High (VCC) | 0 |
High (VCC) | Low (GND) | Low (GND) | 1 |
High (VCC) | Low (GND) | High (VCC) | 1 |
High (VCC) | High (VCC) | Low (GND) | 1 |
High (VCC) | High (VCC) | High (VCC) | 1 |
Figure 5와 Figure 6의 동작이 동일한가? 그 이유에 대해 방정식으로 설명하시오.
Figure 5의 진리식과 Figure 5의 진리식은 다음과 같습니다. 따라서 DeMorgan’s theorem 에 의해 Figure 5의 진리식은 Figure 6과 같아지게 됩니다.
OrCAD 시뮬레이션에서도 마찬가지로 같은 결과가 나오는 것을 볼 수 있습니다.
Product-of-sums implement
A | B | C | Y |
---|---|---|---|
Low (GND) | Low (GND) | Low (GND) | 0 |
Low (GND) | Low (GND) | High (VCC) | 0 |
Low (GND) | High (VCC) | Low (GND) | 1 |
Low (GND) | High (VCC) | High (VCC) | 1 |
High (VCC) | Low (GND) | Low (GND) | 1 |
High (VCC) | Low (GND) | High (VCC) | 0 |
High (VCC) | High (VCC) | Low (GND) | 1 |
High (VCC) | High (VCC) | High (VCC) | 1 |
NOR Gates implement
A | B | C | Y |
---|---|---|---|
Low (GND) | Low (GND) | Low (GND) | 0 |
Low (GND) | Low (GND) | High (VCC) | 0 |
Low (GND) | High (VCC) | Low (GND) | 1 |
Low (GND) | High (VCC) | High (VCC) | 1 |
High (VCC) | Low (GND) | Low (GND) | 1 |
High (VCC) | Low (GND) | High (VCC) | 0 |
High (VCC) | High (VCC) | Low (GND) | 1 |
High (VCC) | High (VCC) | High (VCC) | 1 |
Figure 7과 Figure 8의 동작이 동일한가? 그 이유에 대해 방정식으로 설명하시오.
Figure 7의 진리식과 Figure 8의 진리식은 다음과 같습니다. 따라서 DeMorgan’s theorem 에 의해 Figure 5의 진리식은 Figure 7과 같아지게 됩니다.
OrCAD 시뮬레이션에서도 마찬가지로 같은 결과가 나오는 것을 볼 수 있습니다.
실험에 대한 분석 및 고찰
DeMorgan’s theorem는 수리 논리학이나 집합론, 컴퓨터과학 등에서 집합의 관계를 정리한 것으로 전자 공학 분야에서 논리연산에 주로 사용이 된다고 합니다. 이 DeMorgan’s theorem을 이용해 FPGA라는 복잡 한 논리 구조를 통해 Field Programmable Gate Array를 논리 소자와 프로그래밍이 가능한 반도체 소자로 만듭니다. 주로 FPGA는 노이즈에 강한 특성을 가져 DSP, 우주 및 방산, 차량등에 많이 사용되고 의공학 적으로는 의료 영상 및 컴퓨터 비전, 암호학에서 주로 사용하고 있습니다. VHDL이라는 하드웨어 기술 언 어를 사용하는데 이를 통해 netlist가 생성이 되고 주요 성능 지표로는 마이크로프로세서의 시간 복잡도, 공간 복잡도가 아닌 논리 블록의 수로 평가가 되는 것으로 알고 있습니다. 이는 마이크로프로세서와 다르 게 한번에 병렬적인 실행 체계가 있기 때문입니다. 따라서 압도적인 계산 속도를 가질 수 있습니다.
FPGA 설계를 위한 Quartus 2 Verilog를 통해 검증을 진행해 보았습니다.
결론적으로 다른 진리식 ( Verilog Code )로 설계를 진행하였을 때 Simulation 결과와 NetList 가 똑같게 반도체가 설계되어 추출되는 것을 알 수 있습니다.