논리 회로

덤프버전 :


전자기학
Electromagnetism

[ 펼치기 · 접기 ]
기초 개념
관련 수학 이론
[math(\boldsymbol{\nabla})] · 디랙 델타 함수 · 연속방정식 · 분리 벡터
전기 · 자기
개념
전자기력 · 전자기 유도(패러데이 법칙) · 맥스웰 방정식 · 전자기파 · 포인팅 벡터 · 전자기학의 경계치 문제 · 전자기파 방사
정전기학
전하 · 전기장 · 전기 변위장 · 전기 퍼텐셜 · 가우스 법칙 · 전기 쌍극자 모멘트 · 유전율 · 대전현상 · 정전용량 · 시정수 · 정전기 방전
정자기학
자성 · 자기장 · 자기장 세기 · 자기 퍼텐셜 · 자기 쌍극자 모멘트 · 로런츠 힘 · 홀 효과 · 비오-사바르 법칙 · 앙페르 법칙 · 투자율
구현체
자석(전자석) · 발전기 · 전동기
회로이론 · 전자회로
개념
회로 기호도 · 전류 · 전압 · 전기 저항(비저항 · 전기 전도도) · 전력(전력량) · 직류 · 교류 · 키르히호프의 법칙 · 중첩의 원리 · 삼상
소자
수동소자: 직류회로(휘트스톤 브릿지) · RLC회로(커패시터 · 인덕터 · 레지스터), 변압기
능동소자: 전원 · 다이오드 · 트랜지스터 · 연산 증폭기
응용 및 심화개념
관련 학문
상대론적 전자기학 · 양자 전기역학 · 응집물질물리학 · 고체물리학 · 전자공학 · 전기공학 · 제어공학 · 물리화학 · 광학 · 컴퓨터 과학(컴퓨터 공학)
토픽
이론
광자 · 게이지 장(역장 · 장이론) · 물질파(광전효과) · 다중극 전개 · 맥스웰 변형 텐서 · 방사선 · 반도체 · 전기음성도 · 와전류 · 방전 · 자극 · 표피효과 · 동축 케이블
음향
앰프(파워앰프 · 프리앰프 · 인티앰프 · 진공관 앰프) · 데시벨 · 네퍼

반 데르 발스 힘(분산력) · 복사 · 전도(전도체 · 열전 효과) · 초전도체 · 네른스트 식
광학
굴절(굴절률 · 페르마의 원리) · 스넬의 법칙 · 산란 · 회절 · 전반사 · 수차(색수차) · 편광 · 분광학 · 스펙트럼 · 렌즈(얇은 렌즈 방정식) · 프리즘 · 거울(구면 거울 방정식) · (색의 종류 · RGB)
전산
논리 연산 · 논리 회로 · 오토마타(프로그래밍 언어) · 임베디드 · 컴퓨터 그래픽스(랜더링) · 폴리곤 · 헥스코드
생물
생체신호(생체전기 · BCI) · 신경계(막전위 · 활동전위 · 능동수송) · 신호전달 · 자극(생리학)(베버의 법칙 · 역치)
관련 문서
물리학 관련 정보 · 틀:전기전자공학 · 전기·전자 관련 정보 · 틀:이론 컴퓨터 과학 · 틀:컴퓨터공학
}}}

'''이론 컴퓨터 과학
{{{#fff

Theoretical Computer Science
'''

