25
알기 쉬운 디지털 논리회로설계 - 이론, 예제와 실습 - Life & Power Press 지음

Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

Embed Size (px)

Citation preview

Page 1: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

알기쉬운디지털논리회로설계

- 이론, 예제와실습-

Life & Power Press

조 준 동 지음

Page 2: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ
Page 3: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

본 교재는 디지털 논리회로를 설계하기 위한 구성 요소 및 설계 방법을 포괄적으

로 다룬다. 다시 말하면, 디지털 시스템을 설계하는 데 있어서 필요로 하는 논리 소

자 및 회로에 대한 이해를 통하여 효과적인 디지털 회로 설계 기법을 다룬다. 논리

회로설계란초고 도집적회로(VLSI : Very Large Scaled Integrated Circuit)를

구현하는데있어서논리기능을구현하기위한간편한표현방식을제공한다. 그러한

표현 방식을 이용하여, 논리회로 최적화 기법이 수행되어 면적을 최소화하고, 성능

을 극대화하고, 전력소모를 줄일 수 있게 된다. 논리회로 설계가 어떤 일을 하는 것

인지 이해를 돕기 위해 퍼즐 조각(또는 레고 블록)을 맞추어 원하는 퍼즐 모양을 완

성해 나가는 과정에 비유해 보자. 디지털 논리회로를 구성하는 단위 소자(게이트

(gate)라고함)는퍼즐조각으로비유할수있다. 본과목에서는이처럼게이트와같

은작은소자를적절히효과적으로구성하여최적의디지털논리회로를만들어내는

과정을공부하게된다.

디지털논리회로는컴퓨터설계(CPU, 버스, 주변회로), 네트워킹또는통신시스

템(전화기, 모뎀, 라우터), 기타 내장형(Embedded) 제품들(자동차용, 의료기구, 장

난감용, 가전제품용, 오락 및 교육용) 등 널리 알려진 응용 분야의 하드웨어 설계에

활용될뿐만아니라, 그응용분야는아주넓어서인류의삶의질을향상시키기위한

창의적인전자제품에모두활용된다고볼수있다.

이러한 디지털 논리회로 설계 과목은 대학의 전기전자공학 및 컴퓨터 공학 하드

웨어 관련 과목의 필수과목으로 주로 사용된다. 논리회로가 필수과목으로 사용되는

이유는다음과같다.

첫째, 논리회로가 모든 현대 전기전자제품의 제어 및 컴퓨팅 도구의 구현을 위한

기초 수단으로 사용되기 때문이다. 논리회로는 시스템을 구현하기 위한 설계 표현

방식으로‘게이트’라고불리는작은논리소자들을사용하여구성한다. 그러한게이

트들을이용하여사용자가원하는최적설계(논리회로의면적, 비용, 전력소모및신

호전달속도등에대한)를제공하기위한기초적인설계모델및최적화알고리즘을

익히게하는과목이바로논리회로설계이다.

둘째, 논리회로란‘논리’, 즉사람의생각및아이디어가물리적인하드웨어로변

환되기직전까지의추상적인회로를말한다. 따라서엔지니어가논리적인사고방식

PR

EF

AC

E

3

머/리/말

Page 4: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

을갖도록도움을주는기초학문이라고말할수있다.

마지막으로는 논리회로 설계를 공부함으로써 하드웨어가 소프트웨어와 어떻게

다른지를이해할수있다. 하드웨어가소프트웨어와다른점은하드웨어는내재적인

병렬처리가 가능하다는 것이다. 다시 말하면 하드웨어에서는 덧셈기, 곰셈기 등과

같은컴퓨팅연산자를설계할때병렬처리를이용하여고속처리가가능하도록설계

할 수 있다. 최근의 디지털 시스템 설계는 소프트웨어와 하드웨어를 통합하여 설계

하는방법이주를이루고있다. 이러한설계방법을소프트웨어하드웨어통합설계라

고부른다. 고속수행이필요한핵심코어들은병렬처리를위하여하드웨어(특정응

용분야에 특화된 고정된 회로를 말함)로 설계하고, 나머지 제어부분은 설계가 편리

하여 빠른 시간 내에 설계가 가능한 소프트웨어(병렬처리가 제한적인 프로그래밍이

가능한 범용 프로세서를 의미함)로 처리하는 것이 보통이다. 하드웨어 설계 시에는

병렬처리를 통해서 면적이 늘어나게 되는데, 면적이 너무 커지는 것을 방지하기 위

하여, 면적제약조건을고려하여병렬성을극대화하는것이중요하게된다

또한C 또는C++로작성된소프트웨어프로그램을하드웨어로구현할때는병렬

