+ All Categories
Home > Documents > Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계...

Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계...

Date post: 03-Aug-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
137
Hanback Co., Ltd HBE-SOC-ENTRY II 1 of 141 ..................................................................................................................................... 1 그림 순서 .............................................................................................................................. 4 순서.................................................................................................................................. 8 Revision history.................................................................................................................... 11 1 HBE-SOC-ENTRY II ..................................................................................................... 13 1.1 제품 소개 ........................................................................................................... 15 1.2 제품 구성 ........................................................................................................... 18 1.3 제품 주요 명칭................................................................................................... 19 1.4 제품 셋업 ........................................................................................................... 20 1.5 주의 사항 ........................................................................................................... 21 2 기능 설명 ..................................................................................................................... 23 2.1 전원.................................................................................................................... 25 2.2 Reset .................................................................................................................. 25 2.3 Clock .................................................................................................................. 26 2.4 Excalibur............................................................................................................. 27 2.5 SDRAM .............................................................................................................. 29 2.6 SRAM................................................................................................................. 32 2.7 Flash Memory ..................................................................................................... 33 2.8 JTAG .................................................................................................................. 36 2.9 Ethernet .............................................................................................................. 36 2.10 USB.................................................................................................................... 38 2.11 VGA ................................................................................................................... 41 2.12 TFT LCD............................................................................................................. 44 2.13 CIS(CMOS Image Sensor) .................................................................................. 48 2.14 AC97 Audio Codec .............................................................................................. 51 2.15 UART ................................................................................................................. 53 2.16 AD/DA ................................................................................................................ 54 2.17 RTC(Real Time Clock)......................................................................................... 57 2.18 I/O Connection Control ........................................................................................ 58 2.19 16X2 Text LCD.................................................................................................... 59 2.20 User 7-Segment Display ...................................................................................... 62 2.21 User Dot-matrix Display....................................................................................... 63 2.22 Push Button Input................................................................................................ 64 2.23 User LED Display ................................................................................................ 65
Transcript
Page 1: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

1 of 141

목 차

목 차 .....................................................................................................................................1

그림 순서 .............................................................................................................................. 4

표 순서..................................................................................................................................8

Revision history....................................................................................................................11

1 HBE-SOC-ENTRY II .....................................................................................................13

1.1 제품 소개 ...........................................................................................................15

1.2 제품 구성 ...........................................................................................................18

1.3 제품 주요 명칭...................................................................................................19

1.4 제품 셋업 ...........................................................................................................20

1.5 주의 사항 ...........................................................................................................21

2 기능 설명 .....................................................................................................................23

2.1 전원....................................................................................................................25

2.2 Reset..................................................................................................................25

2.3 Clock ..................................................................................................................26

2.4 Excalibur.............................................................................................................27

2.5 SDRAM ..............................................................................................................29

2.6 SRAM.................................................................................................................32

2.7 Flash Memory .....................................................................................................33

2.8 JTAG ..................................................................................................................36

2.9 Ethernet..............................................................................................................36

2.10 USB....................................................................................................................38

2.11 VGA ...................................................................................................................41

2.12 TFT LCD.............................................................................................................44

2.13 CIS(CMOS Image Sensor) ..................................................................................48

2.14 AC97 Audio Codec ..............................................................................................51

2.15 UART .................................................................................................................53

2.16 AD/DA ................................................................................................................54

2.17 RTC(Real Time Clock).........................................................................................57

2.18 I/O Connection Control ........................................................................................58

2.19 16X2 Text LCD....................................................................................................59

2.20 User 7-Segment Display......................................................................................62

2.21 User Dot-matrix Display.......................................................................................63

2.22 Push Button Input................................................................................................64

2.23 User LED Display................................................................................................65

Page 2: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

2 of 141

2.24 Piezo ..................................................................................................................66

2.25 Keypad ...............................................................................................................66

2.26 Dip Switch...........................................................................................................67

2.27 Step Motor ..........................................................................................................69

2.28 PS/2 ...................................................................................................................70

2.29 IDE .....................................................................................................................72

2.30 PCMCIA Card socket ..........................................................................................74

2.31 Expansion Port....................................................................................................76

2.32 Option Board Connector ......................................................................................77

3 보드 확인 .....................................................................................................................79

3.1 윈도우 환경에서 확인.........................................................................................81

3.1.1 하이퍼 터미널 ..........................................................................................81

3.1.2 사용방법...................................................................................................81

4 제품 사용법[실습] .........................................................................................................85

4.1 요구사항 .............................................................................................................87

4.2 Excalibur FPGA 설계하기 ...................................................................................87

4.2.1 7-Segment 제어 .......................................................................................87

4.2.2 7-Segment의 구성 및 동작설명 ............................................................... 87

4.2.3 7-segment 동작방법 .................................................................................88

4.2.4 7-segment를 이용한 간단한 시계 설계하기 .............................................88

4.2.5 7-segment 설계하기 .................................................................................93

4.2.6 VHDL 소스코드 작성................................................................................95

4.2.7 Top-level 디자인에서 Instantiation하기 ...................................................100

4.2.8 Top-level 디자인 컴파일 .........................................................................102

4.2.9 Modelsim를 통한 회로 검증(Simulation).................................................103

4.2.10 HBE-SoC-Entry II에서 검증하기..............................................................108

4.3 LED 제어하기...................................................................................................113

4.3.1 개요........................................................................................................113

4.3.2 설계 요구사항 ........................................................................................113

4.3.3 기능 설명 ...............................................................................................113

4.3.4 구동 방법 ...............................................................................................114

4.3.5 프로젝트 설정하기 .................................................................................114

4.3.6 ARM Stripe 생성하기 ..............................................................................116

4.3.7 BFM(Bus Function Model) Functional Simulation .....................................121

4.3.8 BFM Timing Simulation ...........................................................................126

4.3.9 소프트웨어 빌드 설정하기......................................................................134

Page 3: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

3 of 141

4.3.10 다운로드 하기 ........................................................................................137

Page 4: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

4 of 141

그림 순서

[그림 1 - 1] HBE-SOC-ENTRY II ................................................................................................ 15

[그림 1 - 2] 제품 블럭도............................................................................................................. 16

[그림 1 - 3] 구성품...................................................................................................................... 18

[그림 1 - 4] HBE-SOC-ENTRY II ................................................................................................ 19

[그림 1 - 5] 보드 케이블 셋업.................................................................................................... 20

[그림 2 - 1] 전원 ......................................................................................................................... 25

[그림 2 - 2] 전원 ......................................................................................................................... 25

[그림 2 - 3] 리셋 스위치............................................................................................................. 26

[그림 2 - 4] 리셋회로 .................................................................................................................. 26

[그림 2 - 5] 클럭 ......................................................................................................................... 26

[그림 2 - 6] 클럭부...................................................................................................................... 26

[그림 2 - 7] EXCALIBUR DEVICE .............................................................................................. 28

[그림 2 - 8] EXCALIBUR 회로구성............................................................................................. 28

[그림 2 - 9] SDRAM BLOCK....................................................................................................... 29

[그림 2 - 10] SDRAM 연결구조 .................................................................................................. 30

[그림 2 - 11] SRAM ..................................................................................................................... 32

[그림 2 - 12] SRAM 연결 ............................................................................................................ 32

[그림 2 - 13] FLASH.................................................................................................................... 34

[그림 2 - 14] 플래시 연결구조 ................................................................................................... 34

[그림 2 - 15] 플래시 메모리 설정하기....................................................................................... 34

[그림 2 - 16] EXC_FLASH_PROGRAMMER ............................................................................. 35

[그림 2 - 17] JTAG ...................................................................................................................... 36

[그림 2 - 18] SERIAL-JTAG MODE ............................................................................................ 36

[그림 2 - 19] PARALLEL-JTAG MODE ....................................................................................... 36

[그림 2 - 20] LAN 블록 ............................................................................................................... 37

[그림 2 - 21] 랜 블록 구성......................................................................................................... 37

[그림 2 - 22] LAN 번지 설정 ...................................................................................................... 38

[그림 2 - 23] USB 블록 ............................................................................................................... 39

[그림 2 - 24] USB 블록 구성...................................................................................................... 39

[그림 2 - 25] EBI BLOCK 3 어드레스 및 타이밍 설정.............................................................. 40

[그림 2 - 26] 수평 & 수직 TIMING............................................................................................ 43

[그림 2 - 27] VGA 포트 ............................................................................................................... 44

Page 5: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

5 of 141

[그림 2 - 28] VGA 블럭 구성...................................................................................................... 44

[그림 2 - 29] MCLK AC 특성 ...................................................................................................... 45

[그림 2 - 30] LCD 신호 입력 특성 ............................................................................................. 46

[그림 2 - 31] LCD 블럭 구성 ...................................................................................................... 46

[그림 2 - 32] TFT LCD................................................................................................................. 47

[그림 2 - 33] CIS 클럭 ................................................................................................................ 49

[그림 2 - 34] FRAME TIME ......................................................................................................... 49

[그림 2 - 35] YCBCR-8 BIT OUTPUT......................................................................................... 50

[그림 2 - 36] CIS ......................................................................................................................... 51

[그림 2 - 37] AC-LINK ................................................................................................................. 52

[그림 2 - 38] AC-LINK FRAME.................................................................................................... 52

[그림 2 - 39] AC97 BLOCK ......................................................................................................... 53

[그림 2 - 40] 구성도.................................................................................................................... 53

[그림 2 - 41] UART...................................................................................................................... 54

[그림 2 - 42] UART 구성............................................................................................................. 54

[그림 2 - 43] AD/DA .................................................................................................................... 56

[그림 2 - 44] AD/DA 구성............................................................................................................ 56

[그림 2 - 45] RTC........................................................................................................................ 58

[그림 2 - 46] I/O 연결 제어 스위치............................................................................................ 59

[그림 2 - 47] TEXT LCD.............................................................................................................. 60

[그림 2 - 48] LCD 모듈 블록도 .................................................................................................. 60

[그림 2 - 49] LCD 모듈 동작 타이밍 ......................................................................................... 61

[그림 2 - 50] 7-세그먼트 LED..................................................................................................... 62

[그림 2 - 51] 7-SEGMENT 구조 ................................................................................................. 62

[그림 2 - 52] DOT........................................................................................................................ 63

[그림 2 - 53] DOT-MATRIX ......................................................................................................... 63

[그림 2 - 54] PUSH BUTTON ..................................................................................................... 64

[그림 2 - 55] LED ........................................................................................................................ 65

[그림 2 - 56] LED 연결구조 ........................................................................................................ 65

[그림 2 - 57] PIEZO .................................................................................................................... 66

[그림 2 - 58] PIEZO 연결 ........................................................................................................... 66

[그림 2 - 59] KEYPAD................................................................................................................. 67

[그림 2 - 60] KEYPAD 구조 ........................................................................................................ 67

[그림 2 - 61] DIP SWITCH .......................................................................................................... 68

[그림 2 - 62] DIP SWITCH 구성 .............................................................................................. 68

[그림 2 - 63] STEP MOTOR........................................................................................................ 69

Page 6: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

6 of 141

[그림 2 - 64] 모터 인터페이스 ................................................................................................... 69

[그림 2 - 65] 키보드.................................................................................................................... 71

[그림 2 - 66] 데이터 형태........................................................................................................... 71

[그림 2 - 67] PS/2 ....................................................................................................................... 72

[그림 2 - 68] PS/2 연결 .............................................................................................................. 72

[그림 2 - 69] IDE CONNECTOR................................................................................................. 72

[그림 2 - 70] IDE HDD 연결 ....................................................................................................... 72

[그림 2 - 71] PCMCIA ................................................................................................................. 74

[그림 2 - 72] 블럭도.................................................................................................................... 74

[그림 2 - 73] I/O 확장용 .............................................................................................................. 76

[그림 2 - 74] 확장 포트의 연결.................................................................................................. 76

[그림 2 - 75] OPTION BOARD.................................................................................................... 78

[그림 2 - 76] OPTION BOARD I/O 연결 구성............................................................................ 78

[그림 3 - 1] 하이퍼터미널 실행하기........................................................................................... 81

[그림 3 - 2] 이름 입력 ................................................................................................................ 82

[그림 3 - 3] COM 포트 설정....................................................................................................... 82

[그림 3 - 4] 통신 설정 ................................................................................................................ 83

[그림 3 - 5] 부팅 화면 캡처 ....................................................................................................... 84

[그림 4 - 1] 7-SEGMENT ............................................................................................................ 87

[그림 4 - 2] 프로그램 실행 ......................................................................................................... 88

[그림 4 - 3] 실행 화면 ................................................................................................................ 89

[그림 4 - 4] 프로젝트 설정 ......................................................................................................... 90

[그림 4 - 5] 프로젝트 폴더 생성 ................................................................................................ 90

[그림 4 - 6] 파일 추가 ................................................................................................................ 91

[그림 4 - 7] EDA 툴 설정............................................................................................................ 91

[그림 4 - 8] 디바이스 패밀리 설정 ............................................................................................ 92

[그림 4 - 9] 타겟 디바이스 설정 ................................................................................................ 92

[그림 4 - 10] 프로젝트 설정 요약 .............................................................................................. 93

[그림 4 - 11] 프로젝트 설정 윈도우........................................................................................... 93

[그림 4 - 12] 파일 생성 .............................................................................................................. 94

[그림 4 - 13] 파일 종류 선택 ..................................................................................................... 94

[그림 4 - 14] 빈 텍스트 화면 ..................................................................................................... 95

[그림 4 - 15] 도면 파일 생성 ................................................................................................... 101

[그림 4 - 16] 예제 도면 ............................................................................................................ 101

Page 7: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

7 of 141

[그림 4 - 17] 심볼 생성 ............................................................................................................ 102

[그림 4 - 18] 컴파일 완료 화면................................................................................................ 102

[그림 4 - 19] MODELSIM 실행 화면 ........................................................................................ 103

[그림 4 - 20] 새로운 프로젝트 설정 ........................................................................................ 103

[그림 4 - 21] 프로젝트 설정 ..................................................................................................... 104

[그림 4 - 22] 파일 추가 1 ........................................................................................................ 104

[그림 4 - 23 ] 파일 추가 2 ....................................................................................................... 104

[그림 4 - 24] 파일 추가 화면 ................................................................................................... 105

[그림 4 - 25] SIMULATION 메뉴 .............................................................................................. 105

[그림 4 - 26] SIMULATION 모듈 로딩 ..................................................................................... 106

[그림 4 - 27] SIMULATION 모드 .............................................................................................. 106

[그림 4 - 28] MODELSIM.......................................................................................................... 107

[그림 4 - 29] 신호 입력 ............................................................................................................ 107

[그림 4 - 30] 검증 결과 ............................................................................................................ 108

[그림 4 - 31] PINS ASSSIGNMETN.......................................................................................... 109

[그림 4 - 32] 핀 설정 모습....................................................................................................... 110

[그림 4 - 33] 바이트 블라스터 ................................................................................................. 110

[그림 4 - 34] PROGRAMMER....................................................................................................111

[그림 4 - 35] AUTODETECT ..................................................................................................... 112

[그림 4 - 36] LED 회로 ............................................................................................................. 114

[그림 4 - 37] 블록도.................................................................................................................. 114

[그림 4 - 38] 프로젝트 설정 ..................................................................................................... 115

[그림 4 - 39] 파일추가 .............................................................................................................. 116

[그림 4 - 40] 설계 도면 ............................................................................................................ 117

[그림 4 - 41] EXCALIBUR WIZARD [1] .................................................................................... 118

[그림 4 - 42] EXCALIBUR WIZARD [2] .................................................................................... 118

[그림 4 - 43] EXCALIBUR WIZARD [3] .................................................................................... 119

[그림 4 - 44] EXCALIBUR WIZARD [4] .................................................................................... 119

[그림 4 - 45] 생성 파일 목록 ................................................................................................... 119

[그림 4 - 46] EXCALIBUR STRIPE 심볼.................................................................................. 120

[그림 4 - 47] 완성된 도면......................................................................................................... 120

[그림 4 - 48] MASTERCOMMANDS.DAT 생성하기 ................................................................ 122

[그림 4 - 49] 프로젝트 생성 ..................................................................................................... 125

[그림 4 - 50] 파일 추가 ............................................................................................................ 125

[그림 4 - 51] 파일 추가 ............................................................................................................ 125

[그림 4 - 52] 시뮬레이션 결과 창 ............................................................................................ 126

Page 8: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

8 of 141

[그림 4 - 53] 타겟 디바이스 선택 ............................................................................................ 127

[그림 4 - 54] EDA 검증 툴........................................................................................................ 128

[그림 4 - 55] 핀 설정 ................................................................................................................ 129

[그림 4 - 56] INIT_DONE OUPUT ............................................................................................ 130

[그림 4 - 57] CONFIGURATION ............................................................................................... 130

[그림 4 - 58] UNUSED PIN ....................................................................................................... 130

[그림 4 - 59] 결과 메시지......................................................................................................... 130

[그림 4 - 60] 프로젝트 설정 ..................................................................................................... 131

[그림 4 - 61] 파일 추가 ............................................................................................................ 131

[그림 4 - 62] 파일 추가 모습 ................................................................................................... 131

[그림 4 - 63] 모듈 로딩하기 ..................................................................................................... 132

[그림 4 - 64] 신호 추가된 창 ................................................................................................... 132

[그림 4 - 65] 검증 결과 창....................................................................................................... 133

[그림 4 - 68] SOFTWARE BUILD [1] ........................................................................................ 134

[그림 4 - 69] SOFTWARE BUILD [2] ........................................................................................ 134

[그림 4 - 70] SOFTWARE BUILD [3] ........................................................................................ 135

[그림 4 - 71] SOFTWARE BUILD [4] ........................................................................................ 135

[그림 4 - 72] ASSEMBLER ....................................................................................................... 136

[그림 4 - 73] LINKER ................................................................................................................ 136

[그림 4 - 74] 다운로드 완료 ..................................................................................................... 137

표 순서

[표 2 - 1] FPGA INPUT CLOCK EXCALIBUR I/O....................................................................... 27

[표 2 - 2] CLOCK 설정 ............................................................................................................... 27

[표 2 - 3] EXCALIBUR 디바이스 패밀리 ................................................................................... 27

[표 2 - 4] SDRAM 핀 설정 ......................................................................................................... 30

[표 2 - 5] SRAM 핀 설정 ............................................................................................................ 32

[표 2 - 6] JSELECT 핀 설정....................................................................................................... 36

[표 2 - 7] LAN #1 인터럽트 핀 설정 .......................................................................................... 38

[표 2 - 8] USB 디바이스 인터럽트 핀 설정 .............................................................................. 40

[표 2 - 9] VGA 핀 설정 ............................................................................................................... 42

[표 2 - 10] VIDEO TIMING .......................................................................................................... 43

[표 2 - 11] VIDEO SETTINGS..................................................................................................... 43

[표 2 - 12] LCD 핀 설정 ............................................................................................................. 46

Page 9: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

9 of 141

[표 2 - 13] TOUCH 핀 설정........................................................................................................ 47

[표 2 - 14] CIS 핀 설정 .............................................................................................................. 50

[표 2 - 15] UART PLD 핀 설정................................................................................................... 54

[표 2 - 16] AD 핀 설정................................................................................................................ 56

[표 2 - 17] DA 핀 설정................................................................................................................ 56

[표 2 - 18] LCD 모듈 핀 설명 .................................................................................................... 60

[표 2 - 19] LCD 인스트럭션........................................................................................................ 61

[표 2 - 20] 핀 설정 ..................................................................................................................... 62

[표 2 - 21] 핀 설정 ..................................................................................................................... 63

[표 2 - 22] 핀 설정 ..................................................................................................................... 65

[표 2 - 23] LED 핀 설정 ............................................................................................................. 65

[표 2 - 24] PIEZO 핀 설정.......................................................................................................... 66

[표 2 - 25] KEYPAD 핀 설정 ...................................................................................................... 67

[표 2 - 26] DIP SWITCH 핀 설정 ............................................................................................... 68

[표 2 - 27] 1상 여자 .................................................................................................................... 69

[표 2 - 28] 2상 여자 .................................................................................................................... 69

[표 2 - 29] 1-2상 여자 ................................................................................................................. 69

[표 2 - 30] 모터 핀 설정 ............................................................................................................ 70

[표 2 - 31] 키보드 핀 설명......................................................................................................... 71

[표 2 - 32] PS/2 핀 설정............................................................................................................. 71

[표 2 - 33] IDE 핀 설정 .............................................................................................................. 73

[표 2 - 34] PCMCIA 핀 설정....................................................................................................... 74

[표 2 - 35] 확장용 커넥터 핀 ..................................................................................................... 76

[표 2 - 36] 확장 커넥터 핀 설정................................................................................................ 77

[표 4 - 1] 핀 설정...................................................................................................................... 110

Page 10: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

10 of 141

(This page is intentionally blanked.)

Page 11: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

11 of 141

Revision history

Rev1.0 2005/2/1 First draft. Hanback

Page 12: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

12 of 141

(This page is intentionally blanked.)

Page 13: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

13 of 141

1 HBE-SOC-ENTRY II

Page 14: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

14 of 141

(This page is intentionally blanked.)

Page 15: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

15 of 141

1.1 제품 소개

HBE-SoC-Entry II는 ALTERA 사의 ARM9 임베디드 프로세서와 FPGA가 한 칩에 내

장된 Excalibur 디바이스를 사용하여, 임베디드 및 SoC(Systemp-On-Chip) 실험, 실습

뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC

제품입니다.

