32
디디디디디디디디 2 디디 고고고고고 고고고고고고고고고

디지털시스템실험 2 주차

  • Upload
    geordi

  • View
    350

  • Download
    1

Embed Size (px)

DESCRIPTION

디지털시스템실험 2 주차. 고려대학교 전기전자전파공학부. 개요. FPGA 및 Verilog 사용법 이해 Verilog 로 설계한 회로의 동작을 FPGA 를 통해 검증. FPGA. FPGA? 1985 년 미국 Xilinx 사에서 최초로 개발 PLD( Programmabe Logic Device ) I/O 블록 내부에 소형 Logic Cell 배열되고 Logic Cell 간에 배선 구조적으로 Gate Array - PowerPoint PPT Presentation

Citation preview

Page 1: 디지털시스템실험 2 주차

디지털시스템실험2 주차

고려대학교 전기전자전파공학부

Page 2: 디지털시스템실험 2 주차

개요

• FPGA 및 Verilog 사용법 이해• Verilog 로 설계한 회로의 동작을 FPGA 를 통해 검증

Page 3: 디지털시스템실험 2 주차

FPGA

• FPGA?• 1985 년 미국 Xilinx 사에서 최초로 개발 • PLD(Programmabe Logic Device)

• I/O 블록• 내부에 소형 Logic Cell 배열되고 Logic Cell 간에 배선• 구조적으로 Gate Array• 이용자가 직접 프로그램 가능 Field Programmable Gate Array

Page 4: 디지털시스템실험 2 주차

Verilog