처리가 가능하므로, 그 점을 인식하여 소프트웨어 개발자는, 하드웨어 개발자와 긴

히협력하여, 병렬성을고려한소프트웨어알고리즘을개발하는것도중요한요소

가된다.

논리회로를설계할때설계하고자하는아이디어를여러가지방법으로표현하는

것이가능할것이다. 이것은여러나라에서여러가지고유언어를사용하는것과비

유될수있다. 컴퓨터에서도설계목적에따라여러가지방법으로표현되는언어를

사용한다. 그러한 표현 방법들에는 불리언 대수(Boolean algebra), 회로도

(schematic), 진리표(Truth Table), 카노 맵(Karnaugh map), 하드웨어 언어

(VHDL, Verilog) 등이있다.

본 교재에서는 그러한 표현 방법들을 이용한 논리회로의 최소화, 상태도, 타이밍

문제들을 다루고, 디지털 회로 설계 시 최적해를 제공하는 설계 자동화(Computer

Aided Design) 알고리즘에 대해서 알아 본다. 그 밖에 조합회로의 연산 장치, 순차

회로에서 사용하는 기억 장치 등에 대해서도 알아 본다. 또한 산업체에서 사용하는

CAD 시뮬레이션 툴의 학생용 공개 버전을 인터넷에서 다운로드 받아 실험으로 운4

PR

EF

AC

E

Page 5: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

할수있는실습내용이포함되어있다.

본교재의구성은다음과같다.

1장 디지털 시스템 설계개요

2장 디지털 시스템 설계프로세스

3장 디지털 논리회로표현방식

4장 디지털 논리게이트의종류및구조

5장 논리 최소화의기초

6장 2-레벨 논리 최소화 알고리즘

7장 멀티-레벨 논리 합성

8장 지연시간과타이밍

9장 조합논리회로의구현기술

10장 논리 연산 회로

11장 플립플롭, 레지스터와 클록

12장 유한상태 머신

부록 1 Modelsim_6.2g_webpack_설치매뉴얼

부록 2 HDL 실습 예제

부록 3 문제기반학습(Problem-Based Learning) 소개

본 교재를 활용할 수 있는 과목으로는 논리회로, 디지털 설계, 디지털 시스템이

있으며, 집적회로설계, VLSI 설계, 컴퓨터구조, SoC 설계, SoC구조, 저전력설계

등의선수과목으로사용할수있다.

본 교재는 대학의 전기 및 전자공학과, 정보통신공학과, 제어계측공학과, 컴퓨터

공학과, 임베디드시스템학과에서사용가능하며, 중소·대기업, 연구소의신입사원

교육용으로활용가능하다. 본과목은대학이특성에맞추어위의다양한주제를적

당히 선별하여 사용할 수 있다. 또한 실습을 포함하여 한 학기 또는 두 학기 과목으

로도사용할수있도록충분한내용을포함하 다. 이론적인내용의이해를돕기위

하여 다양한 예제를 충분히 사용하 으며 간결하고 이해하기 쉽도록 딱딱한 문체를

배제하고실제강의실에서강의하는식의문장을사용하도록노력하 다.

PR

EF

AC

E

5

Page 6: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

본 과목을 공부하기 전에 들어 두어야 할 선수과목이 별도로 필요하지 않도록 배

경지식에관한기초자료들을포함하 다.

실험과제는설계검증CAD 소프트웨어를이용하여아래와같은실습을할수있

도록준비하 다.

Lab 1: 조합 논리회로의설계

- 8×3 인코더

- 3×8 디코더

- 시프터

Lab 2: 순차 논리회로의 설계

- 4비트 이진 업카운터

- 로드 기능을 가지는 4비트 업다운 카운터

Lab 3: 상태 머신의 설계

- ‘10’시퀀스 디텍터

Lab 4: 응용회로

- 짝수 패리티 발생기

- 산술논리 연산장치

실습 과정을 통하여 디지털 설계에 대한 많은 흥미를 가질 수 있도록 하 다. 실

제 산업체에서 사용하는 설계 방식을 체험할 수 있는 기회를 부여하 기 때문에 본

과목을이수한학생은관련업체취업시유리한조건을갖추게된다.

또한 실습과정에 활용하도록 하기 위하여 문제 기반 학습(problem-based

Learning)과정운용방법을소개하 다.

이 교재는 저자가 대학에서 강의에 사용한 자료들을 정리 보완하여 학생들의 이

해가 쉽도록 만들었다. 그간 대학에서는 국제화의 추세에 따라 원어( 어)강의를 통

하여 어로된원서를사용하는것을선호하 으나, 그간의강의를회고해보면사