ALTERA 사의 Excalibur 디바이스는 ARM922T 프로세서와 100,000 ~ 1,000,000 Gates

의 FPGA가 온-칩으로 되어 세계적으로 판매되는 대표적인 SoC(System-On-Chip) 솔

루션으로, SoC-Entry II는 Excalibur를 이용해 사용자 요구에 부응하는 최적의 임베디

드-SoC 실험, 실습 환경을 제공합니다.

[그림 1 - 1] HBE-SOC-ENTRY II

Page 16: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

16 of 141

Excalibur 디바이스는 외부에 SDRAM 인터페이스를 제공합니다. 그래서 SoC-Entry II

는 SDRAM 인터페이스를 통해 최대 256Mbytes의 DRAM을 사용할 수 있습니다. 뿐

만 아니라 최대 256MB의 DRAM를 FPGA 일반 I/O와 연결해서 사용자에 DRAM 컨

트롤러를 설계할 수 있는 기회를 제공하고 있습니다.

Excalibur 디바이스가 제공하는 EBI(Extension Bus Interface)로 플래시 메모리(16MB X

2)를 부착해 기본 부트로더(ARMBoot)와 리눅스 커널 및 램디스크 이미지가 적재되어

있습니다. 유저용 사용이 가능한 플래시 메모리가 FPGA와 연결되어 있습니다. 또한

EBI에는 10/100T를 지원하는 Ethernet 컨트롤러 두 개로 네트워크 통신 실습 가능합

니다. 그리고 EBI에는 USB 호스트 컨트롤러가 연결되어 있어서, 이동형

USB(Universal Serial Bus) 저장 장치를 마운트(Mount)하여 사용할 수 있습니다.

제공되는 VGA는 1024-768 Resolution, 24-Bit True Color를 구현할 수 있습니다. 이동

형 기기 PDA에 사용되는 3.5”TFT LCD는 240X320 Pixel, 최대 260K Color를 지원하

며 휴대폰에 사용되는 CIS(CMOS Image Sensor)는 최대 30fps, 320X240 영상 출력이

가능합니다. 그리고 AC97 코덱을 사용하여 음성이나 음악을 플레이 할 수 있습니다.

그 밖에 ADC, DAC, 대용량 저장장치 IDE-HDD I/F, 이동형 저장장치 CF 메모리 IF,

FPGA 확장 커넥터, PS2, UART, 7-Segment, LED, Text-LCD, Key-pad, Piezo, Dot-Matrix,

Dip-Switch, Step Motor 등을 제공합니다.

[그림 1 - 2] 제품 블럭도

Page 17: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

17 of 141

SoC-Entry II 사양 구분 사양

Processor ALTERA Excalibur ARM EPXAnF672Cx (n : 1/100,000 Gate, 4/400,000 Gate x : 1/133MHz, 2/166MHz, 3/200MHz)

SDRAM 32MB X 8, 256MB(최대 : 512MB) FLASH 16MB X 2, 32MB(최대 : 64MB) SRAM 512KB X 2

Ethernet I/F 10/100T Base LAN91C111 X 2 Port USB USB2.0 Master/Slave A/B Port 1EA Clock 25MHz/50MHz Oscillator 1EA

Color LCD Samsung 3.5” TFT LCD 260K Color 240 X 320 Resolution with Touch S/CCamera 640 X 480 30 fps CMOS Image Sensor for Cellular phone 1EA

VGA 1024 X 768 Resolution 24-Bit True-color VGA port 1EA Sound AC97 Audio Codec

Mass Storage I/F 40-Pin ATA HDD I/F 1EA Card slot PCMCIA 1EA

ADC Max 20MSPS 12-bit ADC with output enable 1EA DAC Max 125MSPS 12-bit DAC 1EA

Debug Multi-ICE 1EA & JTAG 1EA RTC Real Time Clock with Batter Holder Serial RS232 UART Port 2EA(ARM & FPGA I/O) PS/2 Total PS/2 Keyboard or PS/2 Mouse port 2EA LED User LED Displays 16EA

7-Segment 4-Digit 2 EA(total 8-Digit) Input Button User Push-button 2EA & 12EA for Key-pad Input Switch User 8-bit DIP Switch 2EA

Text-LCD 16 X 2 Text LCD 1EA Dot-Matrix 14 X 10 Dot-matrix 1EA(total 7 X 5 Dot-matrix 4 EA)

Piezo 5V Input Piezo 1EA Motor Step Motor with Phase LED 1EA

Expansion port 25 X 2 I/O Expansion port 1EA(support total 46 I/O for EPXA4 only) Daughter B/D(1) 35 X 2 I/O Daughter B/D Interface 2EA(support total 120 shared I/O)

Power Input: 220V/60Hz AC/Output : 12V/-12V/5V/-5V/3.3V/1.8V DC Dimension 336(W) X 273(H) 8-Layer PCB

CD 제품 CD 1EA Manual User’s Guide 1EA & Linux Guide 1EA

Accessory

220V ATX power cable 1EA Ethernet (cross/direct) cable 2EA Serial cross cable 1EA USB cable 1EA Parallel cable 1EA Byteblaster download cable 1EA

Page 18: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

18 of 141

1.2 제품 구성

제품을 받아 개봉하였을 때, 아래의 항목을 확인하십시오.

[그림 1 - 3] 구성품

Page 19: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

19 of 141

1.3 제품 주요 명칭

[그림 1 - 4] HBE-SOC-ENTRY II

1. ALTERA Excalibur Main Device

2. SAMSUNG SDRAM Memory

3. Intel Strata Flash Memory

4. 10/100 Ethernet Controller

5. Cypress USB2.0 Host Controller

6. RTC(Real Time Clock)

7. AC97 Audio Codec

8. 125MHz 12-bit DAC

9. 20MHz 12-bit ADC

10. 16X2 Text LCD

11. 8-digit 7-Segment LED display

12. 14 X 10 Dot-matrix display

13. User LED display

14. Piezo

15. 3.5” TFT LCD with Touch Screen

16. CMOS Image sensor

17. 1024 X 768 24-bit Resolution VGA

18. RS232 UART Port(ARM)

19. RS232 UART Port(PLD)

20. PS/2 Port

21. SRAM

22. Mulit-ICE Port

23. ByteBlaster Port

24. User input dip-switch

25. Key-pad & reset

26. Clock generation

27. Power

28. IDE Connector

29. Extension Connector

30. Step Motor

31. Optional Board Connector

32. PCMCIA Socket

Page 20: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

20 of 141

1.4 제품 셋업

[그림 1 - 5] 보드 케이블 셋업

Page 21: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

21 of 141

1.5 주의 사항

1) 사용설명서에 기재되어 있는 사항 외의 다른 목적으로 제품을 함부로 사용하지

마십시오.

2) 제품 케이스, 사용설명서, 부속품을 만질 경우 손을 베지 않도록 주의하시길

바랍니다.

3) 기기를 물에 빠뜨리거나 습기찬 곳에 장시간 보관하지 마십시오. 침수로 인한

AS로 분류되어 무상 AS를 받으실 수 없습니다. 또한 유상으로도 AS 불가 및

제품 사용이 전혀 불가능해 질 수 있습니다.

4) 기기를 임의로 분해 또는 개조할 시 무상 서비스를 받으실 수 없으며 서비스

범위에서 제외될 수 있습니다.

5) 이용 중 제품에서 타는 냄새가 나거나 열이 심하게 발생되는 경우는 리셋 전원

을 끄고, 저희 ㈜한백전자 고객 지원팀으로 문의 부탁 드립니다.

6) 젖은 손으로 기기를 다룰 시 오동작이 발생할 수 있습니다.

7) 제품 이용시 정전기 발생이 심한 곳에서는 오동작을 일으킬 수 있으니 유의바

랍니다.

8) 천둥, 번개가 치는 날씨에는 낙뢰 및 화재의 위험이 있으니 반드시 장비 본체

의 전원 콘세트를 빼놓으시길 바랍니다.

Page 22: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

22 of 141

(This page is intentionally blanked.)

Page 23: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

23 of 141

2 기능 설명

Page 24: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

24 of 141

(This page is intentionally blanked.)

Page 25: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

25 of 141

2.1 전원

HBE-SoC-Entry II는 제품 내부에 SMPS가 있어 220V/60Hz AC 전원을 입력해 주면

기본적으로 +5V DC가 PCB로 인가됩니다. 그리고 PCB내에 두 개의 레귤레이터는

+3.3V와 +1.8V 전압을 생성합니다. +3.3V는 전반적으로 거의 모든 디바이스가 사용을

하고 있으며, +1.8V는 Excalibur 내부 코어 전원으로 사용됩니다. 그리고 OPAMP 회

로에 일부 -5V를 사용합니다.

[그림 2 - 1] 전원

[그림 2 - 2] 전원

2.2 Reset

HBE-SoC-Entry II는 Excalibur 디바이스 뿐 만 아니라 이외의 디바이스에 리셋을 제공

하기 위한 회로를 갖고 있습니다. 리셋 신호는 시스템에 초기화를 목적으로 제공되는

신호인데, Entry II에서는 이 신호를 생성하기 위해 별도의 디바이스를 사용하였습니다.

이 디바이스는 전원이 최초로 인가되고, 임계값(+2.5V) 전압이 감지가 되면 리셋 신

호를 140ms 동안 발생하고 다시 High 상태로 돌아갑니다. 결국 이를 통해 생성된 리

셋 신호는 보드의 모든 회로에 제공됩니다.

Page 26: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

26 of 141

[그림 2 - 3] 리셋 스위치

[그림 2 - 4] 리셋회로

2.3 Clock

HBE-SoC-Entry II에는 25MHz와 50MHz 두 개의 클럭이 기본 제공됩니다. 이 클럭은

클럭 드라이버를 거쳐 Excalibur 디바이스의 CPU 동작 클럭과 FPGA의 CLK1p,

CLK2p, CLK3p, CLK4p 에 모두 같이 공급됩니다. 즉, CPU 구동 클럭과 FPGA 로직

구동을 위한 외부 입력 클럭이 동일한 주파수를 갖도록 되어 있습니다. 아래에 그림

은 클럭부의 구조를 보이고 있습니다.

[그림 2 - 5] 클럭

[그림 2 - 6] 클럭부

Page 27: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

27 of 141

[표 2 - 1] FPGA Input Clock Excalibur I/O Signal Excalibur I/O CLK1p P20 CLK2p W6 CLK3p R23 CLK4p Y5

[표 2 - 2] Clock 설정 J28 Output clock

1 – 2 50MHz 2 – 3 25MHz

[표 2 – 1]은 FPGA 설계 시에 사용될 Excalibur 외부로부터 입력되는 클럭을 받는 핀

번호입니다. Quartus II 프로그램에서 Assignment > Assignment Editor을 선택해 화면이

전화되면, 해당 클럭 신호의 핀을 노드(Node) 찾기로 찾아 위의 핀 번호 중 사용할

것을 지정해 주면 됩니다.

2.4 Excalibur

HBE-SoC-Entry II는 ALTERA 사의 Embedded Processor ARM922T와 FPGA을 동시에

내장하고 있는 Excalibur를 이용해 만들어졌습니다. 디바이스 패키지는 672 핀을 채

택하여 사용자가 쓸 수 있는 I/O가 더욱 많아졌습니다. Excalibur 디바이스는 게이트

용량과 동작 스피드, 그리고 패키지에 따라 같은 패밀리에도 다양한 종류의 디바이스

가 있습니다. [표 2 – 2] 음영으로 선택된 부분은 SoC-Entry II가 채택해 이용하고 있는

Excalibur 디바이스를 의미합니다. SoC-Entry II PCB는 672 핀 패키지를 사용해 10만

게이트 디바이스와 40만 게이트 디바이스가 서로 호환이 되도록 하였습니다. 그래서

40만 게이트 SoC-Entry II 보드에 사용되는 기능을 10만 게이트 SoC-Entry II 보드에

서 그대로 사용할 수 있습니다. 단 외부 확장 포트는 제외합니다.

[표 2 - 3] Excalibur 디바이스 패밀리 100,000 Gates 400,000Gates 1,000,000Gates

484 Pin pkg EPXA1F484Cx 672 Pin pkg EPXA1F672Cx EPXA4F672Cx 1020 Pin pkg EPXA4F1020Cx EPXA10C1020Cx

x : 1, 2, 3(speed)

Page 28: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

28 of 141

[그림 2 - 7] Excalibur Device

Excalibur 디바이스를 이용해 보드를 설계해야 될 경우, 회로를 조건에 맞게 구성해

주어야 됩니다.

[그림 2 - 8] Excalibur 회로구성

Page 29: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

29 of 141

VCCIO 핀은 FPGA IO 전압을 결정하는 것으로, SoC-Entry II에는 대부분 3.3V 디바이스가 사용되어 FPGA IO도 3.3V로 연결되어 있습니다. 일반적으로 이 핀에 3.3V를 걸어주면 됩니다.

VCCINT 핀은 내부 FPGA 코어 전압으로 Excalibur 디바이스는 +1.8V와 연결해 주어야 합니다. 이 핀은 FPGA마다 다른데, 1.5V, 1.8V, 2.5V, 최근에는 1.2V까지 제공해 주어야 되는 디바이스도 출시되고 있습니다.

SDRAM 인터페이스 핀 중 SDR 모드(SDRAM을 사용하는 경우)의 경우 DDR_VS0, DDR_VS1, DDR_VS2, SDR_DQS1, SDR_DQS2, SDR_DQS3 핀은 저항을 거쳐 +3.3V로 연결해 주어야 합니다. 그리고 어드레스, 데이터 및 제어 신호는 SDRAM과 직접 연결해 주면 됩니다. 참고로 DDR 모드에 대해서 알고십다면 ALTERA Hardware Referece 매뉴얼에 자세히 나와 있으니 참고하십시오.

SDR_DQS0와 SD_CLK_n 두 핀은 직접 연결해 줍니다. FPGA에 PLL를 사용하기 위해서는 CLKLK_ENA 핀을 반드시 외부 핀에서 풀-업해 주어야 합니다.

NCE는 1K 저항을 거쳐 GND와 연결해 줍니다. MSEL0, MSEL1은 Excalibur 디바이스의 컨피규레이션(Configuration)를 결정하는 핀입니다. SoC-Entry II는 이 핀을 GND와 연결했기 때문에 기본적으로 JTAG 모드만 사용 가능합니다.

[그림 2 - 8]는 Excalibur 디바이스 회로 구성을 간단히 보여주고 있습니다. 보다 자세

한 사항은 부록에 있는 회로도를 참고하십시오.

2.5 SDRAM

SoC-Entry II에는 K4S561632C(Samsung, 256Mbits/PC133) 4개를 사용해 기본

128Mbytes을 제공합니다. 더불어 기본 2개의 SDRAM이 Excalibur FPGA I/O핀과 연결

되어 있어, SDRAM 제어가 가능한 환경을 제공합니다. 아래에는 Excalibur와 SDRAM

의 연결 구조를 나타내고 있습니다.

[그림 2 - 9] SDRAM Block

Page 30: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

30 of 141

[그림 2 - 10] SDRAM 연결구조

Quatus II ARM-Stripe Wizard에서 SDRAM CS[0] or SDRAM CS[1]를 활성화하면

SDRAM I/F부(상단의 SDRAM)은 별다른 제약 없이 사용할 수 있습니다 설정에 따라

용량이나 데이터 버스 폭은 다를 수 있습니다. 그리고 FPGA I/O와 연결되어 있는

SDRAM(하단의 SDRAM)은 제품에 따라 2개(64Mbytes, 16-bit) 또는 4개(128Mbytes,

32-bit)로 차이가 있을 수 있습니다. FPGA I/O와 연결된 SDRAM은 Excalibur 내부

DRAM Controller를 FPGA 영역에 설계해 주어야만 사용이 가능합니다.

아래 표는 FPGA I/O에 연결된 SDRAM를 FPGA 영역에 DRAM 제어기를 설계하여 사

용하고자 했을 경우, Excalibur 핀과 SDRAM 사이 연결된 핀의 번호를 보이고 있습니

다.

[표 2 - 4] SDRAM 핀 설정 Signal Name Excalibur I/O In/Out Description

RAM_A0 AC12 O SDRAM Address[0] output from EPXA RAM_A1 AC13 O SDRAM Address[1] output from EPXA RAM_A2 AD7 O SDRAM Address[2] output from EPXA RAM_A3 AD8 O SDRAM Address[3] output from EPXA RAM_A4 AD9 O SDRAM Address[4] output from EPXA RAM_A5 AD10 O SDRAM Address[5] output from EPXA RAM_A6 AD11 O SDRAM Address[6] output from EPXA RAM_A7 AD12 O SDRAM Address[7] output from EPXA RAM_A8 AE7 O SDRAM Address[8] output from EPXA

Page 31: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

31 of 141

RAM_A9 AE9 O SDRAM Address[9] output from EPXA RAM_A10 AE10 O SDRAM Address[10] output from EPXA RAM_A11 AE11 O SDRAM Address[11] output from EPXA RAM_A12 AF9 O SDRAM Address[12] output from EPXA RAM_BA0 AF10 O SDRAM Bank Select[0] output from EPXA RAM_BA1 AF11 O SDRAM Bank Select[1] output from EPXA RAM_DQ0 R5 I/O SDRAM Data Bus[0], Should be 3-state RAM_DQ1 R6 I/O SDRAM Data Bus[1], Should be 3-state RAM_DQ2 T1 I/O SDRAM Data Bus[2], Should be 3-state RAM_DQ3 T6 I/O SDRAM Data Bus[3], Should be 3-state RAM_DQ4 T7 I/O SDRAM Data Bus[4], Should be 3-state RAM_DQ5 U1 I/O SDRAM Data Bus[5], Should be 3-state RAM_DQ6 U2 I/O SDRAM Data Bus[6], Should be 3-state RAM_DQ7 V1 I/O SDRAM Data Bus[7], Should be 3-state RAM_DQ8 V2 I/O SDRAM Data Bus[8], Should be 3-state RAM_DQ9 V3 I/O SDRAM Data Bus[9], Should be 3-state RAM_DQ10 V7 I/O SDRAM Data Bus[10], Should be 3-state RAM_DQ11 W1 I/O SDRAM Data Bus[11], Should be 3-state RAM_DQ12 W2 I/O SDRAM Data Bus[12], Should be 3-state RAM_DQ13 W5 I/O SDRAM Data Bus[13], Should be 3-state RAM_DQ14 Y1 I/O SDRAM Data Bus[14], Should be 3-state RAM_DQ15 Y2 I/O SDRAM Data Bus[15], Should be 3-state RAM_DQ16 Y3 I/O SDRAM Data Bus[16], Should be 3-state RAM_DQ17 Y4 I/O SDRAM Data Bus[17], Should be 3-state RAM_DQ18 Y6 I/O SDRAM Data Bus[18], Should be 3-state RAM_DQ19 AA1 I/O SDRAM Data Bus[19], Should be 3-state RAM_DQ20 AA2 I/O SDRAM Data Bus[20], Should be 3-state RAM_DQ21 AA3 I/O SDRAM Data Bus[21], Should be 3-state RAM_DQ22 AA10 I/O SDRAM Data Bus[22], Should be 3-state RAM_DQ23 AA11 I/O SDRAM Data Bus[23], Should be 3-state RAM_DQ24 AA12 I/O SDRAM Data Bus[24], Should be 3-state RAM_DQ25 AA13 I/O SDRAM Data Bus[25], Should be 3-state RAM_DQ26 AB1 I/O SDRAM Data Bus[26], Should be 3-state RAM_DQ27 AB2 I/O SDRAM Data Bus[27], Should be 3-state RAM_DQ28 AB3 I/O SDRAM Data Bus[28], Should be 3-state RAM_DQ29 AB4 I/O SDRAM Data Bus[29], Should be 3-state RAM_DQ30 AB8 I/O SDRAM Data Bus[30], Should be 3-state RAM_DQ31 AB9 I/O SDRAM Data Bus[31], Should be 3-state RAM_CAS# AB12 O SDRAM Column Address Strobe RAM_RAS# AB13 O SDRAM Row Address Strobe RAM_DQM0 AC8 O SDRAM Data Byte Mask[0] RAM_DQM1 AC9 O SDRAM Data Byte Mask[1] RAM_DQM2 AC10 O SDRAM Data Byte Mask[2] RAM_DQM3 AC11 O SDRAM Data Byte Mask[3] RAM_WE# AC2 O SDRAM Write Enable RAM_CS0# AB10 O SDRAM Chip Select[0] RAM_CS1# AB11 O SDRAM Chip Select[1] RAM_CKE AB14 O SDRAM Clock Enable RAM_CLK M5 O SDRAM Clock

DRAM 제어기를 설계하여 FPGA I/O와 연결된 SDRAM를 사용하기 위해서는 반드시

Page 32: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

32 of 141

위의 표에 있는 핀 설정을 반드시 따라 주어야만 합니다. 그리고 SDRAM의 대한 자

세한 설명은 “K4S561632C Samsung 256Mbit Datasheet”를 참고하길 바랍니다.

2.6 SRAM

SoC-Entry II는 제어가 쉬운 SRAM(Static Random Access Memory)를 제공합니다. 사

용된 SRAM은 Excalibur FPGA I/O와 연결이 되어 있기 때문에 사용하기 위해서는

FPGA에서 핀 설정과 제어 회로를 설계해 주어야 합니다. [그림 2 – 7]은 Excalibur와

SRAM 사이 연결 상태를 보이고 있습니다.

[그림 2 - 11] SRAM

[그림 2 - 12] SRAM 연결

[표 2 - 5] SRAM 핀 설정 Signal Name Excalibur I/O IN/OUT Description