• Verilog• HDL(Hardware Description Languages) 중 하나• 다른 하나는 VHDL(VHSIC Hardware Description Language• VHDL 은 1987 년에 , Verilog 는 1995 년에 각각 IEEE

표준이 됨

• 목적• 저수준 ( 게이트 . 스위치 ) 뿐만 아니라 고수준 ( 설계 , 동작 )

까지 설계 VLSI(Very Large Scale Integration) 설계 및 칩 제작 가능

• HDL 의 주요기능 - 설계회로를 제작하기 전에 회로의 동작여부를 시뮬레이션

Page 5: 디지털시스템실험 2 주차

문법

• Module• 설계의 기본 단위

• 키워드• 동작 정의 ( 프로그래밍 언어의 기본 함수와 비슷한 역할 )• Assign/ if/ else/ and/ begin/ for/ ….

• Wire • 회로를 연결하는 연결선

module < 모듈이름 >( 포트목록 );...endmodule

Page 6: 디지털시스템실험 2 주차

문법

• 연산자• 산술 연산자 사용가능

• +, -, *, /• 관계 연산자 사용 가능

• >, < …• 논리 연산자 사용가능

• 하위 모듈 호출 가능 (function call)

연산자 의미& 비트 AND

| 비트 OR

~ 비트 NOT

^ 비트 XOR

^~, ~^ 비트 XNOR

Page 7: 디지털시스템실험 2 주차

PIN MAP

• 실험을 위한 FPGA 의 입출력 단자• Clock

• LED

• Reset

Page 8: 디지털시스템실험 2 주차

PIN MAP

• 실험을 위한 FPGA 의 입출력 단자 (cont.)• DIP Switch

• 7-segment

Page 9: 디지털시스템실험 2 주차

설치

• QuartusSetupWeb-13.0.1.232.exe 파일을 통해 Quartus-13.0 sp1 버전을 설치

ModelSimAltera Starter Edition 만 설치

Page 10: 디지털시스템실험 2 주차

• 다운로드 주소

http://wine.korea.ac.kr/~khtinsoft/DSLab/Quartus13.zip

Page 11: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 프로젝트 생성• File -> New Project 메뉴를 선택

Page 12: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 작업 폴더 및 프로젝트 이름 선언• Working Directory : C:\DS_2013\LAB01_INTRODUCTION\

QUARTUS• Project Name : LAB01_INTRODUCTION• Top-Level Entity Name : LAB01_INTRODUCTION

Page 13: 디지털시스템실험 2 주차

Verilog 프로그래밍

• Family & Device setting• Device Family : Cyclone ⅣE• Device : EP4CE30F23C8

Page 14: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 모듈 설계 및 컴파일• File > New 메뉴를 선택• 나타나는 창에서 Verilog HDL File 을 선택

Page 15: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 모듈 설계 예시• C:\DS_2013\LAB01_INTRODUCTION\RTL 폴더에

LAB01_INTRODUCTION.v 라는 이름으로 저장 (RTL 폴더를 생성 )

Page 16: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 프로젝트 내 파일 포함 확인• Project > Add/Remove Files in Project 메뉴를 선택하여

프로젝트에 LAB01_INTRODUCTION.v 파일이 추가되어 있는지를 확인

Page 17: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 오류 체크• Processing > Start > Start Analysis & Elaboration 메뉴를

선택하여 , 설계된 로직의 문법 오류 검사를 수행

Page 18: 디지털시스템실험 2 주차

Verilog 프로그래밍

• 컴파일• Processing > Start Compilation 메뉴를 선택하여 컴파일을

진행

Page 19: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• ModelSim 을 통해 시뮬레이션• 시뮬레이션 환경 셋팅• C:\DS_2013\LAB01_INTRODUCTION\RTL 폴더에• LAB01_INTRODUCTION_TB.v 파일로 저장

Page 20: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 프로젝트 생성• File > New > Project 메뉴를 선택하여 프로젝트를 생성

Page 21: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 작업 폴더 지정• Project Name : LAB01_INTRODUCTION_TESTBENCH• Project Location : C:\DS_2013\LAB01_INTRODUCTION\

TESTBENCH

Page 22: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 파일 추가• Add items to the Project 창에서 Add Existing File 선택 후

로직 파일 (LAB01_INTRODUCTION.v) 과 테스트 벤치 파일(LAB01_INTRODUCTION_TB.v) 파일을 추가

Page 23: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 컴파일 수행• Compile > Compile All 메뉴를 선택하여 추가한 파일에 대한

컴파일을 실행

Page 24: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 시뮬레이션• Simulate > Start Simulation 메뉴를 선택• Design 탭의 Work > LAB01_INTRODUCTION_TB 를

선택하고 OK 버튼

Page 25: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 신호 입력• Instance 창에서 LAB01_INTRODUCTION_TB 를 선택하고

마우스 오른쪽 버튼을 눌러 Add Wave 항목을 선택하여 Wave 창에 TestBench 입 , 출력 신호를 추가

Page 26: 디지털시스템실험 2 주차

ModelSim 시뮬레이션

• 시간 할당• Transcript 탭에서 선택하여 직접 run 1us 를 입력 ( 소문자 )

Page 27: 디지털시스템실험 2 주차

FPGA 실험

• PIN 설정• Assignment > Pin Planner 메뉴를 선택한 후 Pin Planner

창의 아래 부분 창에서 Location 을 다음 표와 같이 핀 설정

Page 28: 디지털시스템실험 2 주차

FPGA 실험

• 사용하지 않는 PIN ground 로 설정• Assignment > Device 에서 Device and Pin Options• As output driving ground

Page 29: 디지털시스템실험 2 주차

FPGA 실험

• 컴파일 수행• Processing > Start Compilation 메뉴를 통해 다시 컴파일을

수행• Tool > Programmer 를 실행시킨다 . Hardware Setup 을

클릭하여 USB-Blaster 를 선택

Page 30: 디지털시스템실험 2 주차

FPGA 실험

• USB blaster/ JTAG/ Program 등의 설정 확인

Page 31: 디지털시스템실험 2 주차

FPGA 실험

• 확인 후 start 하여 실험 결과 검증

Page 32: 디지털시스템실험 2 주차

FPGA 실험

• 실험 결과 확인 및 보고서 작성• 결과 보고서 : FPGA 동작 확인 및 시뮬레이션 동작 확인 위주로

작성 ( 사진 첨부 )• 예비 보고서 : 다음 실험에 대한 보고서 작성 ( 목표 , 배경 ,

설계방법 , 실험 계획 등 )