실 학생들이 복잡한 이론들을 원어를 통하여 이해하는 것이 쉽지 않았을 것으로 생

각된다. 따라서원서를읽을때함께읽거나교재로사용할수있도록강의하는식의

문체로이해가쉽게설명하도록노력하 고, 충분한예제와연습문제를수록하여다6

PR

EF

AC

E

Page 7: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

소 복잡한 알고리즘들을 이해하는데 이 책 한 권이면 충분하도록 최대한의 노력을

기울 다. 또한 졸업 후 관련 기업체에 취업하면 바로 현업에 활용할 수 있도록

CAD 소프트웨어와 하드웨어 기술 용어인 VHDL을 통한 실습을 포함시켰다. 이 책

한권을통하여학생들이조금이나마즐겁고알찬대학시절, 그리고무엇보다본인

이희망하는직장에취업되는데큰도움이되기를바란다.

“I hear and I forget.

I see and I remember.

I do and I understand.”

-Confucius

2010년조준동

PR

EF

AC

E

7

●책의 특징

1) 포괄적인 디지털 논리회로 설계 방법의 핵심 원리를 포함하 다. 즉, 기본 논리 네트워

크, 조합회로, 순차회로 등에 대한 논리회로 합성 전 과정(불리언 대수와 논리회로 간소

화부터 기술 매핑까지)을 망라하 다.

2) 디지털 논리회로 설계의 핵심 원리를 이해하기 쉽도록 다양하고 체계적인 방법를 이용한

예제와 실전 연습문제(상세한 문제 풀이 과정 함께 수록)를 제공하 다.

3) 난이도가 높은 디지털 논리회로 설계 최적화 해를 구하는 휴리스틱한 방법들을 알기 쉽

게 소개하 다.

4) 산업체에서 사용하는 실전 CAD(컴퓨터를 이용한 설계) 소프트웨어 설치 매뉴얼, VHDL

을 이용한 설계 예제 및 모의 검증을 포함하는 일련의 실습과정을 혼자서도 따라하기 쉽

도록 상세히 기술하 다.

5) 실습 과정에서 실제로 사용가능한 지식의 기반 습득을 위한 목적으로 사용되는 문제 기

반 학습 PBL(Problem-based learning) 운 방법을 제시하 다. (부록 3 참조)

Page 8: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

1.1 디지털 시스템의 발전사 16

조지 부울(George Boole) 16

클로드 섀넌(Claude E. Shannon) 16

존 에커트(John P. Eckert)와 존 모클리(John Mauchly) 17

폰 노이만(von Neumann) 17

윌리암 쇼클리(William Bradford Shockley) 17

잭 킬비(Jack St. Clair Kilby)와 로버트 노이스(Robert Noyce) 18

1.2 Moore의 법칙 18

1.3 마이크로프로세서 20

1.4 컴퓨터를 이용한 설계(Computer Aided Design) 22

2.1 디지털 회로란? 26

2.2 디지털 집적회로 설계 방식 28

Full Custom(완전 주문형) 설계 28

Semi-Custom(반 주문형) 설계 28

프로그래밍이 가능한 방식 29

멀티코어(Multi-Core) 32

2.3 집적회로 설계 합성 및 설계 단계 33

하드웨어 설계 단계 35

2.4 설계 공간(Design Space) 탐색 및 최적화(Optimality) 48

■연습문제 53

8

PR

EF

AC

E차/례

CHAPTER �� 디지털 시스템 설계 개요

CHAPTER �� 디지털 시스템 설계 프로세스

Page 9: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

3.1 아날로그와 디지털 신호의 차이점 56

3.2 논리 1과 논리 0에 대한 전압 수준 역 59

3.3 디지털 스위치(Switch) 61

3.4 논리 연산자(Logical Operators) 63

3.5 진리표를 이용한 논리회로 설계 표현 방식 63

3.6 Boolean Algebra을 이용한 논리회로 표현 방식 66

3.7 디지털 설계의 게이트 표현 방식 67

3.8 타이밍 다이어그램을 이용한 디지털 회로 표현 방식 69

3.9 디지털 회로의 블록을 사용한 표현 방식 70

■연습문제 73

4.1 NAND 네트워크와 NOR 네트워크 83

4.2 CMOS 기본 논리 게이트의 동작 86

CMOS 인버터 88

CMOS NAND 게이트 89

CMOS NOR 게이트 90

4.3 일반 CMOS 논리 게이트 92

■연습문제 96

5.1 불리언 대수(Boolean Algebra) 108

5.2 논리 함수를 게이트로 표현하는 방법 109

PR

EF