S_OE# W17 O SRAM Output Enable from Excalibur S_WE# W14 O SRAM Write Enable from Excalibur

SRAM0# V26 O SRAM(U63) Chip Select from Excalibur SRAM1# V25 O SRAM(U64) Chip Select from Excalibur

A0 T25 O SRAM Address[0] from Excalibur A1 T24 O SRAM Address[1] from Excalibur A2 T22 O SRAM Address[2] from Excalibur A3 T21 O SRAM Address[3] from Excalibur A4 T20 O SRAM Address[4] from Excalibur A5 R26 O SRAM Address[5] from Excalibur A6 R25 O SRAM Address[6] from Excalibur A7 R24 O SRAM Address[7] from Excalibur A8 R22 O SRAM Address[8] from Excalibur A9 R20 O SRAM Address[9] from Excalibur A10 P21 O SRAM Address[10] from Excalibur A11 N25 O SRAM Address[11] from Excalibur A12 N23 O SRAM Address[12] from Excalibur

Page 33: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

33 of 141

A13 N20 O SRAM Address[13] from Excalibur A14 M26 O SRAM Address[14] from Excalibur A15 M25 O SRAM Address[15] from Excalibur A16 M24 O SRAM Address[16] from Excalibur A17 M23 O SRAM Address[17] from Excalibur DQ0 V24 I/O SRAM Data[0] DQ1 V23 I/O SRAM Data[1] DQ2 V22 I/O SRAM Data[2] DQ3 V21 I/O SRAM Data[3] DQ4 V20 I/O SRAM Data[4] DQ5 V19 I/O SRAM Data[5] DQ6 V16 I/O SRAM Data[6] DQ7 V15 I/O SRAM Data[7] DQ8 U26 I/O SRAM Data[8] DQ9 U25 I/O SRAM Data[9] DQ10 U24 I/O SRAM Data[10] DQ11 U23 I/O SRAM Data[11] DQ12 U22 I/O SRAM Data[12] DQ13 U21 I/O SRAM Data[13] DQ14 U20 I/O SRAM Data[14] DQ15 T26 I/O SRAM Data[15]

SRAM0#과 SRAM1#은 SRAM chip-select 신호로 이 신호는 Excalibur의 I/O 핀과

SRAM의 chip-select 입력핀과 연결되어 있습니다. 이 신호는 SoC-Entry II에 SRAM

U63(SRAM0#)과 U64(SRAM1#)과 각각 연결되어 chip-select가 되도록 되어 있습니다.

SRAM 제어 회로는 “Samsung K6S4016V10D Datasheet”를 참고해 타이밍 조건에 맞

춰 설계해야 합니다.

2.7 Flash Memory

HBE-SoC-Entry II에는 CPU 프로그램과 FPGA 로직 이미지를 적재해 둘 수 있는 저

장 장치로 기본 16 X 2 = 32Mbytes(최대 32 X 2 = 64Mbytes)의 플래시 메모리를 제공

합니다. 이 플래시는 Excalibur가 제공하는 EBI(Expasion Bus Interface) CS0/CS1 영역

에 각각 연결되어 있고, 해당 플래시 메모리의 하드웨어 번지와 파일 다운로드는

Quartus Excalibur MegaWizard Plug-In Manager와 exc_flash_programmer 플래시 유틸

리티로 지정하고 다운로드할 수 있습니다.

플래시 메모리는 FPGA I/O 핀과 연결되지 않고 EBI 버스와 연결되어 있어 Quartus

상에서 별도의 핀 지정을 할 필요가 없습니다.

Page 34: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

34 of 141

[그림 2 - 13] Flash

[그림 2 - 14] 플래시 연결구조

[그림 2 - 15] 플래시 메모리 설정하기

C로 excalibur-ARM CPU의 제어 프로그램을 작성할 경우 플래시 번지에 접근하기 위

해서는 위 그림에서 선언한 번지를 참고하면 됩니다. 직접 번지를 포인터에 할당해도

무방하나, arm stripe wizard로 생성한 *.h 파일을 인클루드하고 그 파일 내부에 선언된

Page 35: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

35 of 141

EXC_EBI_BLOCK0_BASE/ EXC_EBI_BLOCK1_BASE 상수를 참조하도록 한다.

#include <stdio.h> #include "stripe.h" // include this header file . . . . volatile unsigned int *flash; int main(void) {

flash = (volatile unsigned int*) EXC_EBI_BLOCK0_BASE; // flash #0 reference . . . }

Quartus 에서 소프트웨어 빌드 후에 생성된 HEX 파일을 플래시에 다운로드 하기 위

해서는 exc_flash_programmer를 사용해야 합니다. 사용방법은 도스 명령어 창에서 아

래와 같이 입력해 주면 됩니다.

프로젝트 폴더> exc_flash_programmer.exe –p –v –f –g 프로젝트명_flash.hex

플래시 유틸리티에 대한 자세한 설명은 도스 명령어 창에서 exc_flash_programmer를

입력하면 볼 수 있습니다.

[그림 2 - 16] exc_flash_programmer

플래시 메모리 디바이스에 대한 설명은 하고 있지 않은 관계로 플래시 메모리에 대한

보다 정보를 원하면 Intel TE28F128J3 Strata Flash Memory 데이터 시트를 참조하길

Page 36: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

36 of 141

바랍니다.

2.8 JTAG

Excalibur에는 JSELECT 핀이 있어, 이 핀에 입력되는 값(‘1’ or ‘0’)에 따라 Serial-

JTAG mode로 사용할 것인지 Parallel-JTAG mode로 할 것인가를 결정할 수 있습니다.

Serial-JTAG mode(JSELECT=’0’, J27 : 2-3)를 하게 되면 Excalibur FPGA와 내부 ARM

프로세서가 직렬로 연결되어 ByteBlaster 하나로 액세스할 수 있습니다. 반면에

Parallel-JTAG mode (JSELECT=’1’, J27 : 1-2)를 선택하면 FPGA와 내부 ARM 프로세

서 JTAG이 분리되어 서로 다른 JTAG(Multi-ICE, ByteBlster)로 액세스할 수 있습니다.

SoC-Entry II는 J27 점퍼를 JSELECT와 연결해 두 가지 모드를 설정할 수 있도록 하

였습니다.

[그림 2 - 17] JTAG

[그림 2 - 18] Serial-JTAG mode

[그림 2 - 19] Parallel-JTAG mode

[표 2 - 6] JSELECT 핀 설정 J27 1-2 2-3 Description

Serial Open Short J29 ByteBlaster Parallel Short Open J28 Multi-ICE and J29 ByteBlaster

2.9 Ethernet

HBE-SoC-Entry II는 10/100Mbps 통신이 가능한 통신 칩을 장착해, 네트워크 실험 실

Page 37: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

37 of 141

습을 할 수 있습니다. 제공되는 디바이스는 SMSC사의 LAN91C111로 디바이스에 대

한 특징은 데이터시트에 자세히 나와 있으니, 참고하시길 바랍니다.

우선 HBE-SoC-Entry II는 총 두 개의 통신 포트가 제공되는데, 각각의 디바이스는

EBI 버스 CS2 영역(최대 32MB)에 16MB 어드레스 사이즈으로 디코딩 되어 있습니다.

아래에는 Excalibur 디바이스와 LAN91C111 디바이스의 구성과 보드 상의 위치를 보

이고 있습니다.

[그림 2 - 20] LAN 블록

[그림 2 - 21] 랜 블록 구성

[그림 2 – 16]에는 LAN 디바이스를 사용하기 위해서 Quartus Wizard에서 아래 그림과

같이 설정을 해야 하는데, EBI2 어드레스는 임의의 다른 번지로 지정하여도 됩니다.

그러나 웨이트 사이클이나 클럭 divider 값은 lan91c111 디바이스의 하드웨어 타이밍

특성이 정해져 있기 때문에 그림대로 지정해야 합니다. Lan91c111 디바이스의 하드웨

어 타이밍 특성은 데이터시트를 참고해야 합니다.

HBE-SoC-Entry II에서 C로 프로그램을 작성할 때, 이 들 LAN 디바이스 접근을 하기

위해서는 기본적으로 stripe.h를 인클루드 하고, EXC_EBI_BLOCK2_BASE 상수를 참

조해 포인터로 읽고/쓰기를 합니다.

#include <stdio.h> #include "stripe.h" // include this header file . . . . volatile unsigned int *lan0; volatile unsigned int *lan1; int main(void) {

Page 38: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

38 of 141

lan0 = (volatile unsigned int*) EXC_EBI_BLOCK2_BASE; // lan #0 reference lan1 = (volatile unsigned int*) EXC_EBI_BLOCK2_BASE+0x1000000; // lan #1

. . . }

두 개의 네트워크 디바이스가 모두 인터럽트를 발생하는데, 이 중 LAN #0의 인터럽

트는 EXT_INT_PIN_n 핀을 통해 직접 CPU로 인가되나, Excalibur가 제공하는 외부

인터럽트 핀이 EXT_INT_PIN_n 한 개 밖에 없기 때문에 LAN #1 디바이스의 인터럽

트 출력 핀은 Excalibur FPGA I/O(A18)와 연결되어 있다. 그래서 LAN #1을 사용하기

위해서는 Quartus 프로그램에서 ARM stripe 인터럽트 포트(총 6-비트)중 하나와 연결

하는 로직을 만들어 주어야 한다.

[표 2 - 7] LAN #1 인터럽트 핀 설정 Signal Name Excalibur I/O In/Out Description LAN_INTR1 A18 Input Lan91c111 interrupt output to Excalibur

fpga I/O pin.

[그림 2 - 22] LAN 번지 설정

2.10 USB

Page 39: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

39 of 141

HBE-SoC-Entry II는 시리얼 통신 인터페이스 널리 사용되고 있는 USB(Universal

Serial Bus) 2.0 Host/Client 모드를 동시에 지원하는 CY7C67300 USB 컨트롤러 디바이

스를 제공한다.

사용된 USB 디바이스의 특징은 아래와 같으며, 이 디바이스에 대한 보다 자세한 설

명은 데이터시트에 나와 있다.

Host/peripheral controller with SIE and 4 USB ports OTG(On-the-go) 프로토콜 제공 On-chip 48-MHz 16-bit processor with dynamically switchable clock speed Configurable I/O block supporting a variety of I/O options or up to 32 bits of General

Purpose I/O (GPIO) 4K x 16 internal masked ROM containing built-in BIOS that supports a

communication ready state with access to I2C EEPROM Interface, external ROM, UART, or USB 8K x 16 internal RAM for code and data buffering Extended memory interface port for external SRAM and ROM 16-bit parallel Host Port Interface (HPI) with a DMA/Mailbox data path for an external

processor to directly access all of the on-chip memory and control on-chip SIEs Fast serial port supports from 9600 baud to 2.0 Mbaud SPI support in both master and slave On-chip 16-bit DMA/Mailbox data path interface Supports 12-MHz external crystal or clock 3.3V operation Package option — 100-pin TQFP

아래에 두 그림은 보드 상의 USB 블록의 위치와 Excalibur 디바이스와의 연결 구조

를 보이고 있다.

[그림 2 - 23] USB 블록

[그림 2 - 24] USB 블록 구성

Page 40: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

40 of 141

Excalibur로 USB를 제어하기 위해서 Quartus 프로그램에서 EBI 블록 3번째를 활성화

하고 어드레스 베이스 번지를 지정한다. 그리고 USB에서 출력되는 인터럽트를 ARM

프로세서로 인가할 수 있도록 회로를 설계해야 한다.

[그림 2 - 25] EBI Block 3 어드레스 및 타이밍 설정

표는 USB 디바이스의 인터럽트 출력 핀과 Excalibur 디바이스의 FPGA I/O 핀에 대한

설명이다. FPGA I/O 핀을 입력으로 지정하고 ARM stripe 인터럽트 포트(6-비트) 중 하

나와 Quartus를 이용해 연결해 주어야 한다.

[표 2 - 8] USB 디바이스 인터럽트 핀 설정 Name Excalibur I/O In/Out Description

USB_IRQ A20 Input Cy7c67300 interrupt output to Excalibur I/O pin.

아래에는 C 프로그램으로 USB 디바이스 제어를 하기 위한 예를 보이고 있다.

CY7C67300 USB 디바이스는 제어하기 위해서는 반드시 데이터 시트를 참고하도록

한다.

#include <stdio.h>

Page 41: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

41 of 141

#include "stripe.h" // include this header file . . . . volatile unsigned int *usb; int main(void) {

usb = (volatile unsigned int *) EXC_EBI_BLOCK3_BASE; // lan #0 reference . . .

}

2.11 VGA

HBE-SoC-Entry II는 Excalibur FPGA I/O에 컬러 VGA 모니터를 구동할 수 있도록 디

지털 RGB를 아날로그 RGB 신호 변환해 줄 수 있는 D/A Converter가 연결되어 있다.

그래서 1024 X 768 해상도에 최대 24-비트 RGB 컬러를 구현할 수 있도록 구성되어

있다. 사용된 D/A 컨버터의 특징이 아래 제시되어 있다..

Triple 8-Bit D/A Converters Minimum 80 MSPS Operation Direct Drive of Doubly-Terminated 75-W Load Into Standard Video Levels 3×8 Bit 4:4:4, 2×8 Bit 4:2:2 or 1×8 Bit 4:2:2 (ITU-BT.656) Multiplexed YPbPr/GBR

Input Modes Bi-Level (EIA) or Tri-Level (SMPTE) Sync Generation With 7:3 Video/Sync Ratio Integrated Insertion of Sync-On-Green/Luminance or Sync-On-All Channels Configurable Blanking Level Internal Voltage Reference High-Definition Television (HDTV) Set-Top Boxes/Receivers High-Resolution Image Processing Desktop Publishing Direct Digital Synthesis/I-Q Modulation

디바이스에 대한 보다 자세한 설명은 데이터시트를 참고로 하도록 한다.

VGA 블록은 Excalibur FPGA I/O와 연결되어 있기 때문에 VGA D/A Driver를 제어하는

회로와 VGA 모니터 동기 신호(Hsync/Vsync)를 생성해 주는 회로를 Quartus 프로그

램을 통해서 설계해 주어야 하며, 동시에 관련된 I/O을 핀을 적절히 지정해 주어야

한다.

모니터 동기 신호는 구현하고자 하는 해상도에 따라 그 출력 주파수도 달라지며, 동

시에 D/A 컨버터 입력 클럭도 수정되어야 한다.

아래에는 VGA 블록과 연결된 Excalibur FPGA I/O에 대한 정보를 나타내고 있으며,

Page 42: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

42 of 141

VGA를 구현하기 위해서는 반드시 아래 핀을 적절하게 지정해야 한다.

[표 2 - 9] VGA 핀 설정 Signal Name Exalibur I/O In/Out Description

VGA_R0 AF16 Output VGA Red Data 0 Input to DAC VGA_R1 AF17 Output VGA Red Data 1 Input to DAC VGA_R2 AF18 Output VGA Red Data 2 Input to DAC VGA_R3 AF20 Output VGA Red Data 3 Input to DAC VGA_R4 AE23 Output VGA Red Data 4 Input to DAC VGA_R5 AE22 Output VGA Red Data 5 Input to DAC VGA_R6 AE20 Output VGA Red Data 6 Input to DAC VGA_R7 AE18 Output VGA Red Data 7 Input to DAC VGA_G0 AC26 Output VGA Green Data 0 Input to DAC VGA_G1 AC25 Output VGA Green Data 1 Input to DAC VGA_G2 AC22 Output VGA Green Data 2 Input to DAC VGA_G3 AC21 Output VGA Green Data 3 Input to DAC VGA_G4 AC20 Output VGA Green Data 4 Input to DAC VGA_G5 AC19 Output VGA Green Data 5 Input to DAC VGA_G6 AC18 Output VGA Green Data 6 Input to DAC VGA_G7 AC17 Output VGA Green Data 7 Input to DAC VGA_B0 AD22 Output VGA Blue Data 0 Input to DAC VGA_B1 AD21 Output VGA Blue Data 1 Input to DAC VGA_B2 AD20 Output VGA Blue Data 2 Input to DAC VGA_B3 AD19 Output VGA Blue Data 3 Input to DAC VGA_B4 AD18 Output VGA Blue Data 4 Input to DAC VGA_B5 AD17 Output VGA Blue Data 5 Input to DAC VGA_B6 AD16 Output VGA Blue Data 6 Input to DAC VGA_B7 AD15 Output VGA Blue Data 7 Input to DAC SYNCT AC14 Output Control signal output to DAC SYNC# AC15 Output Control signal output to DAC BLANK# AC16 Output Control signal output to DAC

VGA_HSYNC AE17 Output Horizontal Sync output to VGA Port VGA_VSYNC AE16 Output Vertical Sync output to VGA Port

VGA_M1 AB15 Output Control signal output to DAC VGA_M2 AB16 Output Control signal output to DAC VGA_CLK M4 Output VGA Clock from FPGA PLL output

VGA 구현 시에 주의할 점은 VGA_CLK으로 지정된 Excalibur FPGA I/O M4는 PLL 출

력 핀으로 내부 회로에 ALTERA Megafunction PLL을 사용해야 PLL이 생성한 클럭을

외부로 출력할 수 있다.

1024 X 768 해상도를 구현하기 위해서는 구동 클럭이 65MHz가 되어야 하는데, 이를

위해 Excalibur 내부 PLL를 사용하도록 하였고, 이 때 PLL 출력은 핀 M4번으로만 할

수 있다.

아래 표는 해상도에 따른 VGA 동작 타이밍과 기타 유용한 정보를 보여주고 있다.

Page 43: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

43 of 141

[표 2 - 10] Video Timing 해상도 640 X 480 800 X 600 1024 X 768 A Line Period 32.8us 26.4us 20.7us B Hsync Sync Period 3.8us 3.2us 2.1us C Hsync Back Porch 1.9us 2.2us 2.5us D Active Video 25.4us 20us 15.7us E Hsync Front Porch 0.6us 1us 0.4us F Frame Period 16.7ms 16.58ms 16.67ms G Vsync Sync Period 0.05ms 0.1ms 0.12ms H Vsync Back Porch 1ms 0.6ms 0.6ms I Active Frame 15.3ms 15.84ms 15.88ms J Vsync Front Porch 0.3ms 0.02ms 0.06ms

비디오 신호는 라인 수평 동기 신호와 수직 동기 신호로 구성된다. 해상도에 따라

수평 동기 신호는 640, 800, 1024 픽셀로 구성되며, 수직 동기 신호는 480, 600, 768

픽셀이 된다. Blankn 신호가 비디오 DAC로 인가되면 DAC 출력(R, G, B)는 0을 출력

한다. 수평 동기 신호(HS)는 새로운 라인의 시작을 의미하고, 수직 동기 신호(VS)는

새로운 프레임의 시작을 나타낸다.

[그림 2 - 26] 수평 & 수직 Timing

[표 2 - 11] Video Settings 해상도 640 X 480 800 X 600 1024 X 768 Video clock 25.2MHz 40MHz 65MHz

Page 44: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

44 of 141

Horizontal Resolution 640 800 1024 Vertical Resolution 480 600 768 Hsync Pulse Width 95 128 136 Hsync Back Porch width 40 88 160 Hsync Front Porch width 25 40 24 Vsync Pulse Width 2 4 6 Vsync Back Porch Width 22 23 29 Vsync Front Porch Width 10 1 3

HBE-SoC-Entry II에 VGA 포트의 위치와 블록 구성이 아래에 제시되어 있으며, 모니

터를 아래 보이는 15핀 컨넥터에 연결해 사용하면 된다.

[그림 2 - 27] VGA 포트

[그림 2 - 28] VGA 블럭 구성

2.12 TFT LCD

HBE-SoC-Entry II는 휴대용 PDA에 많이 사용되고 있는 3.5” TFT LCD를 장착하고 있

Page 45: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

45 of 141

어 이를 통한 다양한 실험이 가능하다. 장착된 TFT LCD는 삼성 모델로 구동을 위해

별도의 타이밍 칩이 사용되고 있다. 그래서 Excalibur로 LCD를 구현하기 위해서는 이

타이밍 칩을 통해 간접적으로 LCD를 제어하게 된다.

TFT-LCD 특징

240 X 320 pixel with up to 260K color 6 LED Back-light Touch Screen Panel Line Inversion mode Low Power Consumption

Timing Controller 특징

해상도 : 240 X 320 pixel Generate Gate Clock and Gate Start Signal for Integrated Gate Drive Generate signals for VCOM 6bits RGB Input data for 260K color display Function of Gate clock control Maximum Operating Frequency : 20MHz Operating Voltage : 3.0 ~ 3.6V

아래에는 LCD 구동을 위한 구동 클럭(MCLK)의 타이밍 특성을 나타내고 있다.

[그림 2 - 29] MCLK AC 특성

Page 46: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

46 of 141

[그림 2 - 30] LCD 신호 입력 특성

HBE-SoC-Entry II에서 LCD 블록의 구성은 아래 그림과 같으며, Excalibur I/O 핀과 모

든 신호가 연결되어 있기 때문에 Quartus 프로그램에서 LCD 드라이버를 설계하고

FPGA 핀을 적절히 지정해야 한다.

[그림 2 - 31] LCD 블럭 구성

LCD 블록의 핀에 대한 정보는 아래 표에 제시되어 있으며, 반드시 Quartus 프로그램

으로 LCD를 구동하는 내부 회로와 함께 컴파일되어야 한다.

[표 2 - 12] LCD 핀 설정 Signal Name Excalibur I/O In/Out Description

