목차
제1장 SoC(System on Chip)란 무엇인가? ... 1
   1.1 SoC의 특징 ... 3
   1.2 SoC 및 IP의 필요성 ... 4
   1.3 SoC의 과제 ... 5
   1.4 향후 전망과 기대 ... 6
   1.5 임베디드 시스템 ... 6
   1.6 임베디드 시스템 개발의 주요 쟁점 ... 8
제2장 ALTERA Excalibur Device 개요 ... 9
   2.1 특징 ... 10
   2.2 구성과 기능 ... 13
   2.3 On-chip SRAM ... 28
   2.4 SDRAM Controller ... 35
   2.5 Expansion Bus Interface ... 42
   2.6 Embedded Peripherals Memory Map ... 47
   2.7 UART ... 49
   2.8 Timer ... 58
   2.9 Watchdog Timer ... 63
   2.10 GPIO ... 66
   2.11 Interrupt Controller ... 66
   2.12 Configuration Logic ... 73
   2.13 Boot from Flash ... 74
   2.14 Reset & Mode Control ... 77
   2.15 Clock ... 81
   2.16 PLL ... 83
   2.17 요약정리 ... 84
제3장 ARM 프로세서 개요 ... 85
   3.1 Architecture Version ... 86
   3.2 Architecture Variants ... 87
   3.3 ARM Architecture ... 88
   3.4 ARM 명령어 세트 ... 97
   3.5 요약정리 ... 109
제4장 AMBA BUS Protocol ... 111
   4.1 AMBA BUS의 소개 ... 112
   4.2 AMBA AHB 신호 ... 114
   4.3 AHB 기반의 마이크로컨트롤러 ... 116
   4.4 요약정리 ... 140
제5장 SoC 설계와 IP 검증 플랫폼 ... 141
   5.1 개요 ... 142
   5.2 각 부의 명칭 ... 143
   5.3 블록도 ... 144
   5.4 제품 특징 ... 144
   5.5 제품 구성 ... 145
   5.6 제품 사양 ... 146
   5.7 설정 ... 147
   5.8 I/O 핀 구성 ... 152
제6장 SoC 개발 툴 ... 187
   6.1 Quartus Ⅱ 4.0 설치 및 라이센스 셋업 ... 189
   6.2 ADS ... 197
   6.3 AXD Debugger ... 199
   6.4 ARM-Based Excalibur Utility ... 201
제7장 Excalibur FPGA 설계하기 ... 207
   7.1 개요 ... 208
   7.2 7-Segment의 구성 및 동작 설명 ... 208
   7.3 7-Segment 동작 방법 ... 209
   7.4 7-Segment를 이용한 간단한 시계 설계하기 ... 209
   7.5 7-Segment 설계하기 ... 214
   7.6 VHDL 소스코드 작성 ... 216
   7.7 Top-level 디자인에서 Instantiation하기 ... 225
   7.8 Top-level 디자인 컴파일 ... 227
   7.9 Modelsim을 통한 회로 검증(Simulation) ... 227
   7.10 HBE-SoC-Entry Ⅱ에서 검증하기 ... 235
제8장 Flash 프로그램 및 JTAG 설정 ... 241
   8.1 Flash 프로그램하기 ... 242
   8.2 JTAG Programming Chain ... 244
   8.3 JTAG Chain Configuration ... 245
   8.4 JTAG Connector Interface ... 246
제9장 Embedded ARM Stripe 생성하기 ... 247
   9.1 개요 ... 248
   9.2 프로젝트 설정과 MegaWizard 사용 ... 248
   9.3 ARM-Excalibur Wizard 초기 설정 ... 250
   9.4 Bridge와 인터럽트 설정 ... 252
   9.5 동작 클럭 설정 ... 254
   9.6 메모리 맵 설정 ... 256
   9.7 요약정리 ... 262
제10장 LED 제어하기 ... 263
   10.1 개요 ... 264
   10.2 설계 요구사항 ... 264
   10.3 기능 설명 ... 264
   10.4 구동 방법 ... 265
   10.5 파일 구조 ... 266
   10.6 프로젝트 설정하기 ... 266
   10.7 ARM Stripe 생성하기 ... 268
   10.8 BFM Functional Simulation ... 277
   10.9 BFM Timing Simulation ... 286
   10.10 소프트웨어 빌드 설정하기 ... 293
   10.11 다운로드하기 ... 296
