목차
01 논리 설계 기초의 복습 = 1
1.1 조합논리회로 = 1
1.2 부울 대수와 대수적 단순화 = 4
1.3 카노 맵 = 8
1.4 NAND와 NOR 게이트를 사용한 설계 = 12
1.5 조합회로의 해저드(Hazard) = 14
1.6 플립플롭(Flip-Flop)과 래치(Latch) = 16
1.7 밀러(Mealy) 순차회로 설계 = 19
1.8 무어(Moore) 순차회로 설계 = 28
1.9 등가 상태(Equivalent State)와 상태표의 축소(Reduction of State Table) = 31
1.10 순차회로의 타이밍 = 34
1.11 삼상태 논리와 버스 = 45
연습문제 = 47
02 VHDL 소개 = 55
2.1 컴퓨터 지원 설계 = 56
2.2 하드웨어 기술 언어 = 59
2.3 조합회로의 VHDL 기술 = 62
2.4 VHDL 모듈 = 66
2.5 순차 처리문(Sequential Statement)과 VHDL Process = 73
2.6 VHDL Process를 이용한 플립플롭 모델링 = 75
2.7 Wait 문을 이용한 Process = 79
2.8 VHDL 지연의 두 가지 타입: 전달지연과 관성지연 = 82
2.9 VHDL 코드의 컴파일레이션, 시뮬레이션, 합성 = 84
2.10 VHDL 데이터 타입과 연산자 = 89
2.11 간단한 합성(Synthesis) 예 = 91
2.12 멀티플렉서(Multiplexer)의 VHDL 모델 = 95
2.13 VHDL 라이브러리 = 98
2.14 VHDL Process를 사용한 레지스터와 카운터의 모델링 = 103
2.15 동작적 VHDL과 구조적 VHDL = 109
2.16 변수(Variable), 신호(Signal), 상수(Constant) = 120
2.17 어레이(Array) = 123
2.18 VHDL의 루프(Loop) = 127
2.19 Assert와 Report 문 = 130
연습문제 = 133
03 프로그래머블 로직 디바이스의 소개 = 149
3.1 프로그래머블 로직 디바이스의 간단한 개요 = 149
3.2 간단한 프로그래머블 로직 디바이스 = 153
3.3 복잡한 프로그래머블 로직 디바이스 = 170
3.4 필드 프로그래머블 게이트 어레이 = 175
연습문제 = 202
04 설계 예제 = 207
4.1 BCD-7-세그먼트 디코더 = 208
4.2 BCD 가산기 = 210
4.3 32-비트 가산기 = 212
4.4 신호등 제어기 = 218
4.5 제어회로를 위한 상태 그래프 = 222
4.6 스코어보드와 제어기 = 223
4.7 동기화와 디바운싱 = 226
4.8 덧셈-시프트 곱셈기 = 229
4.9 어레이형 곱셈기 = 235
4.10 부호 있는 정수/분수 곱셈기 = 238
4.11 키패드 스캐너 = 250
4.12 이진 나눗셈기 = 257
연습문제 = 268
05 SM 차트와 마이크로프로그래밍 = 281
5.1 상태 머신 차트 = 281
5.2 SM 차트의 유도 = 287
5.3 SM 차트의 구현 = 297
3.4 주사위 게임의 구현 = 301
5.5 마이크로프로그래밍 = 306
5.6 연결된 상태 머신 = 320
연습문제 = 323
06 FPGA를 이용한 설계 = 335
6.1 FPGA에 논리함수 구현 = 335
6.2 새넌 분해를 사용한 함수 구현 = 341
6.3 FPGA에서의 캐리 체인 = 348
6.4 FPGA에서의 캐스케이드 체인 = 349
6.5 상용 FPGA에서의 로직 블록 예 = 349
6.6 FPGA에서의 전용 메모리 = 352
6.7 FPGA에서의 전용 곱셈기 = 357
6.8 프로그래밍 비용 = 359
6.9 FPGA와 One-Hot 상태 할당 = 361
6.10 FPGA 용량: 최대 게이트 수와 사용 가능한 게이트 수 = 363
6.11 설계 변환(합성: Synthesis) = 364
6.12 매핑(Mapping), 배치(Placement), 배선(Routing) = 374
연습문제 = 379
07 부동소수점 연산 = 387
7.1 부동소수점 수의 표현 = 387
7.2 부동소수점 곱셈 = 394
7.3 부동소수점 덧셈 = 403
7.4 다른 부동소수점 연산 = 409
연습문제 = 411
08 VHDL에서의 추가적인 주제들 = 417
8.1 VHDL Function 문 = 417
8.2 VHDL Procedure 문 = 421
8.3 속성 = 423
8.4 오버로드된 연산자(Overloaded Operator) 생성 = 427
8.5 다치 논리와 신호 결정 = 428
8.6 IEEE 1164 표준의 9-논리 값 시스템 = 433
8.7 IEEE 1164를 사용한 SRAM 모델 = 437
8.8 SRAM읽기/쓰기 시스템 모델 = 439
8.9 지네릭 = 442
8.10 신호 이름 연결(Association) = 443
8.11 Generate 문 = 444
8.12 파일과 TEXTIO = 446
연습문제 = 451
09 RISC 마이크로프로세서 설계 = 459
9.1 RISC 배경철학 = 459
9.2 MSPS ISA(Instruction Set Architecture: 명령어 셋 아키텍처) = 463
9.3 MIPS 명령어 인코딩 = 469
9.4 MIPS에 대한 구현 = 472
9.5 VHDL 모델 = 480
연습문제 = 494
10 하드웨어 테스팅과 테스트를 고려한 설계 = 499
10.1 조합논리 테스팅 = 500
10.2 순차논리 테스팅 = 505
10.3 주사 테스팅(Scan Testing) = 509
10.4 경계 주사(Boundary Scan) = 512
10.5 내장형 자기테스트(Built-In Self-Test) = 523
연습문제 = 535
11 추가적인 설계 예제 = 541
11.1 손목시계 설계 = 541
11.2 메모리 타이밍 모델 = 552
11.3 범용 비동기식 수신기-송신기(Universal Asynchronous Receiver-Transmitter, UART) = 560
연습문제 = 574
부록 A : VHDL 언어 요약 = 579
부록 B : IEEE 표준 라이브러리 = 588
부록 C : Textio 패키지 = 591
부록 D : 프로젝트 = 593
참고문헌 = 605
찾아보기 = 608