Page 47: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

47 of 141

TFT_D15 AB26 Output LCD Red Data 4 output from FPGA TFT_D14 AB25 Output LCD Red Data 3 output from FPGA TFT_D13 AB24 Output LCD Red Data 2 output from FPGA TFT_D12 AB23 Output LCD Red Data 1 output from FPGA TFT_D11 AB22 Output LCD Red Data 0 output from FPGA TFT_D10 AB21 Output LCD Green Data 5 output from FPGA TFT_D9 AB20 Output LCD Green Data 4 output from FPGA TFT_D8 AB19 Output LCD Green Data 3 output from FPGA TFT_D7 AB18 Output LCD Green Data 2 output from FPGA TFT_D6 AB17 Output LCD Green Data 1 output from FPGA TFT_D5 AA26 Output LCD Green Data 0 output from FPGA TFT_D4 AA25 Output LCD Blue Data 4 output from FPGA TFT_D3 AA24 Output LCD Blue Data 3 output from FPGA TFT_D2 AA23 Output LCD Blue Data 2 output from FPGA TFT_D1 AA22 Output LCD Blue Data 1 output from FPGA TFT_D0 AA21 Output LCD Blue Data 0 output from FPGA

TFT_MCLK AA20 Output LCD Clock TFT_DE AA19 Output LCD Data Enable

BLED_EN# B18 Output Back Light On/Off Control [표 2 - 13] Touch 핀 설정 Signal Name Excalibur I/O In/Out Description TCH_DCLK Y15 Output Touch screen clock TCH_DIN W26 Output Serial data output to Touch.

TCH_DOUT W25 Input Serial data input from Touch TCH_BUSY W23 Input Busy indicate signal to Excalibur TCH_CS# W22 Output Chip select TCH_IRQ# W21 Input Interrupt to Excalibur

HBE-SoC-Entry II 상에서 LCD블록은 보드 하단 좌측에 한눈에 확인할 수 있다.

[그림 2 - 32] TFT LCD

Page 48: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

48 of 141

2.13 CIS(CMOS Image Sensor)

HBE-SoC-Entry II는 CIS(CMOS Image Sensor)를 갖고 있어, 영상을 입력 받아 처리할

수 있도록 되어 있다. HBE-SoC-Entry II에서 제공하고 있는 CIS 카메라의 특징이 아

래 나와 있다. 모든 카메라 신호는 Excalibur FPGA I/O와 연결되어 동작한다.

Micro-lens for High Sensitivity and RGB Mosaic Color Filter Array Pipeline 10 bit Integrated Analog to Digital Conversion VGA(640X480), CIF(352X288) Resolution support and QVGA(320X240),

QCIF(176X144), QQVGA(160X120), QQCIF(88X72) Sub-Sampling Mode Programmable User Window Size Programmable Internal Clock Frequency Power Sleep Mode, Power Down Mode I2C Compatible Serial Bus Interface Shutter Open Time Indicator Pin and Internal Flag Register support for the Strobe

Light Function Rolling Shutter and Progressive Scan Mode Auto Exposure Control Auto White Balance Control Black Level Compensation Programmable Gamma Available Color Interpolation Color Correction by programmable 3 x 3 Matrix Operation R, G, B to YCbCr Color Space Conversion Hue, Saturation, Sharpness, Brightness Control

CIS 카메라의 동작 클럭(MCLK)은 최대 27MHz이고, 내부 clock divider 기능을 사용

할 경우 최대 192MHz 입력이 가능하나 권장은 아닙니다. 기본적으로 MCLK는

24MHz를 사용하여, clock divider 기능을 사용해 CFGB[3:2] 레지스터를 설정하여

PCLK를 생성한다. PCLK는 픽셀 클럭으로 Clock divider 회로를 거쳐 나온 MCLK의

1/2로 고정된 주파수이다.

Page 49: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

49 of 141

[그림 2 - 33] CIS 클럭

CIS 카메라의 동작 타이밍은 출력 포맷이 따라 그 특성이 다르기 때문에 각각에 대

한 자세한 설명은 데이터 시트를 참고하도록 한다. 다음은 YCbCr 출력 포맷의 프레

임 타이밍 특성을 나타내고 있다.

[그림 2 - 34] Frame Time

Page 50: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

50 of 141

[그림 2 - 35] YCbCr-8 bit Output

CIS 카메라 초기 설정 및 동작 방법에 대한 구체적인 설명은 반드시 데이터시트를

참고하십시오.

Excalibur와 연결해 사용하기 위해서는 핀 설정을 지정해줘야 하며, 아래 표는 HBE-

SoC-Entry II의 CIS와 Excalibur의 핀 설정을 보이고 있다. CIS 카메라 구현을 위해서

는 반드시 아래에 해당되는 FPGA I/O를 Quartus 프로그램에서 지정해야 한다.

[표 2 - 14] CIS 핀 설정 Signal Name Excalibur I/O In/Out Description CMOS_Y0 Y24 Input CIS Output data[0] to Excalibur CMOS_Y1 Y25 Input CIS Output data[1] to Excalibur CMOS_Y2 Y26 Input CIS Output data[2] to Excalibur CMOS_Y3 AA14 Input CIS Output data[3] to Excalibur CMOS_Y4 AA15 Input CIS Output data[4] to Excalibur CMOS_Y5 AA16 Input CIS Output data[5] to Excalibur CMOS_Y6 AA17 Input CIS Output data[6] to Excalibur CMOS_Y7 AA18 Input CIS Output data[7] to Excalibur

CMOS_MCLK Y23 Output CIS clock output from Excalibur CMOS_RST# Y22 Output CIS reset output from Excalibur CMOS_SCK Y21 Output CIS I2C interface clock from Excalibur

Page 51: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

51 of 141

CMOS_SDA Y20 In/Out CIS I2C interface data from/to ExcaliburCMOS_VCLK Y16 Input CIS data output clock

CMOS_LVALID Y17 Input CIS line valid signal to Excalibur CMOS_STRB Y19 Input CIS strobe signal to Excalibur

CMOS_FSYNC Y18 Input CIS frame sync signal to Excalibur

[그림 2 - 36] CIS

2.14 AC97 Audio Codec

HBE-SoC-Entry II는 오디오 Codec을 장착해 사운드를 구현할 수 있도록 되어 있다.

사용된 오디오 Codec 칩은 Cirrus Logic 사의 CS4202로 대표적인 AC97 Codec 디바

이스로 임베디드 시스템에서 많이 사용되고 있다.

AC97 2.2 Compliant Exceeds the Microsoft PC2001 Audio Performance Requirments Integrated High-Performance Headphone Amplifier On-chip PLL for use with External Clock Sources Integrated High-Performance Microphone Pre-Amplifier Automatic Jack Sense through GPIO S/PDIF Digital Audio Output I2S Serial Digital Outputs Enable Cost Effective Six Channel Applications 20-bit Stereo Digital-to-Analog Converters 18-bit Stereo Analog-to-Digital Converters Dual Microphone Inputs Stereo and Mono Line-level Outputs

AC97 Codec은 기본적으로 5개의 신호선으로 컨트롤러와 모든 통신을 한다. 이들 신

호는 BIT_CLK에 동기되어 동작하고, BIT_CLK 신호는 AC97 Codec 디바이스에서 생

성한다. AC97 오디오 프레임은 slot이라고 하는 13개의 그룹이 총 256-비트의 비트열

로 구성되어 있다. 아래에는 AC-link의 기본 구성과 AC-link 프레임를 보이고 있다.

Page 52: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

52 of 141

[그림 2 - 37] AC-Link

[그림 2 - 38] AC-Link frame

AC-Link와 AC97 Codec 칩의 사용법 및 보다 자세한 정보는 Cirrus Logic 사의

CS4202 디바이스 데이터 시트를 참고하십시오. 제어 레지스터와 주변회로에 대한 모

든 정보가 제공되어 있습니다.

HBE-SoC-Entry II에 적용된 오디오 Codec 칩을 구동하기 위해서는 AC-Link 인터페이

스를 갖는 AC97 컨트롤러를 설계해야 하며, 동시에 FPGA I/O 핀 설정도 해야 한다.

Page 53: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

53 of 141

[그림 2 - 39] AC97 Block

[그림 2 - 40] 구성도

위의 그림은 AC97 블록의 위치와 그 구성을 보여주고 있다. 한 가지 중요한 점은

AC97 Codec를 제어하기 위해서는 별도의 AC97 Codec 컨트롤러가 설계되어야 한다.

그리고 설계된 컨트롤러는 AC97 Link 인터페이스로 AC97 Codec과 연결된다.

아래에는 FPGA I/O 핀과 AC97 Codec 칩과 연결된 AC97 Link 신호가 나와 있다.

Quartus 프로그램에서 아래 핀을 참고해서 핀 지정을 하고 컴파일해야 한다.

Signal Name Excalibur I/O In/Out Description AC97_BITCLK A15 I AC97 Link clock input from Codec

AC97_SIN A16 I AC97 Link serial data input from Codec AC97_SOUT B20 O AC97 Link serial data output to Codec AC97_SYNC B22 O AC97 Link sync signal output to Codec AC97_RST# B23 O AC97 Link reset signal to Codec

2.15 UART

HBE-SoC-Entry II는 두 개의 시리얼 통신 포트가 있어 개발 호스트와 시리얼 통신 가

능하다. 두 개의 UART 포트 중 하나는 Excalibur ARM stripe 내부의 UART 컨트롤러

가 직접 연결되어 있어 C 언어로 제어해 통신을 할 수 있는 반면, 나머지 한 포트는

Excalibur FPGA 영역에 사용자가 직접 UART 컨트롤러를 설계해 주고 이를 AHB 버

스를 통해 CPU와 인터페이스 해야 통신을 할 수 있다.

ARM Stripe 컴포넌트로 있는 UART 컨트롤러에 대한 자세한 설명은 ALTERA

Excalibur H/W Reference Manual에 자세히 나와 있다. 다음에 그림은 HBE-SoC-Entry

II 보드 내의 UART 구성과 그 위치가 나와 있으며, FPGA I/O와 연결된 UART 포트의

핀 정보를 이어서 보여주고 있다.

Page 54: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

54 of 141

직접 설계한 UART 컨트롤러를 테스트하기 위해서는 FPGA I/O와 연결된 UART 포트

를 사용해야 한다.

[그림 2 - 41] UART

[그림 2 - 42] UART 구성

[표 2 - 15] UART PLD 핀 설정 Signal Name Excalibur I/O In/Out Description UART_TXD1 R22(1) Output Txd signal output to RS232 driver UART_RXD1 R21(1) Input Rxd signal input from RS232 driver (1) Shared I/O pin with SRAM, PCMCIA Address signal.

PLD에 연결된 UART는 RS232 드라이버와 Excalibur I/O가 직접 핀-to-핀 연결이 되

어 있지 않고 중간에 스위치가 연결되어 있어서, 만일 PLD I/O와 연결된 UART를

FPGA에 UART 설계 실습을 할 경우, S6.2번 스위치를 ON해 줘야 한다. 사용하지 않

을 때는 반드시 OFF 시킨다.

2.16 AD/DA

HBE-SoC-Entry II는 아날로그 신호를 입력 받아 AD 변환하여 처리할 수 있고, 처리한

데이터를 반대로 DA 변환하여 아날로그 신호로 출력할 수 있도록 구성되어 있다. 제

공되는 Converter의 특징들이 아래 나와 있다.

TI 사의 AD805E ADC의 특징

12-비트, 20MSPs Analog-to-Digital Converter High SFDR : 74dB at 9.8MHz fin HIGH SNR: 68dB

Page 55: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

55 of 141

LOW POWER: 300mW LOW DLE: 0.25LSB FLEXIBLE INPUT RANGE OVER-RANGE INDICATOR STUDIO CAMERAS IF AND BASEBAND DIGITIZATION COPIERS TEST INSTRUMENTATION

Analog Device사의 AD9762 DAC의 특징

12-비트, 125MSPs TxDAC D/A Converter Member of Pin-Compatible TxDAC Product Family 125 MSPS Update Rate 12-Bit Resolution Excellent Spurious Free Dynamic Range Performance SFDR to Nyquist @ 5 MHz Output: 70 dBc Differential Current Outputs: 2 mA to 20 mA Power Dissipation: 175 mW @ 5 V to 45 mW @ 3 V Power-Down Mode: 25 mW @ 5 V On-Chip 1.20 V Reference Single +5 V or +3 V Supply Operation Package: 28-Lead SOIC and TSSOP Edge-Triggered Latches APPLICATIONS Communication Transmit Channel: Basestations (Single/Multichannel Applications) ADSL/HFC Modems Direct Digital Synthesis (DDS) Instrumentation

이들 디바이스에 대한 설명은 데이터 시트를 참고로 보기 바란다. 동작 방법은 비교

적 간단한데, 기본적으로 입력으로 제공되는 클럭을 기준으로 데이터를 읽거나 쓰면

아날로그 데이터를 디지털로 변환한 값이 읽히거나 디지털 값이 아날로그 전압 레벨

값으로 출력이 된다.

Page 56: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

56 of 141

[그림 2 - 43] AD/DA

[그림 2 - 44] AD/DA 구성

DA 출력단에는 전류-전압 변환하는 회로가 있어 신호가 반전되어 출력되므로 주의해

야 한다.

AD/DA 모두 Excalibur I/O와 연결이 되어 있어 Quartus에서 설계할 때는 반드시 핀

지정을 해줘야 한다.

[표 2 - 16] AD 핀 설정 Signal Name Excalibur I/O In/Out Description

AD_D0 K3 Input ADC output data 0 to EXCALIBUR AD_D1 K4 Input ADC output data 1 to EXCALIBUR AD_D2 K5 Input ADC output data 2 to EXCALIBUR AD_D3 L1 Input ADC output data 3 to EXCALIBUR AD_D4 L2 Input ADC output data 4 to EXCALIBUR AD_D5 L3 Input ADC output data 5 to EXCALIBUR AD_D6 L4 Input ADC output data 6 to EXCALIBUR AD_D7 L5 Input ADC output data 7 to EXCALIBUR AD_D8 M1 Input ADC output data 8 to EXCALIBUR AD_D9 M2 Input ADC output data 9 to EXCALIBUR AD_D10 M3 Input ADC output data 10 to EXCALIBUR AD_D11 M5 Input ADC output data 11 to EXCALIBUR

ADC_CLK R1 Output ADC clock from EXCALIBUR to ADC ADC_OE# R2 Output ADC output enable to EXCALIBUR

[표 2 - 17] DA 핀 설정 Signal Name Excalibur I/O In/Out Description

DA_D0 E3 Output DAC data 0(LSB) DA_D1 E4 Output DAC data 1 DA_D2 F3 Output DAC data 2 DA_D3 F4 Output DAC data 3 DA_D4 G3 Output DAC data 4

Page 57: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

57 of 141

DA_D5 G4 Output DAC data 5 DA_D6 H3 Output DAC data 6 DA_D7 H4 Output DAC data 7 DA_D8 H5 Output DAC data 8 DA_D9 J3 Output DAC data 9 DA_D10 J4 Output DAC data 10 DA_D11 J5 Output DAC data 11(MSB)

DAC_CLK K2 Output DAC clock output from EXCALIBUR to DAC

2.17 RTC(Real Time Clock)

HBE-SoC-Entry II가 제공하는 RTC는 시리얼 인터페이스 방식으로, 초/분/시/일/월/년

정보를 지원한다. 내장 시계는 12-시간 모드와 24-시간 모드를 제공하며, 96바이트의

NV 램이 데이터 저장 공간으로 내장되어 있다.

다음은 제공되는 시리얼 RTC의 특징이다. 디바이스에 대한 정확한 정보는 데이터시

트를 참고한다.

Real-time clock (RTC) counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap-year compensation valid up to 2100

96-byte, battery-backed NV RAM for data storage Two time-of-day alarms, programmable on combination of seconds,

minutes, hours, and day of the week 1Hz and 32.768kHz clock outputs Serial interface supports Motorola SPI™ (serial peripheral interface)

serial data ports or standard 3-wire interface Burst mode for reading/writing successive addresses in clock/RAM Dual-power supply pins for primary and backup power supplies Optional trickle charge output to backup supply 2.0V to 5.5V operation Optional industrial temperature range: -40°C to +85°C Available in space-efficient, 20-pin TSSOP package Underwriters Laboratory (UL) recognized

Page 58: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

58 of 141

[그림 2 - 45] RTC

Excalibur 와 RTC 사이는 직접 핀-to-핀으로 연결되어 있지 않고, 중간에 스위치가

있고 스위치를 사이로 서로 연결되어 있기 때문에 이 스위치를 인에이블해 줘야

RTC의 핀이 Excalibur I/O 핀과 연결되어 사용할 수 있다. 이 스위치 인에이블

신호는 S6.5 스위치를 ‘ON’으로 하면 Excalibur와 RTC가 서로 연결되어 사용할 수

있다.

다음은 S6.5 스위치를 ON했을 때, Excalibur I/O가 연결된 핀 맵 정보를 보이고 있다.

이 RTC를 사용하기 위해서는 Quartus 프로그램에서 아래와 같이 핀 설정을 해 줘야

한다.

Signal Name Excalibur I/O In/Out Description RTC_CE V24 Output Chip enable(1)

RTC_SCLK V23 Output Serial data clock(1) RTC_SDO V22 Input Serial data output(1) RTC_SDI V21 Output Serial data input(1) RTC_IRQ V20 Input RTC Interrupt request(1)

32KHz V19 Input 32KHz clock signal(1) 1Hz V16 Input 1Hz clock signal(1)

(1) Shared I/O with SRAM, IDE, PCMCIA Data signal.

2.18 I/O Connection Control

HBE-SoC-Entry II에서 LED, Dot, 7-Segment, Text-LCD, Piezo, PS/2, UART(PLD), Motor,

RTC와 같은 주변 장치를 제어하기 위해서는 I/O 연결 스위치를 ON해야 한다. 이들

을 제어하는 스위치가 S1, S6 스위치로 각각의 스위치가 ON이 되어야 그에 해당하는

장치와 연결이 되어 사용이 가능하다. 예를 들어 LED를 켜고자 했을 때, 보드 상의

S1.1과 S1.2 스위치를 ON으로 만들어 주어야 한다. 그리고 사용하지 않을 시에는 가

Page 59: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

59 of 141

급적으로 이들 스위치를 OFF 상태로 해 두는 것이 좋다.

[그림 2 - 46] I/O 연결 제어 스위치

S1 Description 1 LED #1 ON/OFF 2 LED #2 ON/OFF 3 7-Segment ON/OFF 4 Dot-Matrix ON/OFF 5 Key-pad ON/OFF 6 16x2 Text-LCD ON/OFF 7 User Dip-switch(S11) ON/OFF 8 User Dip-switch(S20) ON/OFF

S6 Description 1 PS/2 ON/OFF 2 UART(PLD) ON/OFF 3 Reserved 4 Motor ON/OFF 5 RTC ON/OFF 6 Reserved 7 Reserved 8 Reserved

2.19 16X2 Text LCD

이 LCD 모듈은 캐릭터 제너레이터(Generator)를 내장하고 있고, 표시 기능이

인스트럭션(Instruction)으로 제어하기 때문에, 8비트 혹은 4비트 CPU에 쉽게

인터페이스(Interface)할 수 있다. SoC-Entry II에는 EXCALIBUR I/O와 연결되어 있다.

다음은 LCD의 특징이다.

디스플레이 포맷 : 20문자/2라인

디스플레이 폰트 : 5 X 7 도트

LCD 컨트롤러 : HC20201

+5V 단일 전원

아래에는 내부 핀 사양과 내부 블록도이다.

Page 60: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

60 of 141

[그림 2 - 47] Text LCD

[그림 2 - 48] LCD 모듈 블록도

[표 2 - 18] LCD 모듈 핀 설명 LCD Name Excalibur I/O Description

1 VSS 0V 2 VDD +5V 3 VEE LCD 밝기 조절 4 RS V3 L : 명령, H : 데이터(1) 5 R/W V7 H : 리드, L : 라이트(1) 6 E V2 LCD 데이터 버스 인에이블 신호(1) 7 DB0 R5 8 DB1 R6 9 DB2 T1

10 DB3 T6 11 DB4 T7 12 DB5 U1 13 DB6 U2 14 DB7 V1

데이터 버스(1)

15 A +LED 백라이트 +4.4 ~ 4.7V 16 K -LED 백라이트 GND

(1) Shared I/O Pin with SDRAM Data bus[10:0] signal in PCB.

1) E(enable) 신호

이 신호는 입력 신호로서 동작 시작 신호이다. CPU(EXCALIBUR)가 이 LCD에 대해서

동작을 강제로 할 때에는 이 E 신호를 ‘H’로 하여야 한다.

2) R/W(read/write) 신호

입력 신호로서 액정 표시 모듈에 데이터 혹은 명령을 라이트/리드할 때 사용한다.

Page 61: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

61 of 141

리드/라이트 신호 사양이 각 LCD 제조회사마다 조금씩 다르다.

3) RS(register select)

입력 신호로 레지스터를 선택하는 데 사용한다. 원하는 동작을 위해서 다음에

설명하는 인스트럭션 표를 참조하자.

[표 2 - 19] LCD 인스트럭션 E RS R/W 어드레스 기 능 H 0 0 00H 인스트럭션 레지스터 라이트 H 0 1 04H 데이터 RAM 라이트 H 1 0 02H 스테이터스 레지스터 리드 H 1 1 06H 데이터 RAM 리드

4) DB0 ~ DB7(data bus)