[ 펼치기 · 접기 ]
이론
기본 대상
수학기초론(수리논리학(논리 연산) · 계산 가능성 이론 · 범주론 · 집합론) · 이산수학(그래프 이론) · 수치해석학 · 확률론통계학] · 선형대수학
다루는 대상과 주요 토픽
계산 가능성 이론
재귀함수 · 튜링 기계 · 람다 대수 · 처치-튜링 명제 · 바쁜 비버
오토마타 이론
FSM · 푸시다운 · 튜링 머신(폰노이만 구조) · 정규 표현식 · 콘웨이의 생명 게임
계산 복잡도 이론
점근 표기법 · 튜링 기계^고전, PRAM, 양자, 비결정론적^ · 알고리즘 · 자료구조 · 알고리즘 패러다임(그리디 알고리즘, 동적 계획법)
수학적 최적화
조합 최적화
외판원 순회 문제 · 담금질 기법 · 유전 알고리즘 · 기계학습
볼록 최적화
내부점 방법 · 경사하강법
선형계획법
심플렉스법
정보이론
데이터 압축(무손실 압축 포맷 · 손실 압축 포맷) · 채널 코딩(채널 용량) · 알고리즘 정보 이론(AIT) · 양자정보과학
컴퓨팅 방법론
병렬 컴퓨팅(병렬 아키텍처 · 암달의 법칙 · 병렬 알고리즘) · 분산 컴퓨팅(분산 알고리즘 · 클러스터 컴퓨팅 · 그리드 컴퓨팅 · 클라우드 컴퓨팅) · 멀티코어 컴퓨팅 · 대칭형 다중 처리(SMP)
암호학
해시(MD5 · 암호화폐 · 사전 공격(레인보우 테이블) · SHA) · 양자 암호
대칭키 암호화 방식
블록 암호 알고리즘(AES · ARIA · LEA · Camellia) · 스트림 암호 알고리즘(RC4)
공개키 암호화 방식
공개키 암호 알고리즘(타원 곡선 암호 · RSA) · 신원 기반 암호 알고리즘(SM9)
프로그래밍 언어이론
프로그래밍 언어(함수형 언어 · 객체 지향 프로그래밍) · 메타 프로그래밍 · 형식언어 · 유형 이론 · 프로그래밍 언어 의미론 · 컴파일러 이론
주요 알고리즘 및 자료구조
기초
정렬 알고리즘 · 순서도 · 탐색 알고리즘
추상적 자료형 및 구현
배열^벡터^ · 리스트^연결 리스트^ · 셋(set)^레드-블랙 트리, B-트리^ · 우선순위 큐^, 피보나치 힙^
계산 수론 및 암호학
밀러-라빈 소수판별법 · Pollard-rho 알고리즘 · 쇼어 알고리즘 · LLL 알고리즘
계산기하학
볼록 껍질 · 들로네 삼각분할 및 보로노이 도형^Fortune의 line-sweeping 알고리즘^ · 범위 탐색^vp-tree, R-tree^ · k-NN
그래프 이론
탐색^BFS, DFS, 다익스트라 알고리즘, A* 알고리즘^ · 에드몬드-카프 · 크루스칼 알고리즘 · 위상 정렬 · 네트워크 이론
정리
정지 문제대각선 논법 · 암달의 법칙 · P-NP 문제미해결 · 콜라츠 추측미해결
틀:이산수학 · 틀:수학기초론 · 틀:컴퓨터공학