AC

E

9

CHAPTER �� 디지털 논리 게이트의 종류 및 구조

CHAPTER �� 논리 최소화(Logic Minimization)의 기초

CHAPTER �� 디지털 논리회로 표현 방식

Page 10: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

5.3 논리 함수 최소화의 목적 110

5.4 다양한 논리 구현 방법들 111

5.5 논리 최소화를 위한 불리언 대수 법칙 113

5.6 불리언대수의공리를이용한이론증명(Proving Theorem) 방법 115

5.7 섀넌의 확장 이론(Shannon’s Expansion Theorem) 117

5.8 2-레벨 로직 정규 형태(2-Level Logic Canonical Form) 118

곱의 합 형태 118

합의 곱 형태 119

5.9 2-레벨논리회로최소화(Two-level Logic Minimization)의기초 120

5.10 불리언 큐브(Boolean Cubes) 122

5.11 카노 맵 방법(Karnaugh Map Method) 124

카노 맵(Karnaugh Map) 예제(4 variables) 127

카노 맵을 이용한 최대항 최소화 128

돈 케어를 이용한 카노 맵(Karnaugh Map: Don’t Cares) 최소화 129

관련항, 주관련항, 필수 주관련항에 대한 정의 129

카노 맵을 이용하여 최소화된 곱의 합 구하는 알고리즘 130

5-변수 카노 맵 132

6-변수 카노 맵 132

■연습문제 135

6.1 2-레벨 논리회로 최소화 알고리즘의 복잡도 151

6.2 주관련항(Prime Implicant) 이론 153

6.3 테이블을 이용하여 주관련항(Prime Implicant)을 찾는 방법 154

6.4 퀸 맥클러스키의 논리회로 최소화 방법 156

6.5 에스프레소(Espresso) 알고리즘 162

6.6 2-레벨 논리회로의 POS 최소화 방법 168

■연습문제 17310

PR

EF

AC

E

CHAPTER �� 2-레벨 논리 최소화 알고리즘

Page 11: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

7.1 멀티-레벨 논리회로의 장점 186

7.2 불리언 함수를 NAND 또는 NOR 네트워크로 변환하는 방법 188

7.3 AOI를 이용한 멀티-레벨 논리 설계 191

7.4 논리 인수분해(Logic Factorization)를 이용한 멀티-레벨

논리 최적화 194

7.5 멀티-레벨 논리 최적화 알고리즘 195

인수분해 197

분해 199

치환과 역치환 200

추출 202

7.6 기술 매핑(Technology Mapping) 204

기술 매핑이란 205

트리분할을 이용한 기술 매핑 209

저전력기술매핑 212

7.7 BDD(Binary Decision Diagram) 213

셰논(Shannon)의 확장이론 213

BDD 구축과정 214

BDD 간소화 방법 216

BDD를 이용한 다중기의 설계 219

BDD를 이용한 정형적 검증 220

■연습문제 223

8.1 게이트 지연시간의 개념 236

상승시간과 하강시간 237

게이트 지연이 발생하는 이유 239

8.2 조합회로에서의 지연시간 240

PR

EF

AC

E

11

CHAPTER �� 지연시간과 타이밍

CHAPTER � 멀티-레벨 논리 합성

Page 12: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

8.3 연결선 지연시간 단축 방법 242

8.4 지연시간을 이용한 펄스 발생기 설계 245

8.5 해저드(Hazard) 245

■연습문제 252

9.1 PLD(프로그래머블 로직 디바이스) 260

9.2 CMOS 트랜스미션 게이트를 이용한 멀티플렉서 설계 268

9.3 복호기(Decoder)의 설계 276

9.4 ROM(Read Only Memory)을 이용한 일반회로 설계 279

■연습문제 283

10.1 수 시스템(Number System) 305

Sign Magnitude 표현 방식 305

Two’s complement 표현 방식 307

부동 소수점 수(Floating Number) 308

10.2 이진수의 덧셈 308

기본 가산기 회로의 설계 311

리플 캐리 가산기의 설계 312

캐리 룩 어헤드 가산기의 설계 320

캐리 스킵(Carry Skip) 가산기의 설계 324

캐리 선택(Carry Select) 가산기의 설계 325

캐리 세이브 가산기의 설계 327

10.3 ALU(Arithmatic Logic Unit) 설계 329

10.4 곱셈기 설계 331

조합 곱셈기(Combinational Multiplier) 33212

PR

EF

AC

E

CHAPTER �� 논리 연산 회로

CHAPTER � 조합 논리회로의 구현 기술

Page 13: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

부스 곱셈기(Booth Multiplier) 335

■연습문제 338