데이터 버스, CPU(EXCALIBUR)와 액정 모듈과 데이터를 주고 받기 위한 데이터

경로이다.

다음은 LCD 동작 타이밍이 나와 있다. 모든 타이밍 조건을 동작 타이밍 차트를

참고로 하여 적절히 맞춰야만 정상 동작이 가능하다.

[그림 2 - 49] LCD 모듈 동작 타이밍

Excalibur 와 LCD 사이는 직접 핀-to-핀으로 연결되어 있지 않고, 중간에 스위치가

있고 스위치를 사이로 서로 연결되어 있기 때문에 이 스위치를 인에이블해 줘야

LCD의 핀이 Excalibur I/O 핀과 연결되어 사용할 수 있다. 이 스위치 인에이블 신호는

Page 62: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

62 of 141

S1.6 스위치를 ‘ON’으로 하면 Excalibur와 LCD가 서로 연결되어 사용할 수 있다.

LCD를 사용하지 않을 시에는 반드시 이 스위치를 OFF 시킨다.

2.20 User 7-Segment Display

7-Segment는 일반적으로 Common-anode 타입과 common-cathode 타입 두 종류를

가지고 있다. Common-anode 타입은 common-anode 단자에 전원을 공급해 주고 각

각의 cathode 단자에 low 신호를 걸어 주면 LED에 불이 점등된다. 반대로 common-

cathode 타입은 공통 단자가 GND에 연결되기 때문에 각각의 anode 단자에 high 신

호를 인가해 주어야 LED를 켤 수 있다.

[그림 2 - 50] 7-세그먼트 LED

[그림 2 - 51] 7-Segment 구조

SoC-Entry II에 사용된 7-segment는 common-cathode 타입 4개가 하나의 패키지에 포

함되어 있다. 그래서 특정 7-segment를 발광하기 위해서는 선택 핀(cathode)에 ‘low’

신호를 인가해 주어야 한다.

[표 2 - 20] 핀 설정 Signal Name Excalibur I/O In/Out Description SEG_DATA0 Y3 Output SEG_DATA1 Y4 Output SEG_DATA2 Y6 Output SEG_DATA3 AA1 Output SEG_DATA4 AA2 Output SEG_DATA5 AA3 Output SEG_DATA6 AA10 Output

7-Segment Data(1)

Page 63: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

63 of 141

SEG_DATA7 AA11 Output SEG_COM0 AA12 Output SEG_COM1 AA13 Output SEG_COM2 AB1 Output SEG_COM3 AB2 Output SEG_COM4 AB3 Output SEG_COM5 AB4 Output SEG_COM6 AB8 Output SEG_COM7 AB9 Output

7-Segment digit select(1)

(1) Shared I/O pin with SDRAM Data bus.

7-Segment를 Excalibur와 연결해 사용하기 위해서 S1.3번 스위치를 ON 시킨다. 그리

고 반드시 Quartus 프로그램에서 위의 핀 설정 정보를 통해 설계한 디자인과 핀 맵

시켜야 한다. 7-Segment를 사용하지 않을 시에는 반드시 S1.3 번 스위치를 OFF 시킨

다.

2.21 User Dot-matrix Display

SoC-Entry II는 5 X 7 Dot LED 패키지를 4개 사용하여 10 X 14 Dot와 같이 사용할 수

있도록 구성되었습니다. Dot LED에 불을 켜기 위해서는 데이터 선에 ‘1’를 넣어주고

켜기를 원하는 열을 인에이블 시켜주면 주어진 데이터대로 지정된 열에 불이 켜지게

됩니다. 예를 들어 “1111100000” 값을 데이터 라인에 제공하고 3번 열을 인에이블

(Enable, ‘1’)를 하면 좌측에서 세 번째 열의 Dot LED가 위에서부터 아래로 순서대로

5개가 불이 들어오게 되고, 나머지 5개는 불이 켜지지 않습니다.

[그림 2 - 52] Dot [그림 2 - 53] Dot-matrix

[표 2 - 21] 핀 설정 Signal Name Excalibur I/O In/Out Description

Page 64: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

64 of 141

DOT_D0 AF16 Output DOT_D1 AF17 Output DOT_D2 AF18 Output DOT_D3 AF20 Output DOT_D4 AE23 Output DOT_D5 AE22 Output DOT_D6 AE20 Output DOT_D7 AE18 Output DOT_D8 AC26 Output DOT_D9 AC25 Output DOT_D10 AC22 Output DOT_D11 AC21 Output DOT_D12 AC20 Output DOT_D13 AC19 Output

Dot row data signal(1)

DOT_COM0 AC18 Output DOT_COM1 AC17 Output DOT_COM2 AD22 Output DOT_COM3 AD21 Output DOT_COM4 AD20 Output DOT_COM5 AD19 Output DOT_COM6 AD18 Output DOT_COM7 AD17 Output DOT_COM8 AD16 Output DOT_COM9 AD15 Output

Dot Col Enable signal(1)

(1) Shared I/O pin with VGA RGB signals

Dot 핀과 Excalibur 핀이 직접 연결되지 않고 중간에 스위치가 있어, S1,4번 스위치를

ON 시켜줘야 Dot LED에 불이 들어오는 것을 확인할 수 있다. 사용하지 않을 때에는

S1.4 번 스위치를 반드시 OFF로 해 둔다.

2.22 Push Button Input

3개의 입력 버튼 스위치가 기본 제공되는데, 버튼이 눌려지면 High(3.3V) 신호가

Excalibur I/O 핀을 통해 입력되도록 구성되어 있다.

[그림 2 - 54] Push Button

Page 65: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

65 of 141

[표 2 - 22] 핀 설정 Signal Name Excalibur I/O In/Out Description

PUSH0 W20 Input When pushed, high input to FPGA PUSH1 W18 Input When pushed, high input to FPGA

PLD_RST V5 Input When pushed, high input to FPGA

2.23 User LED Display

SoC-Entry II 에서 제공되는 LED는 모두 16개로, 각각의 LED는 EXCALIBUR I/O와 연

결이 됩니다. LED의 제어는 EXCALIBUR I/O 핀을 출력으로 지정하고 High(Logic, ‘1’)

을 출력하면 LED에 불이 켜지도록 되어 있습니다. 명심할 점은 LED가 EXCALIBUR

I/O와 직접 연결되지 않고 중간에 스위치를 통해 연결되기 때문에 LED에 불이 켜지

는 모습을 확인하기 위해서는 LED 스위치(LED #1 : S1.1, LED #2 : S2.2)를 ON(Low)

해 주어야 합니다.

[그림 2 - 55] LED

[그림 2 - 56] LED 연결구조

[표 2 - 23] LED 핀 설정 Signal Name Excalibur I/O I/O Description

LED_D0 AF10 Output D18 LED output from Excalibur(1) LED_D1 AF11 Output D27 LED output from Excalibur(1) LED_D2 AC12 Output D29 LED output from Excalibur(1) LED_D3 AC13 Output D31 LED output from Excalibur(1) LED_D4 AD7 Output D35 LED output from Excalibur(1) LED_D5 AD8 Output D37 LED output from Excalibur(1) LED_D6 AD9 Output D39 LED output from Excalibur(1) LED_D7 AD10 Output D41 LED output from Excalibur(1) LED_D8 AA21 Output D19 LED output from Excalibur(1) LED_D9 AA22 Output D28 LED output from Excalibur(1)

Page 66: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

66 of 141

LED_D10 AA23 Output D30 LED output from Excalibur(1) LED_D11 AA24 Output D32 LED output from Excalibur(1) LED_D12 AA25 Output D36 LED output from Excalibur(1) LED_D13 AA26 Output D38 LED output from Excalibur(1) LED_D14 AB17 Output D40 LED output from Excalibur(1) LED_D15 AB18 Output D42 LED output from Excalibur(1)

LED 사용 시에는 S1.1과 S1.2 번 스위치를 ON으로 해야 하며, 사용하지 않을 경우

에는 반드시 OFF 시킨다.

2.24 Piezo

Piezo는 Piezo 입력에 High(Logic ‘1’)를 입력해 주면 소리가 납니다. 사용자가 SoC-

Entry II의 Piezo의 사용하기 위해서는 우선 장비에서 S1.6 스위치를 ON으로 설정하

고, Quartus II 설계 툴에서 Piezo로 지정된 핀에 ‘1’를 출력하면 소리가 발생합니다.

[표 2 - 24] Piezo 핀 설정 Signal name Excalibur I/O I/O Description

PIEZO W1 Output U30 Piezo output from Excalibur

[그림 2 - 57] Piezo

[그림 2 - 58] Piezo 연결

2.25 Keypad

SoC-Enry II 3 X 4 Keypad 총 12개의 버튼 입력을 제공합니다. Column0 ~ 2는 FPGA

I/O를 출력으로 연결하고, Row0 ~ 3은 FPGA I/O를 입력으로 설정하여 연결하면 됩니

다. Keypad는 열(Column) 라인에 ‘1’를 출력하고 행(Row) 라인을 읽었을 때 읽혀지는

값을 보고 어떤 키가 눌려졌는지 알 수 있습니다. 예를 들어, 열(Column) 1 라인에 ‘1’

을 FPGA 에서 출력해 주고, 행(Row) 라인을 읽었을 때, “0010” 이란 값이 읽혔다면

키 8번이 눌러진 것입니다.

Page 67: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

67 of 141

[그림 2 - 59] Keypad

[그림 2 - 60] Keypad 구조

SoC-Entry II에서 제공되는 Keypad를 사용하기 위해서는 Keypad와 FPGA 연결 스위

치인 S1.5를 반드시 ON 상태로 설정해야 합니다. 그리고 아래 표는 Keypad와 FPGA

I/O의 핀 연결을 보이고 있습니다. Excalibur I/O 연결되어 있어서 반드시 Quartus 프

로그램에서 핀 설정을 해줘야 되며 이를 위해서는 아래 표를 참고해야 한다.

[표 2 - 25] Keypad 핀 설정 Signal name Excalibur I/O In/Out Description

KEY_R3 AD11 Input Keypad Row[3] input(1) KEY_R2 AD12 Input Keypad Row[2] input(1) KEY_R1 AE7 Input Keypad Row[1] input(1) KEY_R0 AE9 Input Keypad Row[0] input(1) KEY_C2 AE10 Output Keypad Column[2] input(1) KEY_C1 AE11 Output Keypad Column[1] input(1) KEY_C0 AF9 Output Keypad Column[0] input(1)

(1) Shared I/O pin

S1.5 스위치를 ON해야 키패드를 사용할 수 있고, 사용하지 않을 때에는 반드시 OFF

시킨다.

2.26 Dip Switch

FPGA 에 쉽게 값을 전달할 수 있는 사용자가 쓸 수 있는 Dip switch가 두 개 있습니

다. S15와 S20은 8-비트 dip switch로 모두 16-비트 입력을 FPGA로 줄 수 있습니다.

초기 상태에 dip switch의 값을 별다른 조작을 하지 않은 상태에서 읽으면 모두

High(Logic ‘1’)이 읽혀집니다. 그리고 dip switch를 ON 시키고 읽으면 Low(Logic ‘0’)이

읽혀집니다. 아래 그림은 dip switch 부의 구성을 나타내고 있습니다.

Page 68: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

68 of 141

[그림 2 - 61] Dip switch

[그림 2 - 62] Dip switch 구성

아래 표는 FPGA I/O와 연결된 dip switch와 연결된 Excalibur FPGA I/O의 핀 리스트입

니다. Dip switch를 사용하기 위해서 Quartus II에서 핀 설정을 아래와 같이 해 주어야

합니다.

[표 2 - 26] Dip switch 핀 설정 Signal # Name FPGA

Excalibur I/OI/O Description

DIP_D0 T25 I S11 Dip switch input[0] to excalibur DIP_D1 T24 I S11 Dip switch input[1] to excalibur DIP_D2 T22 I S11 Dip switch input[2] to excalibur DIP_D3 T21 I S11 Dip switch input[3] to excalibur DIP_D4 T20 I S11 Dip switch input[4] to excalibur DIP_D5 R26 I S11 Dip switch input[5] to excalibur DIP_D6 R25 I S11 Dip switch input[6] to excalibur DIP_D7 R24 I S11 Dip switch input[7] to excalibur DIP_D8 AB19 I S20 Dip switch input[0] to excalibur DIP_D9 AB20 I S20 Dip switch input[1] to excalibur DIP_D10 AB21 I S20 Dip switch input[2] to excalibur DIP_D11 AB22 I S20 Dip switch input[3] to excalibur DIP_D12 AB23 I S20 Dip switch input[4] to excalibur DIP_D13 AB24 I S20 Dip switch input[5] to excalibur DIP_D14 AB25 I S20 Dip switch input[6] to excalibur DIP_D15 AB26 I S20 Dip switch input[7] to Excalibur

(1) Shared I/O pin

S1.7과 S1.8번 스위치를 ON 시켜야 Dip 스위치로부터 입력되는 값을 읽을 수 있다.

사용하지 않을 시에는 OFF로 한다.

Page 69: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

69 of 141

2.27 Step Motor

모터 제어를 할 수 있도록 일반적으로 많이 사용하는 스텝 모터가 설치되어 있습니다.

상 제어를 위해 FPGA I/O가 TR를 통해 연결되어 있습니다. 모터의 제어는 여자 방식

에 따라 세가지로 다르게 제어가 가능합니다. 1상 여자, 2상 여자, 1-2상 여자 방식이

있고, 이 중 1-2 여자 방식은 고-분해능의 이점을 갖고 있습니다.

[그림 2 - 63] Step Motor

[그림 2 - 64] 모터 인터페이스

[표 2 - 27] 1상 여자

1 2 3 4 5 6 7 8 9 A 1 0 0 0 1 0 0 0 1 B 0 1 0 0 0 1 0 0 0 /A 0 0 1 0 0 0 1 0 0 /B 0 0 0 1 0 0 0 1 0 1주기

[표 2 - 28] 2상 여자 1 2 3 4 5 6 7 8 9

A 1 0 0 1 1 0 0 1 1 B 1 1 0 0 1 1 0 0 1 /A 0 1 1 0 0 1 1 0 0 /B 0 0 1 1 0 0 1 1 0 1주기

[표 2 - 29] 1-2상 여자 1 2 3 4 5 6 7 8 9

A 1 1 0 0 0 0 0 1 1

Page 70: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

70 of 141

B 0 1 1 1 0 0 0 0 0 /A 0 0 0 1 1 1 0 0 0 /B 0 0 0 0 0 1 1 1 0 1주기

SoC-Entry II에서 모터의 제어는 위 중의 하나의 여자 방식을 결정해 모터에 신호를

제공하면 모터가 동작을 하게 됩니다. 아래에는 모터 제어 로직 설계에 필요한 핀 정

보를 나타내고 있습니다. 모터를 사용하기 위해서는 Quartus II에서 핀 설정을 아래와

같이 해 주어야 합니다.

[표 2 - 30] 모터 핀 설정 Signal Name Excalibur I/O I/O Description

Phase_A N23 O Phase A control signal input to motor(1) Phase_B N20 O Phase B control signal input to motor(1) Phase_/A M26 O Phase /A control signal input to motor(1) Phase_/B M25 O Phase /B control signal input to motor(1)

(1) Shared I/O pin

S6.4번 스위치를 ON해야 모터를 사용할 수 있다. 모터를 사용하지 않을 때에는 S6.4

스위치를 반드시 OFF해 둔다.

2.28 PS/2

SoC-Entry II는 PS/2 키보드나 마우스를 연결해 키보드 컨트롤러나 마우스 컨트롤러

를 설계해 볼 수 있는 PS/2 커넥터를 제공하고 있습니다. PS/2는 데이터 선과 클럭

선 두 개만 가지고 데이터의 전송이 이뤄집니다. 데이터 라인이 1개이기 때문에 데이

터는 클럭에 동기되어 시리얼 형태로 전달이 됩니다. PS/2의 클럭은 키보드나 마우스

(슬레이브)가 어떤 동작(키를 눌렀을 경우)을 할 때만 발생됩니다.

데이터의 형태는 시작 비트(1-비트), 정지 비트(1-비트), 패리티 비트(1-비트), 데이터

비트(8-비트)로 구성되면, 모두 11-비트로 구성되어 있습니다. 키보드를 누르면 키보드

는 해당 키의 스캔코드 값을 출력합니다. 이 코드는 처음 눌렀을 때 출력할 뿐만 아

니라 키를 뗐을 때에도 출력이 되기 때문에 키가 계속 눌려져 있을 상태를 알 수 있

도록 해 줍니다. 결국 키보드는 키를 누를 때 키 값에 해당하는 마크 코드와 키를 뗐

을 때는 브레이크 코드와 마크 코드를 출력하므로 그 사이에 구분을 할 수 있습니다.

Page 71: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

71 of 141

[그림 2 - 65] 키보드

[표 2 - 31] 키보드 핀 설명 Pin Name Description 1 Data Key Data 2 N/C Not Connect 3 GND Ground 4 VCC +5V DC 5 CLK Clock 6 N/C Not Connect

[그림 2 - 66] 데이터 형태

Quartus II 프로그램 상에서 핀 설정은 아래 표와 같이 핀 지정을 해 주면 SoC-

Entry II에 PS/2 인터페이스를 사용할 수 있습니다.

[표 2 - 32] PS/2 핀 설정 Signal Name Excalibur I/O In/Out Description

PS2_CLK1 W2 Input J17 PS/2 clock input to excalibur PS2_DATA1 W5 Input J17 PS/2 clock input to excalibur PS2_CLK2 Y1 Input J13 PS/2 clock input to excalibur

PS2_DATA2 Y2 Input J13 PS/2 clock input to excalibur

키보드를 사용하기 위해서 S6.1 번 스위치를 ON해야 한다. 그래야 Excalibur I/O와

키보드 신호가 서로 스위치를 통해 연결이 된다. 사용하지 않을 경우에는 반드시

OFF 시킨다.

Page 72: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

72 of 141

[그림 2 - 67] PS/2

[그림 2 - 68] PS/2 연결

2.29 IDE

HBE-SoC-Entry II는 대용량 저장 자치 HDD를 연결해 제어할 수 있는 환경을 제공하

고 있다. 모든 신호가 Excalibur I/O와 연결되어 시스템을 구성하고 있기 때문에

Quartus에서 핀 설정을 해 주어야 하면, 더불어 IDE HDD를 제어하기 위한 회로가 설

계되어야 한다.

[그림 2 - 69] IDE Connector

[그림 2 - 70] IDE HDD 연결

아래는 Quartus에서 핀 설정에 필요한 핀 설정 데이터이고 아래를 참고로 핀을 지정

해줘야 한다.

Page 73: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

73 of 141

[표 2 - 33] IDE 핀 설정 Signal Name Excalibur I/O In/Out Description

IDE0# E25 Output IDE CS[0] output to IDE IDE1# E26 Output IDE CS[1] output to IDE IOW# F25 Output IDE Write Enable output to IDE IOR# F26 Output IDE Read Enable output to IDE

IDE_IRQ D25 Input IDE Interrupt Request to Excalibur IORDY D26 Input IDE Ready signal input

A1 T24 Output IDE Address[1] signal output to IDE A2 T22 Output IDE Address[2] signal output to IDE A3 T21 Output IDE Address[3] signal output to IDE

DQ0 V24 Bidirectional IDE Data[0] signal – Tri-state DQ1 V23 Bidirectional IDE Data[1] signal – Tri-state DQ2 V22 Bidirectional IDE Data[2] signal – Tri-state DQ3 V21 Bidirectional IDE Data[3] signal – Tri-state DQ4 V20 Bidirectional IDE Data[4] signal – Tri-state DQ5 V19 Bidirectional IDE Data[5] signal – Tri-state DQ6 V16 Bidirectional IDE Data[6] signal – Tri-state DQ7 V15 Bidirectional IDE Data[7] signal – Tri-state DQ8 U26 Bidirectional IDE Data[8] signal – Tri-state DQ9 U25 Bidirectional IDE Data[9] signal – Tri-state DQ10 U24 Bidirectional IDE Data[10] signal – Tri-state DQ11 U23 Bidirectional IDE Data[11] signal – Tri-state DQ12 U22 Bidirectional IDE Data[12] signal – Tri-state DQ13 U21 Bidirectional IDE Data[13] signal – Tri-state DQ14 U20 Bidirectional IDE Data[14] signal – Tri-state DQ15 T26 Bidirectional IDE Data[15] signal – Tri-state

Page 74: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

74 of 141

2.30 PCMCIA Card socket

HBE-SoC-Entry II는 PCMCIA 카드를 꽂아 사용할 수 있는 소켓을 제공하고 있습니다.

아래는 보드상의 위치와 Excalibur I/O와 연결된 PCMCIA 신호입니다.

[그림 2 - 71] PCMCIA [그림 2 - 72] 블럭도

[표 2 - 34] PCMCIA 핀 설정 Signal Name Excalibur I/O Input/Output Description

STS# A23 Input Signal to host when READY. SPKR# J25 Output CD1# L25 Input CD2# J26 Input Card detect

VS1# K19 Input VS2# K20 Input Voltage sense

CE1# K21 Output CE2# K22 Output Chip select

POE# K24 Output Read enable PWE# K25 Output Write enable PIOR# K26 Output Read strobe I/O data POIW# L19 Output Write strobe I/O data PREG# L20 Output I/O cycle

INPACK# L21 Input Acknowledge IOIS16# L22 Input I/O 16-bit select WAIT# L23 Input Access delay IREQ# L24 Input Interrupt request PWR W16 Output Power & reset enable

A0 T25 Output A1 T24 Output A2 T22 Output A3 T21 Output A4 T20 Output A5 R26 Output

PCMCIA Address Bus[25:0](1)

Page 75: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

75 of 141

A6 R25 Output A7 R24 Output A8 R22 Output A9 R21 Output

A10 P21 Output A11 N25 Output A12 N23 Output A13 N20 Output A14 M26 Output A15 M25 Output A16 M24 Output A17 M23 Output A18 M22 Output A19 M21 Output A20 M19 Output A21 L26 Output A22 G25 Output A23 G26 Output A24 H25 Output A25 H26 Output DQ0 V24 BidirectionalDQ1 V23 BidirectionalDQ2 V22 BidirectionalDQ3 V21 BidirectionalDQ4 V20 BidirectionalDQ5 V19 BidirectionalDQ6 V16 BidirectionalDQ7 V15 BidirectionalDQ8 U26 BidirectionalDQ9 U25 BidirectionalDQ10 U24 BidirectionalDQ11 U23 BidirectionalDQ12 U22 BidirectionalDQ13 U21 BidirectionalDQ14 U20 BidirectionalDQ15 T26 Bidirectional

PCMCIA Data Bus[15:0](2)

(1) Some of these signals are connected to IDE, SRAM Device. So be careful to use. (2) Shared data[15:0] signal with IDE, SRAM.

Page 76: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

76 of 141

2.31 Expansion Port

HBE-SoC-Entry II 제품은 플랫 케이블로 연결하여 별도의 모듈(한백 FPGA 응용 모듈

또는 사용자 제작 보드)를 사용할 수 있는 커넥터가 제공됩니다.

[표 2 - 35] 확장용 커넥터 핀 Pin No. Excalibur Pin No. Excalibur

J9.1 +5V J9.2 +5V J9.3 R5 J9.4 R6 J9.5 T1 J9.6 T6 J9.7 T7 J9.8 U1 J9.9 U2 J9.10 V1 J9.11 V2 J9.12 V3 J9.13 V7 J9.14 W1 J9.15 W2 J9.16 W5 J9.17 Y1 J9.18 Y2 J9.19 Y3 J9.20 Y4 J9.21 Y6 J9.22 AA1 J9.23 AA2 J9.24 AA3 J9.25 AA10 J9.26 AA11 J9.27 AA12 J9.28 AA13 J9.29 AB1 J9.30 AB2 J9.31 AB3 J9.32 AB4 J9.33 AB8 J9.34 AB9 J9.35 AC12 J9.36 AC13 J9.37 AD7 J9.38 AD8 J9.39 GND J9.40 GND J9.41 AD9 J9.42 AD10 J9.43 AD11 J9.44 AD12 J9.45 AE7 J9.46 AE9 J9.47 AE10 J9.48 AE11

[그림 2 - 73] I/O 확장용

J9.49 GND J9.50 GND

[그림 2 - 74] 확장 포트의 연결

확장용 50핀 컨넥터는 아래와 같은 형태로 Excalibur I/O와 연결되어 있다. 즉,

Page 77: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

77 of 141

SDRAM에 사용한 I/O와 VGA에 사용한 I/O가 확장 컨넥터로 동시에 연결이 되어 있

는 것이다. 그래서 사용 시에 주의할 점은 I/O와 연결된 SDRAM과 확장용 컨넥터, 똔

는 VGA와 확장용 컨넥터를 동시에 사용할 수 없다.

2.32 Option Board Connector

SoC-Entry II 보드는 로직 용량 확장용 FPGA 모듈이나 사용자 목적에 따라 사용자가

직접 만든 보드를 장착해 Excalibur와 연결해 사용할 수 있도록 별도의 보드 확장 공

간을 마련해 두었습니다. 서로 대칭으로 40 X 2, 2.54 Pitch Pin Header(Total : 70 Pin)

커넥터가 나란히 배치되어 있고, 각각의 커넥터는 확장 보드에 공급하기 위한 전원

(+5V, GND)가 연결되어 있고, 전원을 제외한 핀은 모드 Excalibur FPGA I/O와 연결되

어 있습니다. 아래 표는 커넥터 핀 정보입니다.

[표 2 - 36] 확장 커넥터 핀 설정 J18 J19(4)

J18.1 +5V J18.2 +5V J19.1 +5V J19.2 +5V J18.3 +5V J18.4 +5V J19.3 +5V J19.4 +5V J18.5 R5 J18.6 R6 J19.5 D1 J19.6 D2 J18.7 T1 J18.8 T6 J19.7 E1 J19.8 E2 J19.9 T7 J18.10 U1 J19.9 F1 J19.10 F2 J18.11 U2 J18.12 V1 J19.11 G1 J19.12 G2 J18.13 V2 J18.14 V3 J19.13 H1 J19.14 H2 J18.15 V7 J18.16 W1 J19.15 T2 J19.16 AF12 J18.17 W2 J18.18 W5 J19.17 J1 J19.18 J2 J19.19 Y1 J18.20 Y2 J19.19 K1 J19.20 P4 J18.21 Y3 J18.22 Y4 J19.21 P7 J19.22 R3 J18.23 Y6 J18.24 AA1 J19.23 R4 J19.24 T3 J18.25 AA2 J18.26 AA3 J19.25 T4 J19.26 T5 J18.27 AA10 J18.28 AA11 J19.27 U3 J19.28 U4 J19.29 AA12 J18.30 AA13 J19.29 U5 J19.30 U6 J18.31 AB1 J18.32 AB2 J19.31 U7 J19.32 V4 J18.33 AB3 J18.34 AB4 J19.33 V6 J19.34 V11 J18.35 AB8 J18.36 AB9 J19.35 V12 J19.36 V13 J18.37 AC12 J18.38 AC13 J19.37 V14 J19.38 W3 J19.39 AD7 J18.40 AD8 J19.39 W4 J19.40 W9 J18.41 GND J18.42 GND J19.41 GND J19.42 GND J18.43 AD9 J18.44 AD10 J19.43 W10 J19.44 W11 J18.45 AD11 J18.46 AD12 J19.45 W12 J19.46 W13 J18.47 AE7 J18.48 AE9 J19.47 Y7 J19.48 Y8 J19.49 AE10 J18.50 AE11 J19.49 Y9 J19.50 Y10 J18.51 AF9 J18.52 AF10 J19.51 Y11 J19.52 Y12 J18.53 AF11 J18.54 AC2 J19.53 Y13 J19.54 Y14 J18.55 AC8 J18.56 AB12 J19.55 AA4 J19.56 AA5 J18.57 AC9 J18.58 AB13 J19.57 AA6 J19.58 AA7 J19.59 AC10 J18.60 AC11 J19.59 AA8 J19.60 AA9 J18.61 AF16 J18.62 AC26 J19.61 AB5 J19.62 AB6 J18.63 AF17 J18.64 AC25 J19.63 AB7 J19.64 AC1

Page 78: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

78 of 141

J18.65 AF18 J18.66 AC22 J19.65 AC5 J19.66 AC6 J18.67 AF20 J18.68 AC21 J19.67 AC7 J19.68 AD5 J18.69 AE23 J18.70 AC20 J19.69 AD6 J19.70 AE4 J18.71 AE22 J18.72 AC19 J19.61 AE5 J19.62 AF4 J18.73 AE20 J18.74 AC18 J19.63 AF5 J19.64 AF7 J18.75 AE18 J18.76 AC17 J19.65 AF22 J19.66 AF23 J18.77 GND J18.78 GND J19.67 GND J19.68 GND J18.79 (1) J18.80 (2) J19.69 (3) J19.70 GND (1) Excalibur PLL Clock output is connected(M4). (2) If option board is installed in soc-entry II, this pin indicates option board exist driving J18.70 to low. Default value is logic high(3.3V), which means option board isn’t exist. (3) Excalibur PLL Clock output is connected(P22). (4) This connector is no connected to FPGA I/O pin in EPXA1

[그림 2 - 75] Option board

[그림 2 - 76] Option board I/O 연결 구성

옵션 보드 컨넥터(J18)을 사용할 때에는 J18과 연결된 Excalibur I/O가 SDRAM, VGA,

Expansion 포트와 서로 연결되어 있기 때문에 주의해야 한다. SDRAM, VGA를 사용한

다면 J18과 확장용 50핀 포트를 사용해서는 안 된다. 또 J18를 사용하면 SDRAM과

VGA를 사용할 수 없고, 확장용 50핀 포트도 사용해선 안 된다.

Page 79: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

79 of 141

3 보드 확인

Page 80: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

80 of 141

(This page is intentionally blanked.)

Page 81: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

81 of 141

3.1 윈도우 환경에서 확인

3.1.1 하이퍼 터미널

Windows OS 개발 환경 하에서 HBE-SoC-Entry II 보드의 동작 확인을 위해서 하

이퍼 터미널과 같은 통신 에뮬레이터 프로그램이 주로 사용된다. 이 프로그램은

windows가 자체 제공해 주는 텍스트 환경 통신 프로그램이다.

3.1.2 사용방법

우선 하이퍼 터미널 프로그램을 실행합니다. [시작]을 클릭하고 [프로그램]-[보조프

로그램]-[통신]을 차례로 들어가서 [하이퍼터미널]을 클릭하면 프로그램이 시작한

다.

[그림 3 - 1] 하이퍼터미널 실행하기

처음 하이퍼터미널을 실행하면 국가 정보 및 지역 번호를 묻는 창이 뜨는데, 그

럼 지역 번호 공란에 임의의 지역 번호(02)을 입력한다.

하이퍼너미널이을 처음 실행한 경우가 아니라면 다음과 같은 창이 바로 뜨는데,

이름을 묻는 곳에 임의의 이름(entry_II)을 적어 주고 [확인]을 클릭하면 된다.

Page 82: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

82 of 141

[그림 3 - 2] 이름 입력

이름을 넣고 [확인]을 하게 되면 [그림 3 – 3]과 같이 컴포트를 설정하는 창이 뜨

는데, 사용자 PC에 컴포트에 맞는 번호를 지정한다. 그런 후 [확인]을 누른다.

[그림 3 - 3] Com 포트 설정

Page 83: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

83 of 141

[그림 3 - 4] 통신 설정

마지막으로 통신 설정을 하는데, 위의 그림과 같이 Baud rate, 데이터 비트, 패리

티 비트, 정지 비트, 흐름 제어 속성을 지정한다. 그리고 [확인]을 눌러 설정을 끝

마친다.

초당 비트 수 : 11520 데이터 비트 : 8 패리티 : 없음 정지 비트 : 1 흐름 제어 : 없음

매번 설정하는 과정을 반복하지 않도록 [파일]-[다른 이름으로 저장]을 선택하고

현재 설정을 저장한다.

HBE-SoC-Entry II 장비와 시리얼 케이블이 잘 연결되어 있는지 확인하고 또 보드

와 전원 케이블 연결이 되어 있는지 확인한 후 하이퍼터미널이 실행되고 있는 상

태에서 장비에 전원을 켜도록 한다.

전원이 미리 켜진 상태라면 Reset 스위치를 한 번 눌러 주면 아래 그림과 같은

화면을 볼 수 있다.

Page 84: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

84 of 141

[그림 3 - 5] 부팅 화면 캡처

Hit any key to stop autoboot ….. 메시지가 나오고 아무 키를 시간 내에 누르면 부

트로더 프로프트(hanback #)으로 들어가게 된다.

엔터 키를 계속 누르면 계속해서 프로프트가 출력되게 된다. 그리고 아무 키를

누르지 않으면 리눅스 OS가 부팅되는 화면을 볼 수 있다.

위와 같은 화면을 볼 수 없을 때에는 다시 한 번 케이블 상태나 프로그램 설정

상태를 확인해 보도록 한다.

Page 85: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

85 of 141

4 제품 사용법[실습]

Page 86: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

86 of 141

(This page is intentionally blanked.)

Page 87: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

87 of 141

4.1 요구사항

ALTERA Quartus II 4.0 이상

ADS(ARM Development Suite) v1.2

ModelSim V5.7g 이상

VHDL or Verilog

4.2 Excalibur FPGA 설계하기

4.2.1 7-Segment 제어

7-Segment(또는 FND)는 숫자와 문자를 표시할 수 있는 디스플레이 소자이다. 내

부에는 LED 들로 구성이 되어 있으며, 제어하는 방법은 제품마다 다를 수 있다.

이번 장에서는 7-Segment의 동작 방법을 이해하고 VHDL를 사용해 ARM-Based

Excalibur FPGA의 동작원리와 사용법 그리고 Quartus와 ModelSim의 간략한 사

용법에 대해 알아보자.

4.2.2 7-Segment의 구성 및 동작설명

7-Segment는 일반적으로 Common-anode 타입과 common-cathode 타입 두 종류

를 가지고 있다. Common-anode 타입은 common-anode 단자에 전원을 공급해

주고 각각의 cathode 단자에 low 신호를 걸어 주면 LED에 불이 점등된다. 반대

로 common-cathode 타입은 공통 단자가 GND에 연결되기 때문에 각각의 anode

단자에 high 신호를 인가해 주어야 LED를 켤 수 있다.

[그림 4 - 1] 7-Segment

Page 88: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

88 of 141

HBE-SoC-Entry에 사용된 7-segment는 common-cathode 타입 4개가 하나의 패키

지에 포함되어 있다. 그래서 특정 7-segment를 발광하기 위해서는 선택 핀에

high 신호를 인가해 주어야 한다.

4.2.3 7-segment 동작방법

기본적인 동작방법은 켜고자 하는 단자(anode)에 high 신호를 인가해 주면 된다.

그러나 HBE-SoC-Entry에서는 4개가 하나의 패키지에 들어 있는 cathode-

common 타입의 세그먼트를 사용하고 있어서 선택 신호를 high로 추가로 인가해

주어야 한다.

그리고 세그먼트 LED의 수명과 소비 전력을 고려한 다이내믹 구동 방식 세그먼

트를 동작시키는 방법을 익혀보자. 참고로 다이내믹 구동이란 사람의 눈이 빠르

게 온-오프되는 LED가 항상 켜져 있는 것으로 인식하는 현상을 이용한 것으로 1

초에 30회 이상 LED를 온-오프 즉, 켰다 끄는 것을 반복하면서 동작하는 방식을

말한다.

4.2.4 7-segment를 이용한 간단한 시계 설계하기

1) 시작 > 프로그램 > Altera > Quartus II 4.0에서 Quartus를 실행한다.

[그림 4 - 2] 프로그램 실행

2) Quartus II가 실행되면 File > New Project Wizard를 사용하여 Project를 생성

