디지털시스템 설계실습
이 책은 FPGA 설계의 기초가 되는 디지털 시스템 설계 및 실습을 설명하였다. 디지털 시스템 설계에는 여러 가지 방법이 있으나, 하드웨어 기술 언어를 이용한 설계 방법이 일반화되고 있다. 이러한 하드웨어 기술 언어 중에서 C언어와 유사한 Verilog HDL을 이용하여 회로를 설계하고, 시뮬레이션을 통해 설계한 회로의 기능을 검증하고, 최종 FPGA에 실장하여 동작을 테스트하였다.
특히 본 교재는 한 학기 수업 분량으로 교재 내용을 구성하였으며, Intel Quartus Prime와 Modelsim 소프트웨어를 처음 접하는 학생들도 따라할 수 있도록 그림을 추가하고 실습을 단계별로 설명하여 학생들의 이해를 돕고자 노력하였다. 뿐만 아니라 소프트웨어 설계와 달리 하드웨어 기술 언어를 이용한 설계의 특성을 이해하고 하드웨어 측면에서 고려해야 할 사항들을 상세히 언급하였다.
1장 Verilog 소개
1.1 하드웨어 기술 언어
1.2 모듈
1.3 데이터 형과 연산자
1.4 연속 할당문
1.5 순차적 할당문
1.6 조합논리회로 모델링
1.7 순차회로 모델링
1.8 이벤트 제어
1.9 지연 시간
1.10 합성
1.11 조건문
1.12 Verilog 모델링
1.13 상수
1.14 벡터
1.15 배열
1.16 Verilog 반복문
1.17 테스트벤치(Test bench)
1.18 Task와 함수
1.19 컴파일러 지시어
1.20 시스템 task와 시스템 함수
2장 Modelsim을 이용한 시뮬레이션
2.1 프로젝트 생성
2.2 Modelsim 시뮬레이션
3장 Intel Quartus Prime을 이용한 시뮬레이션
3.1. Quartus 프로젝트 만들기
3.2 Top-Level Design Entity 설계
3.2.1 Verilog HDL 파일 생성
3.3 컴파일
3.4 시뮬레이션을 위한 VWF(Vector Waveform File) 생성
4장 조합논리회로 설계
4.1 멀티플렉서(Multiplexer)
4.2 디멀티플렉서(Demultiplexer)
4.3 디코더(Decoder)
4.4 인코더(Encoder)
4.5 비교기(Comparator)
4.6 반가산기(half adder)
4.7 전가산기(Full adder)
4.8 BCD-to-7 세그먼트 디코더
5장 순차논리회로 설계
5.1 D 플립플롭
5.2 계수기(Counter)
5.3 유한상태 머신(Finite State Machine)
5.4 시프트 레지스터(Shift Register)
5.5 주파수 분주기(Frequency Divider)
6장 DE0-Nano 보드를 이용한 설계 실습
6.1 프로젝트 생성
6.2 Top-Level Design Entity 설계
6.3 컴파일
6.4 시뮬레이션
6.5 디바이스와 핀 할당
6.6 Full Compilation
6.7 FPGA 이미지 다운로드
부록 : Intel Quartus Lite Edition 설치 방법