제11장 Text-LCD 제어하기 ... 299
   11.1 개요 ... 300
   11.2 LCD 특징 ... 300
   11.3 LCD Instruction ... 302
   11.4 초기 설정 ... 307
   11.5 Excalibur를 이용한 LCD제어 ... 308
   11.6 하드웨어 설계하기 ... 308
   11.7 AHB Slave 설계하기 ... 317
   11.8 하드웨어 검증하기 ... 328
   11.9 소프트웨어 빌드 설정하기 ... 331
   11.10 다운로드하기 ... 335
   11.11 실행 결과 확인 ... 336
제12장 KEY PAD 제어하기 ... 337
   12.1 개요 ... 338
   12.2 Key Pad의 구조 및 동작 ... 338
   12.3 프로젝트 설정하기 ... 340
   12.4 Stripe 생성하기 ... 341
   12.5 AHB Slave 설계하기 ... 346
   12.6 BFM Functional 시뮬레이션 ... 351
   12.7 BFM Timing 시뮬레이션 ... 359
   12.8 소프트웨어 빌드 설정하기 ... 362
   12.9 다운로드하기 ... 366
   12.10 실행 결과 확인 ... 367
제13장 인터럽트 사용하기 ... 369
   13.1 개요 ... 370
   13.2 동작 모드 ... 370
   13.3 Project 생성하기 ... 374
   13.4 Stripe 생성하기 ... 376
   13.5 하드웨어 설계하기 ... 381
   13.6 소프트웨어 빌드하기 ... 385
   13.7 Flash 다운로딩하기 ... 388
   13.8 동작 확인하기 ... 389
제14장 PS/2 키보드 제어하기 ... 391
   14.1 개요 ... 392
   14.2 PS/2의 구조 및 동작 ... 392
   14.3 프로젝트 설정하기 ... 395
   14.4 하드웨어 설계하기 ... 395
   14.5 BFM Functional 시뮬레이션 ... 402
   14.6 BFM Timing 시뮬레이션 ... 406
   14.7 소프트웨어 설계하기 ... 408
   14.8 다운로드하기 ... 411
   14.9 실행 결과 확인 ... 413
제15장 스테핑 모터 제어하기 ... 415
   15.1 개요 ... 416
   15.2 스테핑 모터의 기본 ... 416
   15.3 구동 회로 ... 416
   15.4 스테핑 모터 여자 방식(스위치 시퀀스) ... 419
   15.5 하드웨어 설계하기 ... 420
   15.6 소프트웨어 설계하기 ... 431
제16장 Multi-Slave 제어하기 ... 439
   16.1 개요 ... 440
   16.2 하드웨어 설계하기 ... 441
   16.3 하드웨어 검증하기 ... 450
   16.4 소프트웨어 설계하기 ... 455
제17장 UART 설계 ... 463
   17.1 개요 ... 464
   17.2 UART 통신 방식의 이해 ... 464
   17.3 UART 설계 ... 466
   17.4 하드웨어 설계하기 ... 468
   17.5 소프트웨어 설계하기 ... 481
제18장 TFT-LCD 제어하기 ... 491
   18.1 개요 ... 492
   18.2 TFT-LCD 구조 및 동작 ... 493
   18.3 프로젝트 설정하기 ... 496
   18.4 하드웨어 설정 ... 503
   18.5 소프트웨어 빌드 설정 ... 505
   18.6 설계 검증 ... 511
   18.7 하드웨어에서 검증하기 ... 513
   18.8 결과 확인 ... 515
제19장 VGA 제어하기 ... 517
   19.1 개요 ... 518
   19.2 모니터 동작의 이해 ... 519
   19.3 VGA 시스템 구성 및 동작 ... 521
   19.4 프로젝트 설정하기 ... 524
   19.5 하드웨어 설정 ... 530
   19.6 소프트웨어 빌드 설정 ... 532
   19.7 설계 검증 ... 539
   19.8 하드웨어에서 검증하기 ... 541
   19.9 결과 확인 ... 543
닫기