한다.

Page 89: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

89 of 141

[그림 4 - 3] 실행 화면

3) Project Wizard가 실행되면 Project 경로를 설정하고 Project Name과 Top-

level design entity를 순서대로 입력한다. 프로젝트에 대해 보다 자세한 설정

을 하기 위해서는 Next를 눌러 다음 설정 메뉴로 이동하고 별다른 지정을

하지 않을 경우 Finish를 눌러 프로젝트 생성을 마친다.

Page 90: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

90 of 141

[그림 4 - 4] 프로젝트 설정

해당 경로에 폴더가 없을 때에는 대화 상자가 나타난다 이 때는 예(Y)를 선택한

다. 그럼 자동으로 폴더를 생성한다.

[그림 4 - 5] 프로젝트 폴더 생성

4) Finish를 하지 않고 Next를 선택할 경우 파일 추가 메뉴가 나와 이전에 미리

작성한 VHDL이나 Verilog HDL 소스 파일을 프로젝트에 추가할 수 있다. 소

스 파일 넣고 Next를 눌러 다음 설정으로 이동한다.

Page 91: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

91 of 141

[그림 4 - 6] 파일 추가

5) EDA 툴 설정 메뉴가 나오면 여기에서 사용할 EDA 툴을 선택한다. EDA 툴

을 가지고 있는 경우 각각에 해당하는 툴을 설정하고 Next로 넘어가거나 지

정하지 않을 경우 그냥 다음으로 이동한다.

[그림 4 - 7] EDA 툴 설정

6) Project에서 사용할 Altera Device의 Family를 선택한다. 본 교재에서 사용하

고 있는 HBE-SoC-Entry의 경우 EXCALIBUR_ARM 계열을 이용한 키트이기

때문에 Family을 EXCALIBUR_ARM로 하고 Next로 넘어간다.

Page 92: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

92 of 141

[그림 4 - 8] 디바이스 패밀리 설정

7) 구체적인 Device를 선택한다. HBE-SoC-Entry 제품은 EPXA1F484C3를 사용

하고 있어 아래와 같이 선택하면 된다. HBE-SoC-Expert 제품의 경우는 보드

상에 메인 칩의 부품 번호를 참조해 선택해 주면 된다.

[그림 4 - 9] 타겟 디바이스 설정

8) 지금까지 Quartus II 프로젝트의 전 과정을 끝내고 설정항목을 요약해서 나타

낸다.

Page 93: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

93 of 141

[그림 4 - 10] 프로젝트 설정 요약

[그림 4 - 11] 프로젝트 설정 윈도우

4.2.5 7-segment 설계하기

Page 94: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

94 of 141

9) Quartus II에서 제공되는 editor를 사용하여 작성하기 위해 File 메뉴에서 New

를 선택한다. 또는 다른 editor를 사용해 소스 코드를 작성하여 불러와도 된

다.

[그림 4 - 12] 파일 생성

10) New 창이 나타나면 설계하고자 하는 설계 파일의 종류를 선택한다. 7-

segment로 시계를 구현하는 본 예제에서는 VHDL로 할 것임으로 VHDL

Files를 선택하고 OK한다.

[그림 4 - 13] 파일 종류 선택

Page 95: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

95 of 141

11) 다음과 같은 Quartus II 내부에 빈 Editor 창이 나타나면 VHDL로 설계한다.

[그림 4 - 14] 빈 텍스트 화면

4.2.6 VHDL 소스코드 작성

다음의 소스코드는 입력을 25MHz의 클럭을 분주하여 7-segment를 구동하기 위

한 클럭 분주 기능을 하는 클럭부와 실제 7-segment를 다이내믹 방식으로 구동

하는 구동부 소스이다.

클럭 생성부(clk_gen.vhd) library ieee; use ieee.std_logic_1164.all; entity clk_gen is port( clk_25M : in std_logic; clk_100K : out std_logic; clk_1k : out std_logic ); end clk_gen; architecture arc of clk_gen is

Page 96: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

96 of 141

signal cnt_1K : integer range 0 to 12499; signal bclk_1k : std_logic; signal cnt_100k : integer range 0 to 124; signal bclk_100k : std_logic; begin process(clk_25M) begin if clk_25M'event and clk_25M = '1' then if cnt_1K = 12499 then cnt_1K <= 0; bclk_1k <= not bclk_1k; else cnt_1K <= cnt_1K + 1; end if; end if; end process; clk_1K <= bclk_1k; process(clk_25M) begin if clk_25M'event and clk_25M = '1' then if cnt_100K = 124 then cnt_100K <= 0; bclk_100k <= not bclk_100k; else cnt_100K <= cnt_100K + 1; end if; end if; end process; clk_100K <= bclk_100k; end arc; 7-segment 구동부(segment_driver.vhd) library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity segment_driver is port(clk, start_stop, clear : in std_logic; count_dec : out std_logic_vector(7 downto 0); sel_decode : out std_logic_vector(7 downto 0)); end segment_driver; architecture arc of segment_driver is function dis_seg(cnt : integer range 0 to 15) return std_logic_vector is variable seg_decode : std_logic_vector(7 downto 0); begin case cnt is when 0 => seg_decode := "00111111"; when 1 => seg_decode := "00000110"; when 2 => seg_decode := "01011011"; when 3 => seg_decode := "01001111"; when 4 => seg_decode := "01100110"; when 5 =>

Page 97: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

97 of 141

seg_decode := "01101101"; when 6 => seg_decode := "01111101"; when 7 => seg_decode := "00100111"; when 8 => seg_decode := "01111111"; when 9 => seg_decode := "01100111"; when others => seg_decode := "00000000"; end case; return (seg_decode); end dis_seg; signal msec10a, msec10b, sec10, sec6, y_out : integer range 0 to 99; signal min10, min1, hour10, hour1 : integer range 0 to 99; signal startstop : std_logic; signal sel_count : std_logic_vector(2 downto 0); begin p_startstop : process(start_stop, clear) begin if clear = '1' then startstop <= '0'; elsif start_stop'event and start_stop='1' then startstop <= not startstop; end if; end process; p_msec1 : process(clk) begin if clear='1' then msec10a <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 then msec10a <= 0; else msec10a <= msec10a + 1; end if; end if; end if; end process; p_msec10 : process(clk) begin if clear='1' then msec10b <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 then if msec10b=9 then msec10b <= 0; else msec10b <= msec10b + 1; end if; end if; end if; end if; end process; p_sec1 : process(clk) begin

Page 98: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

98 of 141

if clear='1' then sec10 <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 and msec10b=9 then if sec10=9 then sec10 <= 0; else sec10 <= sec10 + 1; end if; end if; end if; end if; end process; p_sec10 : process(clk) begin if clear='1' then sec6 <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 and msec10b=9 and sec10=9 then if sec6=5 then sec6 <= 0; else sec6 <= sec6 + 1; end if; end if; end if; end if; end process; p_min1 : process(clk) begin if clear='1' then min1 <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 and msec10b=9 and sec10=9 and sec6=5 then if min1=9 then min1 <= 0; else min1 <= min1 + 1; end if; end if; end if; end if; end process; p_min10 : process(clk) begin if clear='1' then min10 <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 and msec10b=9 and sec10=9 and sec6=5 and min1=9 then if min10=5 then min10 <= 0; else min10 <= min10 + 1; end if; end if; end if;