11.1 순차 네트워크(Sequential Network) 354

11.2 래치(Latch) 356

RS 래치(Latch) 356

Level sensitive RS 래치 359

Level sensitive D 래치 361

T 래치 362

JK 래치 363

11.3 플립플롭(Flip-Flop) 363

Master Slave JK F/F 366

Master Slave D F/F 367

11.4 레지스터(Registers) 369

기본 레지스터(Register) 369

11.5 시프트 레지스터(Shift Register) 374

시프트 레지스터(shift register) 374

11.6 카운터(counter) 377

2 나누기 카운터 377

4 나누기 카운터 378

8 나누기 카운터 379

비동기식 카운터 380

동기식 카운터 381

Binary up-counter 383

복잡한 카운터의 설계 384

F/F 종류에 따른 카운터 비교 388

11.7 시프트 레지스터(Shifter Register)와 클록 392

■연습문제 398

PR

EF

AC

E

13

CHAPTER �� 플립플롭, 레지스터와 클록

Page 14: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

12.1 FSM의 구조 및 동작원리 414

12.2 자판기의 FSM 설계 417

12.3 Moore 머신과 Mealy 머신 422

12.4 스트링 패턴 인식기 424

12.5 교통신호 제어기 설계 428

12.6 FSM 상태 최소화 430

상태 최소화 기법: 행 매칭(Row Matching) 방법 433

관련항 차트(Implicant Chart)를 이용한 상태 최소화 4437

12.7 FSM 상태 할당 442

상태 할당의 복잡도 443

상태할당의 개선된 방법 446

원 핫 인코딩을 이용한 상태할당 450

FF의 종류에 따른 상태할당 450

■연습문제 456

부 록 503

부록 1. Modelsim_6.2g_webpack_설치매뉴얼 504

부록 2. HDL 실습 예제 520

부록 3. 문제기반학습(Problem-Based Learning) 소개 547

14

PR

EF

AC

E CHAPTER �� 유한상태 머신(Finite State Machine)

Page 15: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

디지털 시스템 설계 개요

1.1 디지털 시스템의 발전사

1.2 Moore의 법칙

1.3 마이크로프로세서

1.4 컴퓨터를 이용한 설계(Computer Aided Design)

1C H A P T E R

Page 16: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

디지털 시스템은 어떻게 발전되어 왔는지 그 발전사를 주요 발명가들을 통하여 살펴

보자.

디지털시스템의역사를쓴 대표적인발명가로는조지부울, 클로드섀넌, 존 에커트

와존모클리, 폰노이만, 윌리암쇼클리, 잭킬비와로버트노이스등이있다.

조지 부울(George Boole)

1850년에 국 수학자 조지 부울은“University College Cork”에서 불리언 대수를

발명하 다. 1847년에 부울은 <The mathematical Analysis of Logic>이라는 제목의

책자를 발간하 는데, 수학적인 기법과 심볼을 이용하여 논리식을 표현하 다. 추후

1904년 헌팅턴(Huntington)이 이를 발전시켜 여러 가지 법칙(교환, 배분 등)을 사용하

는현재의부울대수가완성되었다.

부울 대수의 기본은 AND, OR, NOT 연산이다. 이 3가지 연산을 기본으로 AND +

NOT을합성하면 NAND 게이트가만들어지고, OR + NOT이합성되면 NOR 게이트가

만들어진다. 추가적인기본연산자로는 XOR, XNOR 연산등이있다.

클로드 섀넌(Claude E. Shannon)

1938년에는 클로드 섀넌에 의해 부울 대수는 스위칭 하드웨어로 실용화하는데 최초

로응용되었다. 클로드섀넌은정보이론(information theory)의아버지라불리우며, 실

제적인 디지털 회로 설계이론(digital circuit design theory)의 초석을 놓은 과학자이

다. 1938년석사논문에서계전기접점회로망의해석에처음으로불리언대수를응용하

다. 1941년에 벨 텔레폰 연구소에 입사하 고, 제 2차 세계대전 중에는 통신의 잡음

16

C H A P T E R

11 디지털 시스템 설계 개요

디지털 시스템의 발전사1.1

Page 17: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

과암호해독등을연구하 다. 1948년<통신의수학적이론>이라는제목의논문을발

표하 다. 이 논문은 정보를 수량적으로 다루는 방법을 고찰하여 <정보량>의 정의를

세우고, 비트(bit)라는단어를처음사용하 다. 그는정보전달에서통신시스템의모델

을 제시하고, 정보원을 확률과정으로 파악하여, 그 확률분포에 관하여 <엔트로피함

수>를도입하기도하 다.

