논리회로 및 실험 C++을 이용한 논리회로 기초 실습 Mar. 25. 2007 김 준 영(juny924@gmail.com)
논리 게이트 설계 (1) 논리 게이트의 공통적인 동작 개별 게이트의 세부적인 동작 Ex) NAND gate 입력 x 출력 F 논리 연산 입력 y 입력 x 출력 F Override NAND 연산 입력 y 입력 x 출력 F
논리 게이트 설계 (2) 게이트의 동작 방식 착안 Class 설계하기 2개의 입력을 받는다. 논리 연산을 한다. 1개의 출력을 생성한다. Class 설계하기 연산 결과를 가지는 field 2개의 입력을 받는 method 경우에 따라 1개의 입력만을 필요로 할 수도 있다. (ex: NOT gate) 입력 받은 논리 값에 대한 연산을 수행하는 method 각각의 gate마다 논리 연산이 다르기 때문에 override할 수 있도록 한다. 결과 값을 return하는 method
Gate의 기본 틀 설계 (1)
Gate의 기본 틀 설계 (2)
Gate의 기본 틀 설계 (3)
Gate의 기본 틀 설계 (4)
논리 게이트의 구현 NAND gate 구현하기 NAND gate 구현을 위한 Class 설계 dafaultGate 클래스를 상속받는다. gateOperation() method에서 NAND 논리 연산을 수행하도록 override한다. x y F (x, y) 1 x y F (x, y)
실습 과제 #1 AND, OR, XOR, NOR 게이트 구현 Truth table및 각 게이트의 특성 등은 교재 참조. 각 게이트는 defaultGate 클래스를 상속받아서 구현한다. Source는 헤더(.h)와 구현부(.cpp)로 구성한다. Ex) AND 게이트 구현: and.h + and.cpp .h 파일에는 class 정의 .cpp 파일에는 method 정의 테스트 결과는 각 게이트별 truth table을 출력하는 것으로 한다.
과제 관련 참고사항 테스트 결과 예시 (NAND 게이트)