Page 99: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

99 of 141

end if; end process; p_hour1 : process(clk) begin if clear='1' then hour1 <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 and msec10b=9 and sec10=9 and sec6=5 and min1=9 and min10=5 then if hour1=9 then hour1 <= 0; else hour1 <= hour1 + 1; end if; end if; end if; end if; end process; p_hour10 : process(clk) begin if clear='1' then hour10 <= 0; elsif clk'event and clk='1' then if startstop='1' then if msec10a=99 and msec10b=9 and sec10=9 and sec6=5 and min1=9 and min10=5 and hour1=9 then if hour10=5 then hour10 <= 0; else hour10 <= min10 + 1; end if; end if; end if; end if; end process; sel_counter : process(clk) begin if clk'event and clk='1' then sel_count <= sel_count + 1; end if; end process; process(sel_count) begin case sel_count is when "000" => y_out <= msec10a; when "001" => y_out <= msec10b; when "010" => y_out <= sec10; when "011" => y_out <= sec6; when "100" => y_out <= min1; when "101" => y_out <= min10; when "110" => y_out <= hour1; when "111" => y_out <= hour10;

Page 100: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

100 of 141

when others => null; end case; end process; count_dec <= dis_seg(y_out); process(sel_count) begin case sel_count is when "000" => sel_decode <= "01111111"; when "001" => sel_decode <= "10111111"; when "010" => sel_decode <= "11011111"; when "011" => sel_decode <= "11101111"; when "100" => sel_decode <= "11110111"; when "101" => sel_decode <= "11111011"; when "110" => sel_decode <= "11111101"; when "111" => sel_decode <= "11111110"; when others => null; end case; end process; end arc;

4.2.7 Top-level 디자인에서 Instantiation하기

지금까지 과정은 7-segment를 구동하기 위한 하위 기능 모듈을 작성하는 단계였

다. 이 후의 할 일은 설계한 모듈을 상위 블록에서 불러와 하나로 통합하는 과정

이다. 일단 상위 블록은 소스코드 형태로 작성하지 않고 회로도를 그리는 것과

같은 방식으로 설계하고자 한다.

12) Fils > New를 선택해 창이 뜨면 Block Diagram/Schematic File를 선택해 빈

회로도 창을 생성한다.

Page 101: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

101 of 141

[그림 4 - 15] 도면 파일 생성

13) 빈 회로도 창이 뜨면 다음 그림과 같이 하위 모듈의 회로도 심볼을 생성하고

하위 기능 모듈을 입출력 핀과 함께 서로 연결하여 상위 레벨 블록을 작성한

다.

[그림 4 - 16] 예제 도면

회로도 형태로 상위 레벨을 작성하기 위해서는 하위 기능 모듈들의 심볼이 필요

한데, 심볼을 생성하는 방법은 해당 소스파일이 열려 있는 상태에서 File >

Cread/Update > Creat Symbol Files for Current File를 선택하면 회로도에서 사용할

수 있는 심볼을 생성할 수 있다.

Page 102: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

102 of 141

[그림 4 - 17] 심볼 생성

4.2.8 Top-level 디자인 컴파일

설계가 완료되면 Processing > Start Compilation를 선택해 Compile한다. 그러면

진행 과정이 나타나고 설계에 오류가 없으면 Full Compilation was successful 메

시지를 보여준다.

[그림 4 - 18] 컴파일 완료 화면

Page 103: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

103 of 141

4.2.9 Modelsim를 통한 회로 검증(Simulation)

1) Modelsim을 설치 후 프로그램을 실행한다. 프로그램을 실행하면 아래와 같

다.

[그림 4 - 19] ModelSim 실행 화면

2) 메뉴에서 File > New > Project를 선택해 새로운 프로젝트 생성한다.

[그림 4 - 20] 새로운 프로젝트 설정

3) Create Project 창이 나타나면 Project Name과 Project Location과 Default

Page 104: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

104 of 141

Library Name를 지정하고 OK 버튼을 누른다. Project Name를 “watch”로 하고

Quartus Project 아래에 “simulation” 폴더를 만들고 Project Location를 지정한

다.

Project Name segment_driver.vhd

Project Location c:\hbe-soc-entry\watch\simulation

Default Library Name work

[그림 4 - 21] 프로젝트 설정

4) 아래와 같은 창이 뜨면 Add Existing File를 선택하고, Add file to Project 창이

뜨면 segment_drive.vh d 파일을 File Name에 지정하고 OK를 클릭하여 프로

젝트를 시작하도록 한다.

[그림 4 - 22] 파일 추가 1

[그림 4 - 23 ] 파일 추가 2

5) 추가한 파일을 메뉴에서 Compile > Compile All을 실행해 컴파일한다. 소스

파일에는 이상이 없기 때문에 컴파일이 완료되면 segment_driver.vhd 파일

목록 우측에 √ 표시가 되고, 명령 실행 창에는 컴파일이 성공적으로 완료되

었다는 메시지가 초록색으로 나타난다.

Page 105: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

105 of 141

[그림 4 - 24] 파일 추가 화면

6) 컴파일이 끝난 후 Simulation > Simulate.. 메뉴를 선택하면 Simulation을 하기

위한 메뉴가 실행 된다.

[그림 4 - 25] Simulation 메뉴

Page 106: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

106 of 141

7) Simulate 창이 활성화되고 work 아래에 Segment_driver를 선택하고 OK를 누

른다.

[그림 4 - 26] Simulation 모듈 로딩

8) 아래와 같이 Modelsim 메인 창이 바뀌게 된다.

[그림 4 - 27] Simulation 모드

9) 메뉴에서 View > All Windows 메뉴를 실행하면 Modelsim에서 사용되는 모든

창들이 실행되며 화면에 나타난다.

Page 107: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

107 of 141

[그림 4 - 28] ModelSim

Simulation에 필요한 창은 wave과 signals 창 뿐이므로 메인 창을 제외하고 나머

지 창은 닫아도 상관없다.

10) Signals 창에서 신호들을 선택하여 wave 창에 드래그하여 신호가 나타나게

한다.

[그림 4 - 29] 신호 입력

마지막으로 Modelsim 명령창에 다음과 같이 입력한다.

Page 108: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

108 of 141

VSIM 2> force clk 0 0, 1 20ns, -repeat 40ns

VSIM 3> force clear 1 0, 0 100ns

VSIM 4> force start_stop 0 0, 1 150ns, 0 250ns

VSIM 5> run 10ms

위 내용을 간단히 설명하면 25MHz – duty 비가 50%인 클럭을 입력으로 사용한 다는 의미

이며, clear는 초기에 high인 상태로 시작해 100ns에 low로 전환되어 계속 값이 유지된다.

세번째 라인은 처음 low에서 150ns에 high로 전환되고 다시 250ns low가 된다. 마지막 라인

은 10ms까지 시뮬레이션을 하는 것을 의미한다. 결과는 다음과 같다

[그림 4 - 30] 검증 결과

4.2.10 HBE-SoC-Entry II에서 검증하기

4.2.10.1 Excalibur FPGA Configuration

우선 실제 타겟 디바이스에 configuration하기에 앞서 설계한 디자인과 FPGA 핀

과 맵핑을 해 주어야 한다. 다시 말해 지금까지는 설계하고 컴파일을 한 후 시뮬

Page 109: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

109 of 141

레이션 과정을 마쳤고, 실제 타겟 디바이스에서 configuration하기 위해서는 추가

적으로 핀 설정이 남아 있다.

그럼 이제부터 핀 설정 과정을 하고 실제 Excalibur FPGA에 configuration하는 방

법을 알아보자.

1) Quartus의 메뉴 중에서 Assignments > Assignment Editor를 선택한다.

2) 창이 바뀌고 나서 아래와 같은 그림이 나타나면 우측 상단에 네 가지의 버튼

중에 “핀 버튼”을 클릭한다. 이제 그럼 핀 설정을 할 수 있는 상태가 된다.

[그림 4 - 31] Pins asssignmetn

3) “To” 칼럼에서 <new> 셀을 더블 클릭하면 설정할 수 있는 신호 목록을 확인

할 수 있다.

4) 각각의 신호를 선택하고 우측의 셀을 더블 클릭하면 해당 신호를 실제 타겟

디바이스의 핀과 맵핑할 수 있다.

아래 그림은 설계에 사용한 신호를 모두 타겟 디바이스의 핀과 맵핑한 모습을 보

이고 있다. 티겟 디바이스의 핀은 HBE-SoC-Entry H/W 매뉴얼을 참고로 설정하면

된다.

Page 110: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

110 of 141

[그림 4 - 32] 핀 설정 모습

[표 4 - 1] 핀 설정 신호명 I/O 핀번호

Clk Input Pin_W6 Clear Input Pin_W18

Start_stop Input Pin_W20Seg_com[0] Output Pin_AA12Seg_com[1] Output Pin_AA13Seg_com[2] Output Pin_AB1 Seg_com[3] Output Pin_AB2 Seg_com[4] Output Pin_AB3 Seg_com[5] Output Pin_AB4 Seg_com[6] Output Pin_AB8 Seg_com[7] Output Pin_AB9 Seg_disp[0] Output Pin_Y3 Seg_disp[1] Output Pin_Y4 Seg_disp[2] Output Pin_Y6 Seg_disp[3] Output Pin_AA1 Seg_disp[4] Output Pin_AA2 Seg_disp[5] Output Pin_AA3 Seg_disp[6] Output Pin_AA10Seg_disp[7] Output Pin_AA11

5) 표를 참고로 핀 설정을 모두 마쳤으면 저장을 하고 다시 컴파일을 한다.

6) 컴파일까지 완료를 하고 나면 Tools > Programmer 메뉴를 실행한다.

7) Programmer 창이 나타나면 ByteBlasterMV[LPT1] 정보가 표시되었는지 확인

한다.

[그림 4 - 33] 바이트 블라스터

이와 같은 상태로 정보가 표시되지 않았을 경우에는 “Hardware Setup”을 선택하

고 창이 뜨면 “Add hardware”을 실행해 ByteBlasterMV을 추가해 주어야 한다.

Page 111: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

111 of 141

ByteBlaster 드라이버 설치에 대한 보다 자세한 설명은 HBE-SoC-Entry H/W 매뉴

얼을 참고하면 된다.

8) HBE-SoC-Entry 장비와 PC 사이에 병렬 케이블로 연결을 하고 HBE-SoC-

Entry의 전원을 켠다.

9) 지금까지 과정이 이상이 없으면 이제 Programmer 창에서 Auto Detect 버튼

을 선택해 실행한다. 그럼 JTAG에 있는 디바이스 정보가 아래와 같이 표시

된다.

[그림 4 - 34] Programmer

14) 1번의 <none>을 더블 클릭하면 Select New Programming File 창이 활성화되

고 다운로드할 파일을 선택해 준다. 즉, segment_driver.sof를 열기하고

Program/Configure 체크박스에 체크를 한 후 “Start” 버튼을 눌러

Configuration를 실행한다. 100%가 되면 타겟 디바이스의 configuration이 완

료된다.

Page 112: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

112 of 141

[그림 4 - 35] AutoDetect

15) 타겟 디바이스에 configuration이 완료되며 아래와 같이 세그먼트가 동작하게

된다. 실제 설계한 디자인이 의도 한대로 장비에서 동작하는지를 볼 수 있다.

Page 113: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

113 of 141

4.3 LED 제어하기

4.3.1 개요

이 장에서는 쉽게 제어가 가능한 LED를 이용해 하드웨어 설계와 소프트웨어 설

계에 대한 전반적인 흐름을 이해한다. 이 번 장에서 ARM Stripe와 PLD 간의 버

스 인터페이스 및 소프트웨어 빌드 설정은 주의 깊게 보고 넘어가도록 한다.

학습 목표

SoC 시스템 설계 개념 및 흐름을 이해한다.

프로젝트 설정 및 환경 설정을 숙지한다.

하드웨어 검증 방법을 이해한다.

4.3.2 설계 요구사항

HBE-SoC-ENTRY 개발 플랫폼

병렬 케이블

ALTERA Quartus II Ver4.0

ModelSim Ver5.7

ADS Ver1.2

VHDL에 대한 이해

AMBA AHB Bus Protocol의 개념 이해

4.3.3 기능 설명

LED는 제어하기에 큰 어려움이 없이 사용할 수 있다. HBE-SOC-ENTRY에서는 8

개의 사용자 LED가 Excalibur 디바이스의 I/O와 연결되어 있어서, 프로세서 없이

PLD 블록에서 일반 FPGA와 같은 방식으로 LED를 사용할 수 있다.

하지만 여기에서는 LED를 프로세서로 제어할 수 있도록 구성하기 위해서, ARM

Stripe 심볼과 AHB 버스 인터페이스 로직, 그리고 LED와 연결을 위해 백-엔드(로

컬) 로직이 필요하다. LED 제어를 위한 로컬 로직은 LED의 상태를 유지시켜 주

기 위한 래치를 의미한다.

여기에 사용되는 AHB 인터페이스 로직은 AMBA AHB 버스 프로토콜이 정한 바

에 따라 마스터가 출력한 신호(어드레스, 제어)에 따라 적절한 동작을 하는 슬레

이브이다. 이것은 반드시 AMBA AHB 버스 프로토콜 매뉴얼에서 지정한 기본적인

버스 프로토콜에 따라 설계해 주어야 하며, 사용 상의 변형이 가능하다.

Page 114: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

114 of 141

로컬(백-엔드) 로직 또는 래치는 ARM Stripe와 연결되는 AHB 버스 트랜잭션 인

터페이스 로직의 제어로 프로세서에서 쓰는 값을 I/O 핀을 통해 LED로 출력해

준다.

[그림 4 - 36] LED 회로

[그림 4 - 37] 블록도

4.3.4 구동 방법

LED의 구동은 회로도에서도 알 수 있듯이 Excalibur의 I/O 핀에 High를 출력하면

LED에 불이 들어오고, Low가 출력되면 불이 꺼지는 식으로 비교적 간단하게 제

어할 수 있다.

그래서 CPU가 특정 번지(LED)에 값을 쓰면, 이 값이 LED에 반영되어 불이 들어

오게 된다.

4.3.5 프로젝트 설정하기

이제부터 실제로 설계하는 실습을 익혀보도록 하자. 항상 기본적으로 해야 될 것

은 프로젝트를 생성하는 것이다. 그리고 본격적으로 설계에 들어가게 된다.

여기에서는 간단히 ARM Stripe를 생성하고 제공되는 블록/스키메틱 회로에 생성

한 Stripe를 추가해 보도록 한다.

16) New Project Wizard를 실행해 프로젝트 경로와 이름을 설정한다. 그리고

“Next”를 눌러 다음 단계로 진행한다.

Page 115: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

115 of 141

[그림 4 - 38] 프로젝트 설정

Project Directory : 임의의 작업 폴더 지정(예, C:\soc_example\led)

Project Name : arm_top

Top-level design entity name : arm_top

17) 그럼 파일 추가를 하는 창이 뜨는데, 아래에 있는 파일을 모두 추가해 준다.

파일은 위의 소스 파일 구조를 보면 위치를 알 수 있다. 파일 이름 파일 설명

..\Rtl\regfile.vhd 백-엔드 래치 로직

..\Rtl\single_transaction_slave.vhd AHB 인터페이스 로직

..\Common\Exception.c 예외 처리 C 파일

..\Common\Irq.c 인터럽트 핸들러 C 파일

..\Common\Main.c Main() C 프로그램 파일

..\Common\Uartcomm.c UART 통신 C 프로그램 파일 Software\Armc_startup.s ARM 922T 시작 코드 Assembly 파일 Software\Retarget.c ARM 922T C 프로그램 파일 Arm_top.bdf Top-level 블록/스키메틱 파일

Page 116: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

116 of 141

[그림 4 - 39] 파일추가

18) 파일 추가가 끝난 후 “Next”를 두 번 연속 눌러 “EXCALIBUR_ARM”를 선택

하고 “Next”를 한 번 더 눌러 디바이스 선택 단계에서 “EPXA1F484C3”를 선

택한다. 그리고 “Finish”을 눌러 프로젝트 설정을 끝낸다.

4.3.6 ARM Stripe 생성하기

파일 열기를 하여 Top-level 설계 파일(arm_top.bdf)을 연다. 이 파일은 ARM

Processor Stripe를 제외한 나머지 부분만 완성이 되어 있는 형태로 있다. 그래서

우리는 ARM Stripe를 생성하므로 하드웨어 블록 설계를 완성할 수 있다. 다음 그

림은 ARM Stripe만 빠져 있는 Top-level 설계 파일이다.

Page 117: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

117 of 141

[그림 4 - 40] 설계 도면

지금부터 MegaWizard를 이용해 ARM Stripe를 생성해야 한다. ARM Stripe에 대해

보다 자세한 설명은 이전 9장에서 했기 때문에 여기서는 별 어려움 없이 설정할

수 있을 것이다.

19) MegaWizard Plug-In Manager를 실행해서 아래와 같이 설정하고 “Next”를 눌

러 본격적으로 Excalibur 디바이스 설정하는 부분으로 진행한다.

Megafunction : ARM-Based Excalibur

Device family : EXCALIBUR_ARM

Output file type : VHDL

Output file name : Stripe.vhd

20) Excalibur 디바이스 종류와 PLD 인터페이스 설정 등을 아래와 같이해 준다.

설정을 마쳤으면 “Next”를 눌러 클럭 설정하는 단계로 진행한다.

Page 118: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

118 of 141

[그림 4 - 41] Excalibur Wizard [1] [그림 4 - 42] Excalibur Wizard [2]

MegaWizard Plug-In Manager – Excalibur 1/5

Excalibur family : Excalibur_ARM

Available device : EPXA1

Hold processor in reset ~~ : Do uncheck

Boot from flash : Do check

Byte order : Choose little endian

SDRAM : Do check

UART : Do check

MegaWizard Plug-In Manager – Excalibur 2/5

STRRIPE-TO-PLD Bridge만 체크하고 나

머지는 모두 사용하지 않기 때문에 체크

하지 않은 상태로 한다.

21) 이번에는 입력되는 클럭과 AHB 버스 및 SDRAM의 동작 주파수를 설정해

준다. 입력되는 클럭은 CLK_REF 핀을 통해 디바이스로 인가되는 클럭으로

HBE-SOC-ENTRY 장비는 기본 25MHz를 사용하고 있다. “Bypass”가 선택된

상태를 해제하면 AHB 클럭을 설정할 수 있는데, AHB1를 133MHz으로 설정

한다. 그리고 “Next”를 눌러 다음으로 진행한다.

ALTERA Excalibur 디바이스의 CLK_REF 핀을 통해 인가 되는 클럭은 10~66MHz 사이의 값

을 인가할 것을 권장하고 있다.

22) 메모리 맵 설정에서는 별다른 수정을 할 것이 없으니 그대로 두고 “Finish”를

눌러 설정을 마친다.

Page 119: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

119 of 141

[그림 4 - 43] Excalibur Wizard [3] [그림 4 - 44] Excalibur Wizard [4]

MegaWizard Plug-In Manager – Excalibur 3/5

External clock reference : 25MHz

AHB1/AHB2 clock settings

Bypass PLL1 : Do not check

Enter desired AHB1 frequency : 133MHz

MegaWizard Plug-In Manager – Excalibur 4/5

Registers : 7FFFC000, 16K

SDRAM0 : 00000000, 32MB

EBI0(FLASH) : 40000000, 4M(Default)

PLD0 : 80000000, 2G

23) 설정을 마치고 “Finish” 을 하게 되면 아래와 같은 파일들이 생성된다.

[그림 4 - 45] 생성 파일 목록

24) 마지막으로 생성한 ARM Stripe를 심볼 창에서 OK를 눌러 회로도에 심볼을

추가해 블럭/스티메틱 Top-level 설계 파일을 완성한다.

Page 120: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

120 of 141

[그림 4 - 46] Excalibur Stripe 심볼

[그림 4 - 47] 완성된 도면

Page 121: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

121 of 141

4.3.7 BFM(Bus Function Model) Functional Simulation

하드웨어 블록 설계가 완성되면 하드웨어 블록이 정상적으로 동작할 수 있는지를

확인하기 위해 검증이 필요하다. 특정 입력을 넣었을 때 원하는 출력 파형이 나

오기를 기대하지만 한번에 성공이 되기는 쉽지 않다. 그래서 회로의 이상 유무를

파악하기 위해 시뮬레이션에 많은 시간이 소요된다.

Excalibur 디바이스는 PLD 블록에 설계한 회로와 ARM Stripe간의 AHB 인터페이

스를 통해 데이터를 교환하도록 되어 있어 Stripe와 연동하는 PLD 블록의 회로의

검증하기 위해선 기존의 FPGA와는 다른 방법이 필요하다. 그래서 제공되는 검증

모델로 BFM(Bus Function Model)이다. 이 방식은 Stripe와 설계자가 설계한 AHB

버스 인터페이스 회로의 버스 검증을 위해 사용된다.

그래서 여기서부터는 BFM Simulation을 하는 방법에 대해 알아보도록 하겠다.

우선 ModelSim에서 시뮬레이션 하기 위해 Top-level 설계 파일을 VHDL 형식의

파일로 변환해 주어야 한다. 왜냐하면 ModelSim에서는 arm_top.bdf와 같은 파일

은 인식할 수 없기 때문이다.

1) 메뉴 바에서 File > Create/Update > Create HDL Design File for Current File을

실행한다. 아래와 같이 창이 뜨면 VHDL을 선택하고 OK를 클릭한다. VHDL