존 에커트(John P. Eckert)와 존 모클리(John Mauchly)

1946년 펜실베이니아대학의 J. 프레스퍼 에커트와 존 W. 모클리는 1943년에서

1946년에 걸쳐서 ENIAC(Electronic Numerical Integrator And Computer)을 제작

하 는데이는최초의범용컴퓨터이다. 에니악은 1955년 10월까지 10년간활용되었으

며, 1만 8000여 개의 진공관과 1500개의 릴레이로 구성되어 150㎾의 전력이 필요하

다. 펜실베이니아에있던가로등이모두희미해질만큼전력을많이썼다고한다.

폰 노이만(von Neumann)

폰 노이만은 헝가리의 부다페스트에서 태어나 어렸을 적 수학의 신동이었으며 후에

그의시대에가장뛰어난수학자중한명이되었다. 1930년에미국으로이주하여프린

스톤(Princeton) 대학의교수가되었다. 폰노이만은제2차세계대전중컴퓨터의발전

에대한공헌으로유명하다. 그는‘프로그램-저장컴퓨터’의개념을발전시켰다. 그후

에펜실베이니아대학과협력하여ENIAC을기초로해서프로그램내장방식을채택한

EDVAC을완성하 다. 이것의중요한두가지구성요소는정보저장과메모리에저장된

프로그램에따라서메모리에서서로다른‘레지스터’사이의전달을조직화하는조종단

위이었다. 그래서 순차적으로 작업이 수행되는 컴퓨터를 흔히‘폰노이만 기계(von

Neumann machines)’라고한다. 오늘날이개념은당연한방법으로인식되나 1945년

당시에는 획기적인 돌파구 다. 그의 목표는 자연과 인공의 생물학을 모두 포괄할 수

있는하나의이론을창안하는것이었다. 살아있는유기체의행동을기계류의움직임과

등가로볼수있다는생각을발전시키기도하 다.

윌리암 쇼클리(William Bradford Shockley)

윌리암 쇼클리는 미국 물리학자이며, 존 바딘, 월터 브래튼과 함께 트랜지스터를 공

동발명하여1956년에는노벨물리학상을수상했다. 1950년대와60년대에새로운트랜

지스터 디자인을 상업화하려고 한 그의 노력은 결국 실리콘밸리의 탄생으로 이어졌다.

1.1 디지털 시스템의 발전사

17

Page 18: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

1957년말, 쇼클리의회사에있던연구원8명이회사를그만두고, 페어차일드로옮겨가

서 반도체 사업부를 만들었다. 이“배신자 8인”에는 나중에 페어차일드를 떠나 인텔을

차린로버트노이스와고든무어도포함되어있었다. 인텔뿐만아니라, 내셔널세미컨덕

터와 어드밴스드 마이크로디바이시스도 페어차일드에서 갈라져 나온 회사이고, 이런

움직임이바로실리콘밸리의탄생이었다.

잭 킬비(Jack St. Clair Kilby)와 로버트 노이스(Robert Noyce)

잭세인트클레어킬비는미국의전자공학자로2000년노벨물리학상을공동수상했

다. 1958년텍사스인스트루먼트사에근무하면서“Miniaturized Electronic Circuits”

이라는특허를통해집적회로를발명했다. 몇개월후에는실리콘밸리의시장으로불리

우는로버트노이즈가집적회로를발명하여두사람은공동발명자로알려지게되었다.

로버트 노이즈는 1957년 페어차일드 세미콘덕터를, 1968년에는 인텔을 공동 설립하

다.

특정 기능을 수행하는 회로와 트랜지스터를 하나의 칩에 모아 구현한 것을 집적회로

라고하는데 [그림 1-1]과같이 1965년에인텔의창립자중한사람인고든무어는집적

회로의집적도는18개월마다2배씩증가한다는법칙을제안하 다. 그런무어의법칙을

바탕으로인텔프로세서의집적도는 [그림 1-2]와같이지수적으로증가하여20년동안

집적도가천배이상이늘어났다.

그러나 이러한 무어의 법칙에 따라 트랜지스터의 게이트 길이를 줄여(device scaling

이라고함) 성능을개선하는것에는물리적인한계를가지게된다. 따라서무어의법칙에

대한 한계를 극복하기 위한 방안으로 2007년 ITRS(International Technology

Roadmap of Semiconductor)에서는‘More Moore’와‘More than Moore’라는두가

지방안을제시하 다. ‘More Moore’에해당하는scaling 기법에는‘기하학적스케일링

(Geometrical Scaling)’과‘등가적스케일링(Equivalent Scaling)’의두가지가있다.