[ 펼치기 · 접기 ]
기반 학문
수학 (해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학 (환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학 (형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학
SoC · CPU · GPU(그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품
기술
기계어 · 어셈블리어 · C(C++ · C\#) · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍(디자인 패턴) · 해킹 · ROT13 · OTP · IoT · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시(SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화
연구및 기타 문서
논리 회로(보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 디자인 패턴 · 데이터베이스 · 프로그래밍 언어{컴파일러(어셈블러 · JIT) · 인터프리터 · 유형 이론} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩(유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도(최적화) · 소프트웨어 개발 방법론 · 정보처리이론 · 재귀 이론 · 자연 언어 처리(기계 번역 · 음성인식)
}}}



1. 정의
2. 종류
3. 논리 게이트
3.1.1. IEC 기호
3.1.2. ANSI 기호
3.1.3. DIN 기호
4. 교과목
4.1. 내용
4.1.1. Combinational Logic(조합 논리)
4.1.2. Sequential Logic(순차 논리)
5. 연관되는 교과목
6. 각종 시험에서의 출제
7. 관련 문서



1. 정의[편집]


/ Logic circuit

불 대수(Boolean algebra)를 이용하여 1개 이상의 논리 입력을 일정한 논리 연산에 의해 1개의 논리 출력을 얻는 회로이다. 1937년에 석사 과정 대학원생이던 클로드 섀넌이 불 대수를 전자회로의 해석에 도입하여 디지털 논리 회로 이론을 창시하였다. 즉, 서로를 반대하는 수로 0과 1뿐인 2진법의 해석을 따른다.

전자 회로(electronic circuit)의 구성 요소들을 이용하여 만든 논리 게이트(NAND, NOR, NOT 등)를 이용해 원하는 동작을 구현하는, 현대의 디지털 시대를 이끈 학문이다.

간단하고 쉽게 설명하자면, ‘모여서 전자기기 등 다른 더 복잡한 전기 회로들을 구성하는 가장 기초적인 회로’ 정도로 생각하면 된다.


2. 종류[편집]


크게 순서논리회로와 조합논리회로가 있다.

조합논리회로는 기억장치가 없고, 외부의 입력만을 사용하여 출력을 만들어내는 논리 회로이다.

순서논리회로는 기억장치가 있어서 내부적으로 특정한 상태를 가질 수 있고, 외부입력과 내부상태를 모두 사용하여 출력을 만들어내는 회로이다. 컴퓨터의 CPU와 같이 기억장치를 사용하는 논리회로는 전부 순서논리회로의 일종이라고 생각하면 된다.

순서논리회로는 동기식과 비동기식이 나뉘며, 동기식은 클럭 펄스에 따라 기억장치가 활성화되고, 내부상태가 변하는 논리회로이며, 비동기식은 입력이 바뀌는 즉시 내부상태가 변한다.

3. 논리 게이트[편집]


파일:다른 뜻 아이콘.svg
NOR은(는) 여기로 연결됩니다.
작곡가 Nor에 대한 내용은 Nor 문서
Nor번 문단을
Nor# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.





이하의 내용은 Circuit Scramble처럼 논리 회로를 모델로 한 게임을 해보면 직관적으로 이해할 수 있다.[1] 1-20 스테이지 공략

게이트 종류
입력
입력
입력
출력
출력
입력
출력
출력
논리 게이트(logic gate)의 표기법이다. NOT과 버퍼 게이트는 입력이 1개만 들어오므로 1열의 입력값이 없으며 출력값도 2개만 있다.


  • AND 게이트
AND
0
1
0
0
0
1
0
1
AND 게이트는 입력이 모두 1이어야 출력도 1이 나온다. 입력이 3개 이상일 수 있다. 시퀀스 회로[2]에선 직렬을 뜻한다.

  • OR 게이트
OR
0
1
0
0
1
1
1
1
OR 게이트는 입력 중 하나만 1이어도 출력이 1이다. 시퀀스 회로에서는 병렬을 뜻한다.

  • NOT 게이트
NOT
0
1

1



0
NOT 게이트는 입력이 1이면 0을 출력하고, 입력이 0이면 1을 출력한다. 보수기라고 불리기도 한다. 이 경우 결과값을 나타내는 기호 위에 -를 둬서 기호의 값의 반대값으로 나타낸다. 시퀀스 회로에서는 B접점[3]으로 표현하며, Y-델타 기동이나 정, 역전회로에서 즐겨 쓰는 방식이다.

  • NAND 게이트
NAND
0
1
0
1
1
1
1
0
NAND 게이트는 AND 게이트 뒤에 NOT 게이트를 붙여, 출력이 1이면 0으로, 출력이 0이면 1로 만들어준다.
전자공학에서 모든 논리 게이트를 NAND 만으로 구성 가능하다. 구현 방법은 위키백과 NAND Logic 문서 참고.

  • NOR 게이트
NOR
0
1
0
1
0
1
0
0
NOR 게이트는 OR 게이트 뒤에 NOT 게이트를 붙여, 출력이 1이면 0으로, 출력이 0이면 1로 만들어준다.
위의 NAND 게이트와 NOR 게이트 만으로 모든 논리 게이트를 만들 수 있기에 따로 범용 게이트(Universal Gates)라고도 불린다.

  • XOR 게이트
XOR
0
1
0
0
1
1
1
0
XOR 게이트는 exclusive OR 게이트의 줄임말로 한국어로는 배타적 논리합 게이트라고 한다. OR 게이트가 입력 값 중 하나라도 1이라면 1일 출력하는데 반해 XOR은 입력이 서로 다르면 1을 출력하고, 같으면 0을 출력한다. 셋 이상인 경우에는 입력의 1이 홀수 개일 때 1을 출력한다. 기호는 ⊕.
암호화에 주로 사용된다. 암호키와 원본 데이터를 서로 XOR하면 암호문이 만들어진다. 암호문과 암호키를 둘 다 가지고 있어야 원문을 알아낼 수 있다.

  • XNOR 게이트
XNOR
0
1
0
1
0
1
0
1
XNOR 게이트(XNOR gate 또는 EXNOR, ENOR, NXOR, XAND gate)는 XOR 게이트 뒤에 NOT 게이트를 붙여 출력값을 반대로 만들어놓은 것이다. 입력값이 서로 같으면 1을 출력하고, 다르면 0을 출력한다. 그래서 비교 게이트나 일치 확인 게이트라고도 불린다. 기호는 ⊙.

  • 버퍼 게이트
BUF
0
1

0



1
버퍼 게이트는 NOT 게이트와는 정반대로 입력값과 같은 값을 그대로 출력한다. 신호를 보내는 회선이 너무 길면 초전도체가 아닌 이상 전선 자체의 임피던스로 인해 전송 신호가 감쇠하면서 목적지에 도달하지 못하는 경우가 생길 수 있는데 이를 방지하기 위해 중간에 버퍼 게이트를 둬서 버퍼 게이트에 도달한 신호와 같은 신호를 목적지로 전송한다. 또한, 버퍼 게이트를 통과하면서 신호 전달이 지연되는 효과가 있기 때문에 처리속도를 맞추기 위해 일부러 신호 전달을 지연시킬 필요가 있을 때에도 이용한다.


3.1. 기호[편집]


파일:나무위키+넘겨주기.png   관련 문서: 회로 기호도

파일:Logic-gate-index.png
위: IEC 기호 / 중간: ANSI 기호 / 아래: DIN 기호[4]
논리 회로는 위의 기호를 이용해서 구성한다. 같은 논리 게이트여도 구체적인 소자 구성은 다를 수 있다.


3.1.1. IEC 기호[편집]


국제전기기술위원회(IEC)에서 제정한 표준 기호. 사실은 영국의 심볼(BS3939)을 그대로 가져온 것이다. 모든 기호가 네모나고, 부정을 뜻하는 경우 앞에 동그라미 또는 직각삼각형이 추가된다.[5] 각 게이트의 차이는 안에 들어가는 글자[6]뿐이다.
손으로 그리기는 가장 쉬우나(대충 네모 그리고 글자 쓰면 되니...) 한 눈에 논리 게이트를 알아보기는 어려운 편이다. 연속으로 그리기 어렵기로 유명한 &의 압박도 무시할 수 없다.


3.1.2. ANSI 기호[편집]


미국 국립 표준 협회(ANSI)에서 제정한 기호. 전공 서적에 그려져 있는 논리 게이트는 대부분 이거라고 생각하면 된다. IEC 기호와 마찬가지로 부정을 뜻하는 경우 앞에 동그라미가 추가된다.
한 눈에 회로 구조를 비교적 알아보기는 쉽지만, 곡선이 비교적 많이 들어가기 때문에 그림에 소질이 없는 경우 게이트 하나하나 그리는 데 고생하게 된다(...).

다른 기호에 비해 가로 폭이 유독 큰 편이다.


3.1.3. DIN 기호[편집]


독일 표준화 협회(DIN)에서 제정한 기호. IEC 기호와 ANSI 기호의 중간적 특성을 띤다. 모든 기호가 활꼴이며 위의 둘과는 달리 부정을 뜻하는 동그라미가 검다.
BUF/NOT과 AND/NAND가 똑같이 생겼기 때문에[7] 혼동하기 쉽다.


4. 교과목[편집]


Digital Logic Circuit, (Digital) Logic Design

정보대학공과대학전기전자공학부컴퓨터공학부전공 과목 중 하나이다. 디지털공학이라고도 한다. 논리 연산의 방법과 현대의 디지털 회로에 쓰이는 여러가지 개념 및 적용법을 배우는 과목이다. 이 과목에선 기본적으로 입력값과 출력값이 0 과 1로 구성되어 있기 때문에 접근 방식이 기존에 학생들이 배우던 아날로그 방식과는 확연히 다르며[8] 아날로그 회로를 생각하고 이 과목을 듣게 되면 곤란해진다.

기본적인 접근 방식이 부울 대수이기 때문에 집합(a set of elements)[9]을 생각하면 쉽다. 그러나 사실 이 과목은 엄밀히 말하면 논리 연산의 방법 자체를 배우는 것에 중점을 두기 보다는 디지털 회로에 쓰이는 개념들에 더 중점을 두는 과목이기 때문에 앞부분을 잘한다고 뒷부분까지 잘하게 된다는 보장은 없다. 특히 이 과목은 교수의 재량권이 매우 큰 과목이고, 딱 어디까지가 디지털 논리회로고 어디부터가 디지털 시스템 설계인가 하는 명확한 기준이 없다. 따라서 교수의 강의방식과 강의역량에 따라서도 공부량과 흥미가 좌우될 수 있는 과목.

일반적으로 전기전자공학부와 컴퓨터공학부의 1, 2학년 또는 3학년 학생들이 주로 배우게 되며 당연하게도 전공기초인 학교가 많기 때문에 웬만한 전자공학도라면 한번쯤은 듣게 되는데 앞부분은 몰라도 뒷부분에서 상당히 머리가 아픈 개념들이 많이 나온다. 기초과목이므로 전공과목 중 가장 쉬운 과목이라 생각하는 학생도 많이 있고, 어렵게 느끼는 학생도 많은 등 체감 난이도가 사람마다 천차만별인 과목이다. 낯선 개념들이 쏟아지므로 이들과 어서 친해지자.


4.1. 내용[편집]


논리회로의 접근 방식은 크게 Combinational Logic Design(조합 논리, Structural Design)과 Sequential Logic Design(순차 논리, Behavioral Design)의 2가지로 나누어지게 되는데 쉽게 풀어쓰자면 Combinational Logic은 시간의 개념과 관계가 없는 논리 회로를 뜻하고 Sequential Logic은 시간의 개념이 포함된 논리 회로를 뜻한다.

이 문서는 Randy H. Katz가 지은 Contemporary Logic Design 2판을 기초로 작성하였다. 전문대학에서는 이보다 쉬운 교수 자체 집필교재를 사용한다.

단원 배치는 대체적으로 디지털 개요 - 수체계 - 부울 대수 - 조합논리회로 - 순서논리회로 - 기타 응용회로로 구성된다.


4.1.1. Combinational Logic(조합 논리)[편집]


파일:external/book.transtutors.com/ccc.jpg

이름
AND
OR
항등법칙
[math(\rm 1A=A)]
[math(\rm 0+A=A)]
지배법칙
[math(\rm 0A=0)]
[math(\rm 1+A=1)]
동일법칙
[math(\rm AA=A)]
[math(\rm A+A=A)]
역원법칙
[math(\rm A\overline A =0)]
[math(\rm A+\overline A =1)]
교환법칙
[math(\rm AB=BA)]
[math(\rm A+B=B+A)]
결합법칙
[math(\rm \left( AB \right) C = A \left( BC \right) )]
[math(\rm \left( A+B \right) + C = A + \left( B + C \right) )]
분배법칙
[math(\rm A+BC = \left( A+B \right)\left( A+C \right) )]
[math(\rm A\left( B+C \right) =AB+AC)]
흡수법칙
[math(\rm A\left( A+B \right)=A)]
[math(\rm A+AB=A)]
드 모르간의 법칙
[math(\rm \overline{AB} = \overline A + \overline B)]
[math(\rm \overline{A+B} = \overline A\ \overline B)]

기본적인 논리 연산 방법에 대해 배우는 단원으로 논리 연산 자체는 딱히 중요하게 배우지는 않으나 어찌됐든 논리 회로 해석의 가장 기본이 되는 부분이므로 잘 공부해 놓는 것이 좋다. Truth table(진리표) 해석법 및 SOP form과 POS form의 차이점 구별 및 적용 방법에 대해 공부하게 되며 더 나아가 Karnaugh Map(카르노 맵, 통칭 K-map)을 이용하여 여러 Boolean equation들을 줄이는 방법[10]에 대해서도 공부하게 된다. 특히 드모르간 법칙은 회로식을 간단히 만드는 데 많이 쓰이므로 필수적으로 익혀 두어야 한다.

  • Combinational Logic(조합 논리)의 정의
파일:나무_전가산기.svg
Adder의 개념이 처음으로 나오는 단원으로 여러 종류의 Adder와 기타 Combinational Logic(조합 논리 )들을 K-map, (카르노 맵)Quine-McCluskey Method(콰인-매클러스키 알고리즘), Espresso등 여러가지 방법으로 분석해보게 된다. 이 분석 결과들을 바탕으로 Hazard(0-hazard / 1-hazard)의 개념, 존재 여부 및 Hazard-free한 설계 방법에 대해서도 공부하게 된다.


  • Combinational Logic(조합 논리)의 적용법
파일:external/fourier.eng.hmc.edu/4x1_mux.gif
Combinational Logic(조합 논리)의 실질적인 적용법에 대해서 배우는 단원이다. ROM의 정의와 Multiplexor(MUX)및 Demultiplexor(DEMUX)의 작동원리 및 Multi-level로 구성된 MUX와 DEMUX 설계 방법(Cascading)에 대해서 공부하게 되며, 더 나아가 지금까지 배웠던 Combinational Logic(조합 논리)을 실질적으로 설계하는 효율적인 방법들인 PAL과 PLA가 무엇인지에 대해서도 공부하게 된다. Tri-state(세가지 상태)의 개념에 대해서 처음으로 나오는 단원이기도 하다.


  • Combinational Logic Design(조합 논리 디자인)
파일:external/upload.wikimedia.org/400px-4-bit_ripple_carry_adder-subtracter.svg.png
위의 모든 적용법까지 다 배웠다면 이제 설계를 배울 차례만 남았다. 교수의 재량권이 매우 커지는 단원으로 어떤 방식의 설계를 가르치냐에 따라 난이도가 극명하게 갈리기 때문에 다양한 케이스들에 대해 제대로 숙지를 하고 있어야 공부하는데에 도움이 된다.

Signed number(부호가 있는 숫자표현)2's complement(2의보수)의 개념에 대해서 배우게 되며 이를 바탕으로 위에서 했던 가산기를 응용한 Adder/Subtractor(가산기/감산기)및 Ripple-Carry Adder(리플 자리올림수 가산기), Carry-Select Adder, Carry-Lookahead Adder(자리올림수 예측 가산기) 등등 Adder(가산기)의 다양한 설계 방법에 대해 공부하게 되며 더 나가면 기초적인 ALU 설계 방법에 대해서도 공부하게 된다.


4.1.2. Sequential Logic(순차 논리)[편집]


파일:external/www.cs.umd.edu/seq.png

  • Sequential Logic의 정의

파일:external/www.doctronics.co.uk/4014_02.gif
Sequential Logic은 기본적으로 Memory와 위에서 배웠던 Combinational logic에 시간 개념을 넣어주는 것을 바탕으로 시작하며, 이 단원에서는 위에서 배운 게이트들을 이용하여 Memory를 어떤 식으로 구현하는지부터 시작한다. 이 단원에선 Sequential Logic의 기본 요소들인 Latch와 Flip-flop, Clock이 무엇인지 공부하며 다양한 형태의 Latch(R-S Latch, M-S Latch)와 Flip-flop(J-K Flip-flop, D Flip-flop, Edge-triggered Flip-flop)의 기본적인 구조에 대해서도 공부하게 된다. 그리고 이것들을 바탕으로 register의 개념 및 간단한 Shift register 설계방법에 대해서도 공부할 것이다. 이 단원부터는 기본적으로 시간의 개념이 들어가기 때문에 수많은 waveform들을 보게 될 것이며, 각 waveform에서 나타나는 특성들을 꼼꼼히 봐야한다는 것을 명심해야 한다.

  • Finite State Machine
파일:external/rod.info/moore.gif

Finite State Machine(FSM)은 Sequential Logic의 설계에 쓰이는 수학적인 모델로써 특정 시간 당 단 하나의 state만을 갖고, 외부에서 입력된 어떤 event에 의해 state가 변화되는 형태의 모델을 의미한다. 이 단원에서는 이 FSM의 개념을 이용하여 Counter와 다양한 Behavioral Model(자판기, 에어컨, 신호등 등)을 어떤 방식으로 접근할 것인지에 대해 주로 공부하게 된다. 그리고 이 FSM의 설계 방식인 Moore machine(출력값이 현재의 state에만 의존하는 FSM)과 Mealy machine(출력값이 현재의 state와 입력값에도 의존하는 FSM)을 배우고 이를 바탕으로 다양한 State diagram을 그려보며 전체적인 설계의 접근 방법에 대해서 공부하게 된다.

  • State Optimization

State의 수가 많다는 것은 필요한 메모리가 많다는 것을 의미하고 이는 곧 제품의 가격 및 설계의 복잡도에 악영향을 미친다. 따라서 State의 수를 줄이는 것은 논리 회로 설계에 있어서 중요한 부분 중 하나이다. 이 단원에서는 위에서 배웠던 FSM의 state를 최대한 줄일 수 있는 실질적인 방법에 대해서 공부하게 된다. 주로 Implication Chart를 이용하여 설계한 FSM의 state를 줄여보는 방법을 연습하게 되며 One-Hot 및 Heuristic algorithm을 이용한 가장 효율적인 state 할당에 대해서도 공부하게 된다.


  • Sequential Logic Design
파일:external/asic.co.in/fsm_3.gif
논리회로의 마지막 단원으로 HDL을 이용한 실제적인 설계방법을 배우게 된다. Verilog, 혹은 VHDL을 사용해서 Sequential Logic을 무엇부터 설계해야하는지에 대한 단계적 접근법을 배우게 되며 전체적인 청사진인 FSM부터 시작해 세세한 clock이나 register를 어떤 방식으로 설계하느냐에 따른 장단점을 자세하게 배울 수 있다.


5. 연관되는 교과목[편집]




6. 각종 시험에서의 출제[편집]


전자 분야 관련 시험에서는 거의 다 출제된다. 논리회로라는 이름의 과목으로 출제되는 경우도 있지만, 다른 이름을 가진 과목의 내용으로서 출제되는 경우가 더 많다.

객관식 시험


7. 관련 문서[편집]




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-20 01:00:31에 나무위키 논리 회로 문서에서 가져왔습니다.

[1] 애석하게도 맨 아래의 BUF 같은 건 등장하지 않는다.[2] 유접점 회로, 릴레이 회로[3] 해당 접점과 관련된 부품이 작동 시 접점이 붙어서 회로가 닫혀 흐르게 하는 A접점과 달리 오히려 떨어져서 회로를 열리게 한다.[4] 그림에서는 NOT이 INV(Inverted)로 표시되어 있다.[5] 동그라미는 영국식이자 구식, 직각삼각형이 최신 규격이다.[6] BUF/NOT은 1, AND/NAND는 &, OR/NOR는 ≥1, XOR/XNOR는 =1[7] 들어오는 회로의 개수에 따라 구별해야 한다.[8] 비록 최근에는 기기의 소형화 및 정밀화 때문에 혼성 신호 모델이 각광을 받고 있긴 해도 이 과목을 배우는 사람은 대부분의 경우 어디까지나 학부생이라는 점을 알아둘 필요가 있다.[9] 단순히 집합이라기보다는 (ring)으로 접근하는 것이 더 적절할 수 있다. 잘 정의된 독자적인 연산 체계가 있기 때문.[10] minterm인 정사각형 [math(\boldsymbol {2^n})]개를 장방형으로 최대한 크게 묶는 것이 원칙이다.[11] 전기만 해당. 기계는 해당되지 않음.