파일이 성공리에 생성됐다는 메시지가 출력되면 현재 프로젝트 폴더에

arm_top.vhd라는 Top-level 파일이 생성된다.

BFM 시뮬레이션을 하기 위해서는 데이터 파일이 필요하다. 즉, 이 데이터 파일

이란시뮬레이션 동안 STRIPE-TO-PLD 브릿지를 통해 임베디드 프로세서가 발생

하는 read/write 명령을 검증하기 위해 alteramf.vhd 또는 apex20ke-atoms.vhd이

처리해야 되는 명령어(Instruction)을 의미한다.

그래서 이 데이터 파일을 만들어 주어야 하는데, 이 파일을 만들기 위해서 아래

와 같이 C 함수 형태의 정해진 틀에 의해 input.dat파일을 작성해서

exc_bus_translate.exe 유틸리티를 통해 생성하게 된다.

Idle(4); /*allow for the BFM to get passed is init issues*/ write (4, 32, 1, 0xA) /* write the 32-bit value 0xA into address 4 */ write (8, 32, 1, 3); /* write the 32-bit value 3 into address 8 */ write (12, 32, 1, 5); /* write the 32-bit value 5 into address 12 */ write (4, 32, 1, 0xC); /* write the 32-bit value 0xC into address 4 */ write (8, 32, 1, 4); /* write the 32-bit value 4 into address 8 */ write (12, 32, 1, 6); /* write the 32-bit value 6 into address 12 */ read (12, 32, 1); /* read the 32-bit value from address 16*/ write (4, 32, 1, 0x9502); /* write the 32-bit value 0x9502 into address 4 */

Page 122: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

122 of 141

write (8, 32, 1, 5); /* write the 32-bit value 5 into address 8 */ write (12, 32, 1, 7); /* write the 32-bit value 7 into address 12 */ read (4, 32, 1); /* read the 32-bit value from address 4 */ read (8, 32, 1); /* read the 32-bit value from address 8 */ /*INCR Burst test*/ write (4, 32, 3, 9 ,6, 5); /* burst test */ read (16, 32, 1); /* read the 32-bit value from address 16*/ /*Error Checking test*/ write (16, 32, 1, 10); read (16, 32, 1); read (16, 16, 1); read (24, 32, 1);

2) 위와 같이 파일을 작성하고 난 후 Dos 명령어 창에서 아래와 같이 입력하고

엔터 키를 치게 되면 mastercommands.dat라는 시뮬레이션에서 사용할 수

있는 임베디드 프로세서 명령어에 해당되는 데이터 파일이 생성된다.

exc_bus_translate input.dat

[그림 4 - 48] Mastercommands.dat 생성하기

위에서 작성한 파일에 대한 자세한 설명은 이후에 언급하도록 하겠다.

3) 아래는 Exc_bus_translate를 실행해서 생성된 mastercommands.dat 파일이다

///////////////////////////////////////////////////////////////////////////////////////////// // // Altera upCore Bus Transaction Simulator Master Port Command File // // mastercommands.dat // // This file is interpretted by apex20ke_atoms.v to simulate the issueing of read/write // instructions to the PLD by the microprocessor via the AHB3 master interface // // NB Only data, transaction and repeat fields are tested during the // data beats of burst transactions // // /////////////////////////////////////////////////////////////////////////////////////////////

Page 123: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

123 of 141

// FORMAT // / __________________________________| reserved (0000) /// / //| | ++++++++++++++++++++++++++++++++++ valid transaction 1=USE BUS 0=SILENT //| |+ _______________________________ //| |+ / _________________________| address //| |+/ / //| |+| | +++++++++++++++++++++++++ write 1=WRITE 0=READ //| |+| |+ _______________________ //| |+| |+ / _______________| write data / expected read data //| |+| |+/ / //| |+| |+| | ++++++++++++++++ reserved (0) (1=>lock) //| |+| |+| |+ //| |+| |+| |+ /-------------- reserved (0) (1=>check read data) //| |+| |+| |+/ //| |+| |+| |+| ************** transaction 0=IDLE, 1=BUSY, 2=NONSEQ, 3=SEQ //| |+| |+| |+|* //| |+| |+| |+|* /------------ reserved (0) //| |+| |+| |+|*/ //| |+| |+| |+|*| ++++++++++++ burst 0=SINGLE, 1=INCR, 2=WRAP4, 3=INCR4, 4=WRAP8, //| |+| |+| |+|*|+ 5=INCR8, 6=WRAP16, 7=INCR16 //| |+| |+| |+|*|+ //| |+| |+| |+|*|+ /---------- size 0=BYTE, 1=16 BIT, 2=32 BIT //| |+| |+| |+|*|+/ ________ //| |+| |+| |+|*|+| / ______| repeat 0000..FFFF //| |+| |+| |+|*|+|/ / //| |+| |+| |+|*|+|| | // / / / / / / / // / // / / / / / / / // / // |+| |+| |+|*|+|| | Line 2, idle(4); 00000000000000000000000000000004 //0: idle CYCLES=4h=4 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 5, write(4, 32, 1, 10); 000010000000410000000a0020020000 //1: write 32-bits NONSEQ SINGLE DATA=ah=10 ADDR=4 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 6, write(8, 32, 1, 3); 00001000000081000000030020020000 //2: write 32-bits NONSEQ SINGLE DATA=3h=3 ADDR=8 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 7, write(12, 32, 1, 5); 000010000000c1000000050020020000 //3: write 32-bits NONSEQ SINGLE DATA=5h=5 ADDR=12 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 10, write(4, 32, 1, 12); 000010000000410000000c0020020000 //4: write 32-bits NONSEQ SINGLE DATA=ch=12 ADDR=4 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 11, write(8, 32, 1, 4); 00001000000081000000040020020000 //5: write 32-bits NONSEQ SINGLE DATA=4h=4 ADDR=8 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 12, write(12, 32, 1, 6); 000010000000c1000000060020020000 //6: write 32-bits NONSEQ SINGLE DATA=6h=6 ADDR=12

Page 124: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

124 of 141

// |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 13, read(12, 32, 1); 000010000000c0000000000020020000 //7: read 32-bits NONSEQ SINGLE ADDR=12 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 15, write(4, 32, 1, -1794967296); 000010000000419502f9000020020000 //8: write 32-bits NONSEQ SINGLE DATA=9502f900h=-1794967296 ADDR=4 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 16, write(8, 32, 1, 5); 00001000000081000000050020020000 //9: write 32-bits NONSEQ SINGLE DATA=5h=5 ADDR=8 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 17, write(12, 32, 1, 7); 000010000000c1000000070020020000 //10: write 32-bits NONSEQ SINGLE DATA=7h=7 ADDR=12 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 18, read(4, 32, 1); 00001000000040000000000020020000 //11: read 32-bits NONSEQ SINGLE ADDR=4 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 19, read(8, 32, 1); 00001000000080000000000020020000 //12: read 32-bits NONSEQ SINGLE ADDR=8 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 22, write(4, 32, 3, 9, 6, 5); 00001000000041000000090020120000 //13: write 32-bits NONSEQ INC DATA=9h=9 ADDR=4 00001000000081000000060030120000 //14: write 32-bits SEQ INC DATA=6h=6 ADDR=8 000010000000c1000000050030120000 //15: write 32-bits SEQ INC DATA=5h=5 ADDR=12 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 23, read(16, 32, 1); 00001000000100000000000020020000 //16: read 32-bits NONSEQ SINGLE ADDR=16 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 27, write(16, 32, 1, 10); 000010000001010000000a0020020000 //17: write 32-bits NONSEQ SINGLE DATA=ah=10 ADDR=16 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 28, read(16, 32, 1); 00001000000100000000000020020000 //18: read 32-bits NONSEQ SINGLE ADDR=16 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 29, read(16, 16, 1); 00001000000100000000000020010000 //19: read 16-bits NONSEQ SINGLE ADDR=16 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| | Line 30, read(24, 32, 1); 00001000000180000000000020020000 //20: read 32-bits NONSEQ SINGLE ADDR=24 // |+| |+| |+|*|+|| | // |+| |+| |+|*|+|| |

4) BFM 시뮬레이션을 하기 위해 ModelSim 프로그램을 실행하고 메뉴에서 File

> New > Project를 선택해 프로젝트를 설정한다.

Page 125: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

125 of 141

5) “Add Existing File”를 선택하여 시뮬레이션 할 아래의 파일을 추가한다.

파일명 파일 설명 Arm_top.vhd Top-level Design VHDL file Single_transaction_slave.vhd Single transaction AHB Interface VHDL file Regfile.vhd Back-end logic VHDL file Eda\sim_lib\altera_mf.vhd BFM VHDL file Eda\sim_lib\altera_mf_components.vhd Megafunction declaration file Eda\excalibur\lpm\alt_exc_stripe.vhd Excalibur simulation wrapper file Eda\excalibur\lpm\alt_exc_stripe_arch_bfm.vhd Excalibur architecture declaration file Stripe.vhd ARM Stripe VHDL file

[그림 4 - 49] 프로젝트 생성

[그림 4 - 50] 파일 추가

[그림 4 - 51] 파일 추가

파일 추가한 후, 메뉴 바에서 Compile > Compile All를 실행해 파일을 모두 컴파

일해 보자 컴파일이 이상이 없이 완료가 되면 Workspace의 파일의 상태가 초록

색으로 체크된 모습을 볼 수 있다.

6) 시뮬레이션을 하기 위해 Design을 우선 Load하도록 한다. 메뉴 바에서

Simulate > Simulate…를 선택하면 창이 뜬다. 창에서 work에 +를 클릭해 확

장을 해서 arm_top모듈을 찾아 선택하고 OK 버튼을 클릭한다.

Page 126: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

126 of 141

ModelSim 명령 쉘이 변경되고 이제 시뮬레이션할 수 있는 상태이다. Wave 창의

띄우고 신호를 wave 창에 추가해 주고 난 후, 입력 신호에 적절한 값을 지정해

주고 일정 시간 동안 시뮬레이션을 실시하면 된다. 이런 일련의 과정을 매번 반

복해야 하기 때문에 불필요한 과정을 거치지 않기 위해 우리는 여기서 매크로 파

일을 사용하기로 할 것이다.

7) Tools > Execute Macro…을 실행해 창이 뜨면 bfm_wave.do를 선택한다. 그럼

wave 창이 화면에 나타나고 신호가 추가된 모습을 확인할 수 있을 것이다.

8) 다시 Tools > Exceut Macro..을 실행해 이번에는 입력 파형을 지정해 놓은

run_rtl_bfm_sim.do를 선택한다. 그럼 시뮬레이션이 완성된 모습을 확인할 수

있다.

[그림 4 - 52] 시뮬레이션 결과 창

4.3.8 BFM Timing Simulation

타이밍 시뮬레이션을 하기 위해서는 디바이스의 타이밍 정보가 필요하다. 그래서

Page 127: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

127 of 141

설계한 파일을 Quartus 상에서 컴파일하여 세뮬레이션이 가능한 형태의 파일을

생성해 주어야 한다.

일단 Quartus 프로그램 상에 arm_top 프로젝트가 열려 있어야 한다. Assignment

> Settings를 눌러 실행한다. 다음 순서 그대로 따라 실행한다.

1) 우선 Category에 Device를 선택하고 EXCALIBUR_ARM 디바이스 패밀리와

“EPXA4F672C3” 디바이스를 선택해 준다.

[그림 4 - 53] 타겟 디바이스 선택

2) EDA Tool Settings에 +를 눌러 리스트를 확장한 후 Simulation를 선택하면, 창

우측이 바뀌게 되는데, 이때 Tool name에서 ModelSim(VHDL output from

Quartus II)를 지정해 준다.

Page 128: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

128 of 141

[그림 4 - 54] EDA 검증 툴

이와 같이 설정을 하고 컴파일을 하게 되면 현재 프로젝트 작업 폴더에

simulation\model\ 폴더에 arm_top.vho, arm_top.sdo, arm_xrf파일이 생성된다. 그

럼 ModelSim에서는 생성된 파일을 이용해 타이밍 시뮬레이션을 할 수 있다.

Quartus 상에서 컴파일하기 전 핀 설정을 하고 컴파일을 하도록 하자. 입력 핀은

pld_clk, reset_slave 두 개 뿐이고, 나머지는 LED와 연결하는 I/O 12개로 모두 출

력이다. 이들 핀 설정은 다음과 같으며, 또한 5장에 나와 있는 핀 설정을 참고할

수 있다.

3) 아래 표의 핀 정보로 핀 설정을 한다. 핀 설정은 Assignments > Assign Pins

을 실행해 뜨는 창에서 할 수 있다.

신호 이름 핀 번호 설명 PLD_CLK W6 25MHz Clock Input RESET_SLAVE W18 Reset Input USER_LED[0] AF10 D18 LED output from Excalibur(1) USER_LED[1] AF11 D27 LED output from Excalibur(1) USER_LED[2] AC12 D29 LED output from Excalibur(1) USER_LED[3] AC13 D31 LED output from Excalibur(1) USER_LED[4] AD7 D35 LED output from Excalibur(1) USER_LED[5] AD8 D37 LED output from Excalibur(1) USER_LED[6] AD9 D39 LED output from Excalibur(1) USER_LED[7] AD10 D41 LED output from Excalibur(1)

Page 129: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

129 of 141

USER_LED[8] AA21 D19 LED output from Excalibur(1) USER_LED[9] AA22 D28 LED output from Excalibur(1) USER_LED[10] AA23 D30 LED output from Excalibur(1) USER_LED[11] AA24 D32 LED output from Excalibur(1)

[그림 4 - 55] 핀 설정

4) Assignment > Device를 선택하고, EPXA4F672C3를 선택해 준다. 그리고

Device Pin Option 버튼을 클릭해 다음과 같이 설정한다.

Auto-restart configuration after error : Do Check

Enable INIT_DONE output : Do Check

Boot From Flash : 선택

Reserved all unused pins : As Inputs, tri-stated 선택

Page 130: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

130 of 141

[그림 4 - 56] INIT_DONE ouput

[그림 4 - 57] Configuration

[그림 4 - 58] Unused pin

5) 핀 설정을 마쳤으면 컴파일을 해 타이밍 정보를 맞고 있는 파일을 생성해 보

자.

[그림 4 - 59] 결과 메시지

6) ModelSim 프로그램을 실행하여 새로운 프로젝트를 작성한다. 타이밍 시뮬레

이션에는 APEX20KE_ATOMS.vhd와 APEX20KE_component.vhd 파일이 필

요하다. 이 파일은 $(QUARTUS_ROOT)\eda\sim_lib 폴더에서 찾을 수 있다.

Page 131: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

131 of 141

[그림 4 - 60] 프로젝트 설정

[그림 4 - 61] 파일 추가

[그림 4 - 62] 파일 추가 모습

7) Arm_top.vho, single_transaction_slave.vhd, regfile.vhd, arm_top.vhd, 그리고

apex20ke_atoms.vhd, apex20ke_component.vhd 파일을 프로젝트에 추가한다.

8) 파일을 추가한 후 컴파일을 수행한다. 정상이면 위의 그림처럼 체크가 파일

옆에 모두 표시가 되고, 에러일 경우는 X로 표시된다.

9) 에러 없이 컴파일이 완료되었다면 이제 시뮬레이션을 할 수 있다. 도구 바에

서 버튼을 클릭하면 창이 뜨는데, work 옆에 +를 클릭하면 모듈이 나열되서 나타난다. Arm_top 모듈을 선택하고 OK를 하여 모듈을 로드한다.

Page 132: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

132 of 141

[그림 4 - 63] 모듈 로딩하기

10) Tool 메뉴에서 Execute Macro…을 실행해 bfm_wave.do를 실행하자. 그럼

wave 창이 뜨고 신호가 추가된 모습을 볼 수 있다.

[그림 4 - 64] 신호 추가된 창

Page 133: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

133 of 141

11) 마지막으로 다시 Tool에서 Execute Macro..을 실행해 run_timing_bfm_sim.do

를 실행한다. 이제 시뮬레이션 결과를 확인 할 수 있다.

[그림 4 - 65] 검증 결과 창

ModelSim에서 시뮬레이션할 경우, Quartus와 ModelSim 프로그램 간의 버전 사이로 인해

altera_mf.vhd와 apex20ke_atoms.vhd, arm_top.vho, apex20ke_component.vhd 파일이 컴파일

에러가 발생할 수 있다. 이 경우 ALETRA 홈페이지 다운로드 페이지에서 미리 컴파일된

ALTERA 라이브러리를 다운로드 받아 ModelSim에서 라이브러리를 만들어 다운로드 받은

파일의 압축을 풀고 압축을 푼 폴더와 링크를 해주어야 한다.

File > New > Library를 실행하고 그림처럼 라이브러리 지정을 한다. 미리 컴파일된 라이브러

리를 만들고 컴파일하면 에러없이 컴파일할 수 있다.

그래도 에러가 발생할 시에는 컴파일 옵션에 VHDL 항목 중에서 “Use 1993 Language

Syntax”을 선택해 준다.

다운로드 주소

(https://www.altera.com/support/software/download/eda_software/modelsim/msm-index.jsp)

Page 134: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

134 of 141

4.3.9 소프트웨어 빌드 설정하기

다운로드하기에 앞서 프로세서 구동 프로그램(C, Assembly) 파일을 컴파일해 주

어야 한다. 이 때 반드시 해야 될 것이 Quartus 프로그램 상에서 소프트웨어 빌

드 세팅이다. 빌드 세팅은 컴파일어의 종류를 선택하고, 헤더 파일과 라이브러리

의 경로, 하드웨어 이미지 파일을 지정하고 링크 옵션을 할 수 있다.

그럼 소프트웨어 빌드 세팅을 해 보도록 하자.

1) 메뉴에서 Assignmets > Wizards > Software Build Settings Wizard…를 실행한

다. 창이 뜨면 “Next”를 눌러 다음으로 넘어가도록 한다. 그럼 Software Build

Settings Wizard : Settings Name [page 1 of 7]이 나타난다. 아래 그림과 같이

순서대로 설정하고 다음으로 진행해 나간다. “Next”를 눌러 페이지 2 설정도

아래와 같이 한다.

[그림 4 - 66] Software Build [1] [그림 4 - 67] Software Build [2]

[Page 1 of 7]

Processor : ARM922T

Software toolset : ADS Standard Tools

“Next” 버튼 클릭

[Page 2 of 7]

Byte order : Little endian

Output file format : Intel Hex format

File name : arm_top.hex

2) 페이지 2도 설정을 마쳤으면 “Next”를 눌러 다음 단계로 진행한다.

3) 페이지 3에서는 하드웨어 설계를 마친 후 생성된 하드웨어 이미지 파일을

Page 135: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

135 of 141

지정해 준다. 초기에 None이라고 선택되어 있는데, 이를 해제하고 두 번재

“Creat a file that allows ….”로 시작하는 곳을 선택하고 arm_top.sbi 파일을 지

정해 준다.

4) “Next”를 해 다음 단계로 넘어가서 C/C++ 컴파일러 설정을 한다. 여기서는

두 번째 텍스트 상자에 “ . , ..\common”이라고 적어 준다.

[그림 4 - 68] Software Build [3] [그림 4 - 69] Software Build [4]

Arm_top.sbi 파일 지정

“Next” 버튼 클릭 다음으로 진행

[page 4 of 7]

“ . , ..\common” 입력

“Next” 버튼 클릭 다음으로 진행

Page 136: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

HBE-SOC-ENTRY II Hanback Co., Ltd

136 of 141

[그림 4 - 70] Assembler [그림 4 - 71] Linker

[page 5 of 7]

“.” : 현재 폴더를 의미하는 마침표 입력

“Next”로 진행

[page 6 of 7]

Simple을 선택하고

Entry symbol name/address : 0 입력

Read only base address : 0 입력

Read/write base address : 0x20000 입력

-first armc_startup.o(init)을 가장 아래 텍

스트 박스 안에 추가로 입력한다.

“Finish”을 눌러 종료

5) “Next”를 해 Assembler 단계가 나오면 “.” 현재 폴더를 참조하기 위해 마침표

하나만 입력해 준다. 그리고 “Next”를 클릭해 다음으로 진행한다.

6) 마지막으로 Linker 설정에서 “Simple”을 선택하고 세 가지 항목에 대한 값을

위 그림에 입력한 대로 지정해 준다. 그리고 “Finish”을 한다.

7) 설정을 다 마쳤으므로 도구바에서 버튼을 선택해 소프트웨어를 컴파일

한다.

빌드가 성공하면 이제 SoC-Entry에 다운로드 할 arm_top_flash.hex 파일이 생성

된다.

Page 137: Hanback Co., Ltd HBE-SOC-ENTRY II · 뿐 만 아니라 칩 설계 프로토타이핑(Prototyping)에 쉽게 적용이 가능한 임베디드-SoC 제품입니다. ALTERA 사의 Excalibur

Hanback Co., Ltd HBE-SOC-ENTRY II

137 of 141

4.3.10 다운로드 하기

장비와 컴퓨터에 병렬 케이블을 서로 연결한다. 장비에 전원 케이블을 연결하고

전원 스위치를 온 한다. 도스 명령어 창을 열고 현재 프로젝트 폴더가 있는 곳으

로 이동한다.

도스 창에서 아래와 같이 입력하고 엔터를 친다. 그럼 현재 프로젝트에서 생성된

arm_top_flash.hex 파일이 장비의 플래시에 퓨징하기 시작한다.

Exc_flash_programmer –p –v –f –g arm_top_flash.hex<엔터>

[그림 4 - 72] 다운로드 완료


Recommended