기하학적스케일링이란집적도와성능(속도, 전력)을향상시키기위해서논리회로및

메모리의크기를줄이는것을말한다. 등가적스케일링이란3-차원디바이스구조개선

C H A P T E R

01 디지털 시스템 설계 개요

18

Moore의 법칙1.2

Page 19: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

또는 전기적 성능을 개선시키는 새로운 물질을 통해서 스케일링이 가능하도록 하는 것

을말한다.

또한“More than Moore”에 해당하는 기능적 다양화(Functional Diversification)

방법에는‘RF(Radio Frequency) + 전력제어 + 수동소자 + 센서 + 액츄에이터’등의

집적화를 통하여 보드(board) 설계 수준에서 SiP(silicon in package) 또는

SoC(system on chip)로진행하는방법을의미하고있다.

1.2 Moore의 법칙

19

1959

Log 2

OF

TH

E N

UM

BE

R O

F

CO

MP

ON

EN

TS P

ER

IN

TE

GR

AT

ED

FU

NC

TIO

N

1960

1961

1962

1963

1964

1965

1966

1967

1968

1969

1970

1971

1972

1973

1974

1975

0123456789

10111213141516

[그림 1-1] 무어의 법칙 (Moore’s Law)

10M

1M

100K

10K

(transistors) (mlps)

1975 1980 1985 1990 1995

500

25

1.0

0.1

0.014004

8080

8086

80286

80386

80486

PentiumTM

Processor

Micro2000

[그림 1-2] 인텔 프로세서의 집적도 증가

Page 20: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

마이크로프로세서는 미세한 실리콘 조각 위에 구현된 집적 회로이며 알루미늄 또는

구리선을통하여연결되는수백만에서수억만개의트랜지스터로구성되어있다. 그트

랜지스터들은데이터를저장하고, 계산하고, 조정하는역할을담당한다. 인텔에서만든

최초의 마이크로프로세서는 1971년에 만들어진 4004이며 2,300개의 트랜지스터로 설

계되었다. Pentium II 프로세서는 750만 개의 트랜지스터로 설계되었고, 최근의 펜튬

4 프로세서는십억개의트랜지스터로설계되었다.

이 마이크로프로세서는 전자계산기를 설계하는데 사용되었고, 개인컴퓨터가 소개되

는데중요한역할을하 다.

C H A P T E R

01 디지털 시스템 설계 개요

20

마이크로프로세서1.3

[그림 1-3] Intel 4004 (1971년): Intel의 최초 마이크로프로세서(2,300개 트랜지스터, 동작주파수: 108 KHz, 10 마이크론 공정)

Page 21: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

[그림 1-4]의 Intel 386(TM)은 275,000개의트랜지스터(4040의 100배)를사용하여

집적되었으며 32-bit 데이터 패스를 이용하여 다수의 프로그램을 동시에 수행하는

“multi-tasking”개념이도입되었다.

[그림 1-5]의 Pentium III 프로세서는 70개의 새로운 인스트럭션을 추가하여 (인터

넷 스트리밍을 위한 SIMD 확장기능), 이미징, 3-D, 스트리밍 오디오, video and

speech recognition 응용분야에적용할수있도록개발되었다. 사용자들이 Internet을

경험할 수 있도록 온라인 박물관, 쇼핑, 고화질 비디오 다운로드 등이 가능하도록 설계

되었다. 이 프로세서는 0.25-마이크론 공정기술을 이용하여 950만 개의 트랜지스터를

집적하 다.

1.3 마이크로프로세서

21

[그림 1-4] Intel386™(1985년): 최초의 32비트 칩(275,000개 트랜지스터, 동작주파수: 16MHz~33MHz, 1-마이크론 공정, 멀티-태스킹 가능)

Page 22: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

회로의 복잡도와 반도체 칩의 집적도 증가로 컴퓨터의 설계 자동화 프로그램을 사용

하지 않고, 매뉴얼하게 수작업으로 회로를 설계하는 것이 사실상 불가능하게 되었다.

설계자동화프로그램이필요한이유를간략히정리하면다음과같다.

1) 칩의구성요소수가급격히증가하 다.

2) 공정의변수를추출하는것이필요하게되었다.

3) 집적화하는단계의수가증가되었다.

4) 설계기간을단축하는것이필요하게되었다.

5) 칩의성능을개선하는것이중요하게되었다.

CAD 툴이소개되기까지의지난역사를돌아보면다음과같다.

C H A P T E R

01 디지털 시스템 설계 개요

22

컴퓨터를 이용한 설계(Computer Aided Design)1.4

