Quartus II Quick Start for beginners
Soochan Kim
한경대학교 김수찬
목차
PLD 설계 흐름
한경대학교 김수찬
Typical CPLD CAD flow
한경대학교 김수찬
Typical CPLD CAD flow
한경대학교 김수찬
Quartus web edition 설치
구분 요소 | Quartus II 13.0 (2013년 출시) | Quartus Prime 18.1 (2018년 출시) |
브랜드명 | Altera Quartus II | Intel Quartus Prime |
OS 호환성 | Windows 7 / XP, 공식 Linux 구버전 | Windows 10, 최신 Linux 배포판 공식 지원 |
시뮬레이션 툴 | ModelSim-Altera Edition | ModelSim-Intel FPGA Edition |
Qsys / Platform Designer | Qsys 시스템 통합 툴 사용 | 개선된 Platform Designer (구 Qsys) 탑재 |
합성/배치배선 엔진 | 구형 알고리즘 기반 | 대용량 데이터 처리를 위한 알고리즘 최적화 |
Cyclone V 지원 에디션 | Web / Subscription 전개 | Lite / Standard 전개 (Pro 제외) |
1. Define the problem
한경대학교 김수찬
2. Develop the equation
한경대학교 김수찬
3. Enter the design into the PC by drawing a schematic�
한경대학교 김수찬
프로젝트 파일 만들기
한경대학교 김수찬
한경대학교 김수찬
Page[1/5] - Directory, Name, Top Level Entity
한경대학교 김수찬
Page[2/5] – Add Files
한경대학교 김수찬
Page[3/5] – Family & Device settings
한경대학교 김수찬
DE2
EP2C35F672C6N
Page[4/5] – EDA Tool Settings
한경대학교 김수찬
한경대학교 김수찬
Page[5/5] - Summary
한경대학교 김수찬
4a. Draw a schematic
한경대학교 김수찬
Create a new schematic
한경대학교 김수찬
Select symbol
한경대학교 김수찬
Enter the symbol
한경대학교 김수찬
Draw wires
한경대학교 김수찬
Assign input/output
한경대학교 김수찬
Assign input/output
한경대학교 김수찬
Save a schematic
한경대학교 김수찬
한경대학교 김수찬
4b. Design a circuit using VHDL code
한경대학교 김수찬
한경대학교 김수찬
Write VHDL Code
한경대학교 김수찬
4c. Design a circuit using Verilog code
한경대학교 김수찬
Write Verilog Code
5. Synthesizing a circuit
한경대학교 김수찬
Start Compilation
한경대학교 김수찬
Start Compilation
한경대학교 김수찬
Start Compilation
한경대학교 김수찬
Start Compilation
한경대학교 김수찬
6. Simulating the designed circuit
한경대학교 김수찬
Create Vector Waveform file
한경대학교 김수찬
Save
한경대학교 김수찬
Save
한경대학교 김수찬
Save
앞 슬라이드에서 add file to current project를 체크하지 않으면 추후 시뮬레이션할 때 파일이 벗다고 나옵니다. 추가 방법은 다음과 같습니다.
오른쪽 그림의 ...을 클릭하여 추가하면 됩니다.
Project >> Add/remove Files in Project...
한경대학교 김수찬
Insert Node or Bus
한경대학교 김수찬
Insert Node or Bus
한경대학교 김수찬
Insert Node or Bus
한경대학교 김수찬
Insert Node or Bus
한경대학교 김수찬
Insert Node or Bus
한경대학교 김수찬
Insert Node or Bus
한경대학교 김수찬
Set End time
한경대학교 김수찬
Set End time
한경대학교 김수찬
Update window size
한경대학교 김수찬
Generate input signals
한경대학교 김수찬
Generate input signals (clock)
한경대학교 김수찬
Generate input signals (clock)
한경대학교 김수찬
Generate functional simulation netlist
한경대학교 김수찬
Generate input signals (clock)
한경대학교 김수찬
Start Simulation
한경대학교 김수찬
Check the results
한경대학교 김수찬
Check the results (time delay)
한경대학교 김수찬
Change simulation setting
한경대학교 김수찬
Timing<->Functional
한경대학교 김수찬
Timing<->Functional
한경대학교 김수찬
Check the results (non delay)
한경대학교 김수찬
7. Assigning the circuit inputs and outputs to specific pins on the PLD
한경대학교 김수찬
Packing Outline
한경대학교 김수찬
Toggle switches
To | Location |
SW[0] | PIN_N25 |
SW[1] | PIN_N26 |
SW[2] | PIN_P25 |
SW[3] | PIN_AE14 |
SW[4] | PIN_AF14 |
SW[5] | PIN_AD13 |
SW[6] | PIN_AC13 |
SW[7] | PIN_C13 |
SW[8] | PIN_B13 |
SW[9] | PIN_A13 |
SW[10] | PIN_N1 |
SW[11] | PIN_P1 |
SW[12] | PIN_P2 |
SW[13] | PIN_T7 |
SW[14] | PIN_U3 |
SW[15] | PIN_U4 |
SW[16] | PIN_V1 |
SW[17] | PIN_V2 |
Debounced pushbuttons
KEY[0] | PIN_G26 |
KEY[1] | PIN_N23 |
KEY[2] | PIN_P23 |
KEY[3] | PIN_W26 |
Normally high
Pushbutton and Toggle switches
LEDR[0..17]
LEDR[0] | PIN_AE23 |
LEDR[1] | PIN_AF23 |
LEDR[2] | PIN_AB21 |
LEDR[3] | PIN_AC22 |
LEDR[4] | PIN_AD22 |
LEDR[5] | PIN_AD23 |
LEDR[6] | PIN_AD21 |
LEDR[7] | PIN_AC21 |
LEDR[8] | PIN_AA14 |
LEDR[9] | PIN_Y13 |
LEDR[10] | PIN_AA13 |
LEDR[11] | PIN_AC14 |
LEDR[12] | PIN_AD15 |
LEDR[13] | PIN_AE15 |
LEDR[14] | PIN_AF13 |
LEDR[15] | PIN_AE13 |
LEDR[16] | PIN_AE12 |
LEDR[17] | PIN_AD12 |
LEDG[0..7]
LEDG[0] | PIN_AE22 |
LEDG[1] | PIN_AF22 |
LEDG[2] | PIN_W19 |
LEDG[3] | PIN_V18 |
LEDG[4] | PIN_U18 |
LEDG[5] | PIN_U17 |
LEDG[6] | PIN_AA20 |
LEDG[7] | PIN_Y18 |
LEDG[8] | PIN_Y12 |
7 segments
7 segments
HEX0[0] | PIN_AF10 |
HEX0[1] | PIN_AB12 |
HEX0[2] | PIN_AC12 |
HEX0[3] | PIN_AD11 |
HEX0[4] | PIN_AE11 |
HEX0[5] | PIN_V14 |
HEX0[6] | PIN_V13 |
HEX1[0] | PIN_V20 |
HEX1[1] | PIN_V21 |
HEX1[2] | PIN_W21 |
HEX1[3] | PIN_Y22 |
HEX1[4] | PIN_AA24 |
HEX1[5] | PIN_AA23 |
HEX1[6] | PIN_AB24 |
HEX2[0] | PIN_AB23 |
HEX2[1] | PIN_V22 |
HEX2[2] | PIN_AC25 |
HEX2[3] | PIN_AC26 |
HEX2[4] | PIN_AB26 |
HEX2[5] | PIN_AB25 |
HEX2[6] | PIN_Y24 |
HEX3[0] | PIN_Y23 |
HEX3[1] | PIN_AA25 |
HEX3[2] | PIN_AA26 |
HEX3[3] | PIN_Y26 |
HEX3[4] | PIN_Y25 |
HEX3[5] | PIN_U22 |
HEX3[6] | PIN_W24 |
HEX4[0] | PIN_U9 |
HEX4[1] | PIN_U1 |
HEX4[2] | PIN_U2 |
HEX4[3] | PIN_T4 |
HEX4[4] | PIN_R7 |
HEX4[5] | PIN_R6 |
HEX4[6] | PIN_T3 |
HEX5[0] | PIN_T2 |
HEX5[1] | PIN_P6 |
HEX5[2] | PIN_P7 |
HEX5[3] | PIN_T9 |
HEX5[4] | PIN_R5 |
HEX5[5] | PIN_R4 |
HEX5[6] | PIN_R3 |
HEX6[0] | PIN_R2 |
HEX6[1] | PIN_P4 |
HEX6[2] | PIN_P3 |
HEX6[3] | PIN_M2 |
HEX6[4] | PIN_M3 |
HEX6[5] | PIN_M5 |
HEX6[6] | PIN_M4 |
HEX7[0] | PIN_L3 |
HEX7[1] | PIN_L2 |
HEX7[2] | PIN_L9 |
HEX7[3] | PIN_L6 |
HEX7[4] | PIN_L7 |
HEX7[5] | PIN_P9 |
HEX7[6] | PIN_N9 |
Clock
CLOCK_27 | PIN_D13 |
CLOCK_50 | PIN_N2 |
Assign the pins
한경대학교 김수찬
Assign the pins
한경대학교 김수찬
Assign the pins
한경대학교 김수찬
Assign the pins
한경대학교 김수찬
Pin Assignment
여러 가지가 있으니 이중 적합한 것으로 사용하세요.
Pin Assignment
한경대학교 김수찬
Assignment Editor
한경대학교 김수찬
Pin Planner
한경대학교 김수찬
(1) Use Excel file
한경대학교 김수찬
(2) Import Assignment
한경대학교 김수찬
(2) Import Assignment
한경대학교 김수찬
(2) Import Assignment
한경대학교 김수찬
DE2 Board USB Driver 설치
DE2 보드에 설계한 회로도를 다운로드 하기 위해서 필요함
Installation and USB-Blaster Driver
Installation and USB-Blaster Driver
한경대학교 김수찬
Installation and USB-Blaster Driver
한경대학교 김수찬
각자 설치한 기본 폴더 아래의 다음과 같은 하위 폴더에 있다.
..\quartus\drivers\usb-blaster-ii
Installation and USB-Blaster Driver
한경대학교 김수찬
9. Programming and configuring the PDL chip
한경대학교 김수찬
Run Programmer
한경대학교 김수찬
Setup Hardware
한경대학교 김수찬
Download the program into PLD
한경대학교 김수찬
Download the program into PLD
한경대학교 김수찬
한경대학교 김수찬
Full adder 만들기
Project 파일 만들기
Project 파일 만들기
Fulladder
Fulladder
Project 파일 만들기
Project 파일 만들기
Project 파일 만들기
Draw a Full Adder Schematic
Binary Adder (Half adder)
Binary Adder (Half adder)
Binary Adder (Full adder)
Binary Adder (Full adder)
Make a schematic file
Make a schematic file
Full Adder Schematic
Compile
Simulation
File > new > Vector Waveform File
우 클릭 > insert > insert Node or Bus
Simulation
Node Finder 클릭
Pins : unassigned 선택 후
List 클릭
Simulation
List가 나오면 >> 클릭 >ok
End time 설정
Simulation
End time 설정 > 확인
입력변수 값 설정(시계모양아이콘)
Simulation
A, B, C_in 입력 값 설정
Simulation
입력변수들 설정 후
View > Fit In Windows 를 누르면
64us의 그래프가 한 화면에 들어오게된다
Ctrl + w, Ctrl+휠
Simulation 전 저장을 하되 앞에 만들었던 schematic 파일이름과 동일하게 저장 하도록 한다.
저장 후 simulation 버튼클릭
Simulation - functional
바로 Simulation이 된다면 타이밍도를 분석해보고, 아래와 같은 에러가 발생 하는 경우는 다음 순서를 따라 해보도록 한다..
Processing > generate functional simulation netlist
“Functional Simul
ation Netlist Generation was successful” 이라는 창이 뜰 것이다.
Simulation - functional
Assignments > EDA Tool Settings..
Simulator settings 선택 후
Simulation mode를 functional 바꾼다
Simulation - functional
Simulator input에 simulation 파일을 추가한 후 확인 버튼을 누른 후 simulation 버튼을 누른다.
Full Adder simulation 결과
실제 Pin 지정하기
실제 Pin 지정하기
실제 Pin 지정하기
Pin 정보가 추가되면 schematic에서도 보여진다.
Download to DE 2 Board
내 용
Create Symbol
Create Symbol
Use Symbol
4bits Full Adder - Schematic
4bits Full Adder - Schematic
4bits Full Adder - Schematic
General
Main이 될 파일 선택 후 확인
4bits Full Adder - Simulation
4bits Full Adder - Simulation
4bits Full Adder - Simulation
Unassigned > list > “>>” > ok
4bits Full Adder - Simulation
End Time 설정
4bits Full Adder - Simulation
Start time ~End time 한 화면에 보기
Overview write clock 아이콘으로 입력 값을 넣는다.
4bits Full Adder - Simulation
모든 클럭을 넣고 저장한 후
Start simulation 아이콘 클릭
Main waveform file 지정하기
4bits Full Adder - Simulation
Main waveform file 지정하기
Simulation 하고자 하는 파일을 열고 simulation 하도록 한다
4bits Full Adder - Simulation
4bits Full Adder using Bus
Ex) A[3..0]은 �A[0] - LSB�A[1]�A[2]
A[3] - MSB
4bits Full Adder using Bus
4bits Full Adder using Bus
4bits Full Adder using Bus
4bits Full Adder using Bus
4bits Full Adder using Bus
4bits Full Adder using Bus
4bits Full Adder using Bus
Simulation 후 A,B,SUM 각각의 값을 쉽게 볼 수 있어 분석이 편해 진다.
Pin Assigned
Pin Assigned
Quartus II 확장자 의미
10. Example
한경대학교 김수찬
Pin assign example (SW-LEDR)
Pin assign example (BCD7SEG)
Pin assign example (BCD7SEG)
Pin assign example (BCD7SEG)
Inverter