디지털시스템실험 2주차 고려대학교 전기전자전파공학부
개요 FPGA 및 Verilog 사용법 이해 Verilog로 설계한 회로의 동작을 FPGA를 통해 검증
FPGA FPGA? 1985년 미국 Xilinx사에서 최초로 개발 PLD(Programmabe Logic Device) I/O블록 내부에 소형 Logic Cell 배열되고 Logic Cell간에 배선 구조적으로 Gate Array 이용자가 직접 프로그램 가능 Field Programmable Gate Array
Verilog Verilog 목적 HDL(Hardware Description Languages)중 하나 다른 하나는 VHDL(VHSIC Hardware Description Language VHDL은 1987년에, Verilog는 1995년에 각각 IEEE 표준이 됨 목적 저수준(게이트. 스위치)뿐만 아니라 고수준(설계, 동작)까지 설계 VLSI(Very Large Scale Integration)설계 및 칩 제작 가능 HDL의 주요기능 - 설계회로를 제작하기 전에 회로의 동작여부를 시뮬레이션
문법 Module 설계의 기본 단위 키워드 Wire 동작 정의 (프로그래밍 언어의 기본 함수와 비슷한 역할) Assign/ if/ else/ and/ begin/ for/ …. Wire 회로를 연결하는 연결선 module <모듈이름>( 포트목록 ); ... endmodule
문법 연산자 하위 모듈 호출 가능 (function call) 산술 연산자 사용가능 관계 연산자 사용 가능 +, -, *, / 관계 연산자 사용 가능 >, < … 논리 연산자 사용가능 하위 모듈 호출 가능 (function call) 연산자 의미 & 비트 AND | 비트 OR ~ 비트 NOT ^ 비트 XOR ^~, ~^ 비트 XNOR
PIN MAP 실험을 위한 FPGA의 입출력 단자 Clock LED Reset
PIN MAP 실험을 위한 FPGA의 입출력 단자(cont.) DIP Switch 7-segment
설치 QuartusSetupWeb-13.0.1.232.exe 파일을 통해 Quartus-13.0 sp1 버전을 설치 ModelSimAltera Starter Edition만 설치
다운로드 주소 http://wine.korea.ac.kr/~khtinsoft/DSLab/Quartus13.zip
Verilog 프로그래밍 프로젝트 생성 File -> New Project 메뉴를 선택
Verilog 프로그래밍 작업 폴더 및 프로젝트 이름 선언 Working Directory : C:\DS_2013\LAB01_INTRODUCTION\QUARTUS Project Name : LAB01_INTRODUCTION Top-Level Entity Name : LAB01_INTRODUCTION
Verilog 프로그래밍 Family & Device setting Device Family : Cyclone ⅣE Device : EP4CE30F23C8
Verilog 프로그래밍 모듈 설계 및 컴파일 File > New 메뉴를 선택 나타나는 창에서 Verilog HDL File 을 선택
Verilog 프로그래밍 모듈 설계 예시 C:\DS_2013\LAB01_INTRODUCTION\RTL 폴더에 LAB01_INTRODUCTION.v 라는 이름으로 저장(RTL 폴더를 생성)
Verilog 프로그래밍 프로젝트 내 파일 포함 확인 Project > Add/Remove Files in Project 메뉴를 선택하여 프로젝트에 LAB01_INTRODUCTION.v 파일이 추가되어 있는지를 확인
Verilog 프로그래밍 오류 체크 Processing > Start > Start Analysis & Elaboration 메뉴를 선택하여, 설계된 로직의 문법 오류 검사를 수행
Verilog 프로그래밍 컴파일 Processing > Start Compilation 메뉴를 선택하여 컴파일을 진행
ModelSim 시뮬레이션 ModelSim을 통해 시뮬레이션 시뮬레이션 환경 셋팅 C:\DS_2013\LAB01_INTRODUCTION\RTL 폴더에 LAB01_INTRODUCTION_TB.v 파일로 저장
ModelSim 시뮬레이션 프로젝트 생성 File > New > Project 메뉴를 선택하여 프로젝트를 생성
ModelSim 시뮬레이션 작업 폴더 지정 Project Name : LAB01_INTRODUCTION_TESTBENCH Project Location : C:\DS_2013\LAB01_INTRODUCTION\TESTBENCH
ModelSim 시뮬레이션 파일 추가 Add items to the Project 창에서 Add Existing File 선택 후 로직 파일 (LAB01_INTRODUCTION.v)과 테스트 벤치 파일(LAB01_INTRODUCTION_TB.v) 파일을 추가
ModelSim 시뮬레이션 컴파일 수행 Compile > Compile All 메뉴를 선택하여 추가한 파일에 대한 컴파일을 실행
ModelSim 시뮬레이션 시뮬레이션 Simulate > Start Simulation 메뉴를 선택 Design 탭의 Work > LAB01_INTRODUCTION_TB를 선택하고 OK 버튼
ModelSim 시뮬레이션 신호 입력 Instance 창에서 LAB01_INTRODUCTION_TB를 선택하고 마우스 오른쪽 버튼을 눌러 Add Wave 항목을 선택하여 Wave 창에 TestBench 입, 출력 신호를 추가
ModelSim 시뮬레이션 시간 할당 Transcript 탭에서 선택하여 직접 run 1us를 입력 (소문자)
FPGA 실험 PIN 설정 Assignment > Pin Planner 메뉴를 선택한 후 Pin Planner 창의 아래 부분 창에서 Location을 다음 표와 같이 핀 설정
FPGA 실험 사용하지 않는 PIN ground로 설정 Assignment > Device 에서 Device and Pin Options As output driving ground
FPGA 실험 컴파일 수행 Processing > Start Compilation 메뉴를 통해 다시 컴파일을 수행 Tool > Programmer를 실행시킨다. Hardware Setup을 클릭하여 USB-Blaster를 선택
FPGA 실험 USB blaster/ JTAG/ Program등의 설정 확인
FPGA 실험 확인 후 start하여 실험 결과 검증
FPGA 실험 실험 결과 확인 및 보고서 작성 결과 보고서 : FPGA 동작 확인 및 시뮬레이션 동작 확인 위주로 작성 (사진 첨부) 예비 보고서 : 다음 실험에 대한 보고서 작성 (목표, 배경, 설계방법, 실험 계획 등)