[그림 1-5] Pentium III(1999년) (950만 개 트랜지스터, 0.25-마이크론 기술, 인터넷 스트리밍 SIMD 확장)

Page 23: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

1950~1965년: 대부분의 CAD 알고리즘이 MSI(Medium Scaled Integrated

Circuit)를설계하는데아직은부적절하 기때문에매뉴얼하게설계하 다.

1965~1975년: IBM에서게이트어레이(gate array)의레이아웃설계자동화도구가

개발되었고AT&T에서는표준셀(standard cells) 자동화설계도구가소개되었다.

1970년대: IBM에서는 Mini라고 불리우는 2-level heuristic 논리 최소화 도구가

개발되었으며, IBM과 Berkeley에서 Espresso라고 하는 PLA-기반의 조합 및 순

차회로논리최소화도구가개발되었다.

1975~1985년: 70년대 초에 컴퓨터 이론 분야가 발달하여“computational

intractability theory”및“computational geometry”에대한활발한연구에힘입

어이론적인레이아웃(layout 또는 physical design) 알고리즘의등장으로배치및

배선툴이개발되었다. 주로배선길이를줄여칩의면적을줄이는데사용되었다.

1980년대: 기술 매핑 및 multi-level 논리 최적화 기술이 개발되었으며 성능을 최

적화하기 위한 배치 및 배선 알고리즘들이 개발되었다. 또한 칩의 복잡도 증가에

따라 연산 처리량이 급격히 늘어남에 따라 병렬처리 알고리즘, 그래프 이론,

combinatorial optimization 등의컴퓨터이론들이적용되었다.

1.4 컴퓨터를 이용한 설계(Computer Aided Design)

23

여기서 잠깐

CAD 알고리즘을 개발하는데 있어서 어려운 점은 논리회로 기능의 복잡도와 구성 요소 수의 증가로 인하여 실시간에 원

하는 결과를 만들어 내는 것이 불가능하다는 점이다. 이러한 최적해를 적당한 시간에 찾지 못하는 문제들을 NP-hard

problem 또는 NP-complete problem이라고 부르며, 그러한 문제들은 최적해를 구하기 위하여 입력 수가 커지게 되

면 현재의 컴퓨팅 능력으로는 원하는 시간 내에 해를 얻지 못하게 된다. 따라서 휴리스틱(heuristic)한 알고리즘을 이용

하여 빠른 시간에 근사 최적해를 구하는 게 실질적으로 중요하게 되었다.

CAD 알고리즘을 이용한 소프트웨어 툴은 수백억 달러의 시장을 가지고 있으며, 대표적인 CAD 툴 개발 회사는 다음과

같다.

CAD Vendor: Cadence, Synopsis, Silicon Graphics Inc., and Mentor Graphic Corp 등.

대기업의 CAD 그룹 : IBM, AT&T, Digital Equipment Corp, NEC, Philips, IMEC, Sun 등.

Page 24: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

조준동

현재 성균관대 정보통신공학부 교수로 재직 중이며,

“모바일 시스템 온 칩 설계 및 자동화 연구실”의 지도교수이다.

성균관대학교 학사(1980.2), Polytechnic Univ. 석사(1989.8),

Northwestern Univ. 박사학위(1993.6)를 취득하 다.

1993년에는 IEEE/ACM Design Automation Conference에서

최고논문상을 수상하 고, 삼성 반도체 통신(주)에서

반도체 연구소 연구원 및 IBM T.J. Watson 연구소 연구원을 역임하 다.

1996년부터 IEEE 상임 회원으로 봉사하고 있다.

저서로는“Low Power Digital Core Design”등이 다수가 있다.

저 자 약 력

Page 25: Ý cÑ # ¤ ; % ý - booksr.co.kr””지털논리... · 8 k ( þ ( 8 ± × Ý a ß i Ä h á û s î c Ñ d 5 ý × ¤ ; % ý ¸ 3 ã 5 ý d Þ x ¯ > × Ð _ ¯ ì ¯ q î 2 Ñ

알기 쉬운 디지털 논리회로설계

조준동 지음

초 판 인 쇄 : 2010. 8. 30

초 판 발 행 : 2010. 9. 3

발 행 인 : 김 승 기

발 행 처 : 생능출판사

신 고 번 호 : 제406-2004-000002호

신 고 일 자 : 2005. 1. 21

I S B N : 978-89-7050-669-2

─경기도 파주시 교하읍 문발리 507-12 파주출판도시대표전화 : (031)955-0761, FAX : (031)955-0768홈페이지 : http://www.booksr.co.kr

파본 및 잘못된 책은 바꾸어 드립니다. 정가 31,000원

저자와의 협약에 의해검인을 생략함