EMP2CYC FPGA moule.

Slides:



Advertisements
Similar presentations
1/29 키보드로 직접 입력할 수 없는 다양한 기호와 한자를 입력하는 방법을 알아 보자. 또한 블록으로 영역을 설정하는 여러 가지 방법에 대해 살펴본 후 블록 으로 설정된 내용을 복사하여 붙여넣거나, 잘라내고 이동하는 방법에 대해서 도 알아보자. 02_ 문서의 입력과 편집.
Advertisements

아이튠즈 계정 생성. 1. 인터넷을 통해 설치한 아이튠즈를 실행 한 후 그림의 순서대로 선택을 합니다. 1 2.
컴퓨터와 인터넷.
Windows XP SP2 문제해결 Windows XP SP2를 설치한 회원께서는 Pop-up차단 기능과 ActiveX 설치의 어려움 발생 아래의 예는 안철수 바이러스 설치 시 문제점을 해결 하는 방법의 설명. 1. ActiveX 컨트롤 설치 ① 주소 표시줄 아래의 '이.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
예비보고서1 : 8개의 푸시버튼 스위치가 있다. 이 스위치에 각각 0~7개까지의 번호를 부여하였다고 하자
디지털시스템실험 2주차 고려대학교 전기전자전파공학부.
Cary UV 분석 매뉴얼 1. 바탕화면의 Cary WinUV 클릭 정량분석 다 파장 동시분석 단 파장 분석
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
MCMS3000 네트워크 설정방법 [반도 HFCNMS 시스템 Set-up] 반도전자통신
1) 인터넷주소(강남구보건소)로 접속해주세요.
아두이노 센서의 연결 디지털 및 아날로그 센서값의 특징 디지털 센서 핀 구조 및 연결하기 아날로그 센서 핀 구조 및 연결하기
연결리스트(linked list).
CUDA Setting : Install & Compile
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
7-Segment FND Controller 구현
Quartus II 사용법 VHDL을 이용한 디지털 시스템 설계.
네트워크 프로그래밍 및 실습.
Bluetooth Billionton Setup
ANSYS17.2 Student 제품 무료 다운로드
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
1. C++ 시작하기.
IT CookBook, VHDL을 이용한 FPGA 디지털 설계
부트로더와 Self Programming
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
디지털 시스템 설계(3).
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
PRM 정보관리 업체 메뉴얼
DK-128 FND 실습 아이티즌 기술연구소
1. 설치 2. SPC_Wave 사용설명 SPC_Reflow 사용방법은 Wave와 같습니다.
논리회로 설계 및 실험 5주차.
Moving Control in Web using Ajax Toolkit
1차시: 낮과 밤이 생기는 원리 지구과학
8장. spss statistics 20의 데이터 변환
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
7주차 실습 FPGA 보드 사용법.
Outlook 손상된 PST 복구
계산기.
과제 1 4bit x 4 SRAM이 있다 아래 (1), (2) 두 입력에 대한 출력값 [3:0] Dout을 나타내시오 (1)
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
청각장애인용 APP 구성 및 사용법.
시보기 / PC 연결설정방법 광주 직영 임성환 사원.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
논리회로 설계 및 실험 4주차.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
농구 로봇 따라해 보기.
무선랜 사용자 설명서 (Windows Vista 사용자).
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
Installation Guide.
과제물 3호 3번 문제 설명자료.
어드민 로그인 ID : admin 비밀번호 : 서보테크 1. 제품소개 등록 - MISUBISHI
1) 인터넷주소(강남구보건소)로 접속해주세요.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
Progress Seminar 양승만.
오늘의 강의 제목을 입력하세요 소 속 : 인문대학 국어국문학과 이 름 : 홍길동 교수 1.
논리회로 설계 및 실험 8주차.
SafeMSR 설정.
타이머를 시작하려면 슬라이드 쇼 메뉴에서 쇼 보기를 클릭하십시오.
BoardGame 보드게임 따라가기.
Presentation transcript:

EMP2CYC FPGA moule

FPGA란? FPGA(field programmable gate array, 현장 프로그래머블 게이트 어레이)은 프로그래머블 논리 요소와 프로그래밍가능 내부선이 포함된 반도체 소자이다. 프로그래머블 논리 요소는 AND, OR, XOR, NOT, 더 복잡한 디코더나 계산기능의 조합 기능같은 기본적인 논리 게이트의 기능을 복제하여 프로그래밍할 수 있다. 대부분의 FPGA는 프로그래밍가능 논리 요소 (FPGA 식으로는 논리 블록이라고도 함)에 간단한 플립플롭이나 더 완벽한 메모리 블록으로 된 메모리 요소도 포함하고 있다. 프로그램이 가능한 내부선 계층구조는 FPGA의 논리블록을 시스템 설계자가 요구하는 대로 단일칩 프로그래밍가능 빵판처럼 내부연결을 할 수 있다. 이 논리블록과 내부선은 제조공정 이후에 소비자/설계자가 프로그램할 수 있으므로 요구되는 어떠한 논리기능도 수행할 수 있다.(그러한 이유로 "현장 프로그래머블") FPGA는 일반적으로 주문형 반도체(ASIC) 대용품보다 느리고, 복잡한 설계에 적용할 수 없으며, 소비전력이 크다. 그러나 개발시간이 짧고, 오류를 현장에서 재수정할 수 있고, 초기 개발비가 저렴하다는 장점이 있다.

EMP2CYC 보드의 특징 􀁺 EMPOS II 에 연결하여 사용 할 수있는 다양한 기능의 주변장치와 FPGA 로 구성 􀁺 EMPOS II 와 분리하여 독립적으로 FPGA 실험 (+5VDC 아답터 사용) 􀁺 ALTERA FPGA Cyclone 120,000 게이트 장착 􀁺 다양한 VHDL 실습코드 제공 􀁺 LED Dot Matrix 10*7 􀁺 I/O 실습용 LED 8 개 􀁺 Stepping Motor 1 개 􀁺 16 키패드 (4x4) 􀁺 CMOS Image Sensor 카메라 응용 􀁺 USB 1.1 Host Controller 내장 􀁺 C8051 의 12비트 ADC/DAC ( ADC 8채널, DAC 2채널) 􀁺 SRAM (256 x 16Bit) 기본장착 ( 512Kbyte ) 􀁺 50 핀의 확장 포트 지원 􀁺 16*2 의 문자형 LCD 내장 􀁺 ALTERA Quartus II 의 Software 설계환경 실습

EMP2CYC 본 장비에서 사용하는 Cyclone Device는 Quartus II 소프트웨어에서 로직을 설계하고 설계 한 로직을 프로그래밍 할 수 있는데, ALTERA에서 무료로 제공한다 www.altera.com 접속 우측상단 다운로드센터 ->쿼터스2웹에디션9.0 다운로드

쿼터스 라이센스 등록

4bit up/down counter 설계 회로 정의 본 장에서 설계하고자 하는 것은 Quartus II를 이용하여 간단한 4bit up/Down counter를 설계하는 것이다. 이 4bit up/down 카운터는 클럭과 up/down 키의 입력을 받아 그 결과를 LED에 출력 하 도록 구성된다. 프로젝트 선언 제어 로직을 설계하기 위해서는 아래와 같이 먼저 프로젝트를 선언해야 한다.

프로젝트 선언

Device Family는 Cyclone , Available devices 는EP1C6QC240C8

회로 설계 아래는 디바이스에서 동작하기 위한 로직을 설계하는 방법이다. 로직을 설계하는 방법은 크게 VHDL등과 같은 language로의 방법과 Schematic에 의한 설계 방법이 있다. 아래는 이 중 처음 접근하여 사용하기가 그리 어렵지 않은 schematic에 의한 설계방법에 대한 설명이다.

아래의 그림과 같이 File 메뉴의 New 항목을 선택해서, 나타난 New 창에 Design Setup Files의 “Block Diagram/Schematic File” 항목을 선택한다.

아래 그림과 같이 생성된 설계 도면을 마우스로 두 번 클릭하여 Symbol 창을 나타낸 후, “4count”라는 심볼 명을 Name 창에 입력하여 4count 심볼을 불러와 도면에 삽입한다.

같은 방법으로 Symbol 창에서 input과 output 포트를 불러와 아래 그림과 같이 정렬시키고 각 심볼의 끝을 마우스의 Drag & Drop을 통한 선(Wire)으로 연결하여 회로를 완성한다. “Pin Name” 부분을 마우스로 더블 클릭하여, 아래 그림과 같이 각각을 DNUP, CLK, Q1,Q2, Q3, Q4로 설정한다.

일반적인 설계는 이렇게 하면 되지만, EMPOS II CYCLONE 모듈에서 버튼 스위치를 사용하기 위해서는 아래 그림과 같이 GND에 연결된 SW_SCAN 버튼을 추가 해주어야 한다. 그리고, DNUP와 CLK의 앞에 각각 NOT을 추가 해 준다. 그 이유는 앞의 PUSH_SW 블록설명에서 버튼 스위치가 스캐닝 방식으로 동작하도록 설계되었기 때문이다

File 메뉴의 Save항목을 선택하여 gs_4cnt. bdf 라는 파일명으로 저장한다 File 메뉴의 Save항목을 선택하여 gs_4cnt.bdf 라는 파일명으로 저장한다. Processing 메뉴의 Start Compilation 항목을 선택하여, 컴파일을 진행한다. 이 때의 컴파 일은 문법 오류 검사의 목적으로 사용된다.

핀/디바이스 설정 및 컴파일 Assignments 메뉴의 Device 항목을 선택하여 나타난 Setting 창에서 Device의 Family가 “Cyclone”으로 설정되어 있는지, 디바이스는 “EP1C6Q208C8”으로 설 정되어 있는지를 확인한 후, 아래 그림과 같이 “Device & Pin Option” 버튼을 선택한다

아래 그림과 같이 설정한 후에 확인 버튼을 눌러 현재 설정한 내용을 저장한다

Assignments 메뉴의 Assignment Editor 항목을 선택하여 아래의 순서로 Pin 설정을 진행한다

Assignment Editor 창에서 오른 쪽 위의 Pin 버튼을 선택한다.

Assignment Editor 창의 아래 항목에서 Name의 <<new>>부 분을 마우스로 더블 클릭하면 Node Name이 나타난다 CLK를 선택한다

Node Name 옆의Location 부분을 마우스로 더블 클릭하면 오른쪽 아래의 그림과 같이 설정할 수 있는 핀번호가 나타나는데, 이곳에서 해당하는 핀 번호를 설정한다.clk의 경우 장비의 SW1의 핀번호인 “166”로 설정

같은 방법으로 gs_4cnt. bdf에서 사용한 Node Name을 설정한다 같은 방법으로 gs_4cnt.bdf에서 사용한 Node Name을 설정한다. 아래와 같이 설정후 Processing메뉴의 Start Compilation 항목을 선택하여 컴파일을 진행

시뮬레이션 설계한 로직에 대하여 이런 입력 조건을 설정하였을 때, 어떤 결과가 나타나는지를 확인하 는 부분이다. 다시 말해 설계자의 의도대로 설계되었는지를 디바이스에 프로그래밍하여 하 드웨어에 대한 확인 전에 소프트웨어로 먼저 확인해 보는 단계라 할 수 있다. High-Speed 로 동작되는 회로의 경우 하드웨어로의 확인이 어렵기 때문에 출력되는 데이터의 결과를 이런 시뮬레이션을 통해 확인해 봐야 하는 경우도 있다.

File 메뉴의 New 항목을 선택하고, 아래 그림과 같이 Other Files의 Vector Waveform File을 선택하여 Waveform Editor 창을 불러온다.

Waveform Editor 창을 불러온 상태에서 Edit 메뉴의 “Insert Node or Bus Waveform Editor 창을 불러온 상태에서 Edit 메뉴의 “Insert Node or Bus..” 항목을 선택하고, Insert Node or Bus 창에서 Node Finder 버튼을 눌러 시뮬레이션에 필요한 입 출력 노드를 불러온다.

Name의 부분을 “*”으로 type하고, Filter의 항목을 “Pins : all”로 설정한 후 List버튼을 누르면 아래의 왼쪽 그림과 같이 로직에서 사용된 노드들이 나타나는데, Node Finder 창 중앙의 “>>”버튼을 눌러 전체를 오른쪽으로 이동시킨 후 OK 버튼을 누른다.

위와 같이 설정을 하면 아래의 왼쪽 그림과 같이 Insert Node or Bus의 창이 설정되는데, OK 버튼을 누르면 아래의 오른쪽 그림과 같이 Waveform Editor창에 각각의 입 출력 노드 가 나타나는 것을 볼 수 있다.

입출력 조건을 표현하는 단위라 할 수 있는 Grid Size는 아래 그림과 같이 Edit 메뉴의 Grid Size에서 변경할 수 있다. Time Period를 50ns로 설정한다. 시뮬레이션이 끝나는 시간인 End Time도 아래 그림과 같이 Edit 메뉴의 End Time 항목을 선택하여 변경할 수 있다. Time을 5 us로 설정한다.

CLK 입력에 대한 데이터 설정에서, clk는 클럭(‘0’과 ‘1’의 반복)을 나타내는 부분이므로, 아래 그림과 같이 Waveform Editor창의 clk 입력에 대한 Value 부분을 마우스로 클릭하여 clk입력에 대한 전체를 선택한 후 오른쪽 데이터 입력 icon의 을 선택하여 클럭을 설정한다. 클럭 설정은 아래의 오른쪽 그림과 같이 Time Period의 Period를 50.0 ns, duty cycle을 50으로 설정한다.

DNUP의 입력 노드에서 값의 중앙 부분을 마우스로 drag하여 선택 한 후, 아래의 오른쪽 그림과 같이 왼쪽에 있는 데이터 입력 icon에서 을 선택하여 ‘1’의 상태로 설정한다.

File 메뉴의 Save를 통해 gs_4cnt File 메뉴의 Save를 통해 gs_4cnt.vwf 파일로 저장한 후, Processing 메뉴의 Start Simulation 항목을 선택하여 시뮬레이션을 진행한다

아래 그림은 시뮬레이션이 끝난 후 나타나는 Simulation Report창이다 아래 그림은 시뮬레이션이 끝난 후 나타나는 Simulation Report창이다. 여기에서 시뮬레이션이 되는 결과를 확인해 볼 수 있다. 아래의 결과를 살펴보면 DNUP의 값이 ‘0’일 때 클럭이 ‘0’에서 ‘1’로 변하는 rising edge의순간에 값이 업 카운트되며, DNUP의 값이 ‘1’일 때 클럭의 rising edge에서는 다운 카운트되는 것을 확인해 볼 수 있다. 아래의 결과에서 클럭의 rising edge의 순간보다 약간 늦게 데이터가 출력이 되는 것을 볼수 있는데, 이것은 디바이스와 핀 설정 등에 대한 하드웨어적인 delay time을 적용하였기때문이다.

프로그래밍 장비를 EMPOS II 장비에 장착시키거나 5V 아답터를 연결한다. EMPOS II CYCLONE 모듈의 JTAG Port에 ByteBlasterMV를 연결한다. DIP S/W 2의 스위치를 모두 OFF한다. 이 이유는 DIP S/W 2의 핀과 LED의 핀이 공통으로 사용되기 때문이다. 보드의 전원을 ON 한다

시뮬레이션을 통해 설계한 로직에 대한 검증이 끝난 후, 이 Program과정에서 디바이스에프로그램하여 하드웨어적인 검증 과정을 진행하는데 아래는 이 부분에 대한 설명이다. Tools 메뉴의 Programmer항목을 선택하여 Programmer 창을 불러온다.

처음 Programmer를 불러왔다면, 아래 그림과 같이 Programming Hardware가 “No Hardware”의 상태로 나타난다. “Hardware” 버튼을 눌러 Programming Hardware를 설정한다. 아래와 같이 설정한다

디바이스에 프로그래밍 하기 위해서 아래 그림과 같이 Mode를 JTAG으로 설정하고, 왼쪽의 icon을 선택합니다 디바이스에 프로그래밍 하기 위해서 아래 그림과 같이 Mode를 JTAG으로 설정하고, 왼쪽의 icon을 선택합니다. 이것은 Auto Detection으로 JTAG Chain으로 연결되어 있는디바이스를 자동으로 검색해 주는 기능이다. Auto Detection icon을 누르면 아래의 오른쪽 그림과 같이 디바이스 항목에 EPC2과EP1C6 항목이 나타나는데, EP1C6 항목의 File의 <none>부분을 마우스로 더블 클릭.

마우스로 더블 클릭하면 아래 그림과 같이 Select New Programming File 창이 나타나는데, 앞서 컴파일할 때 생성되었던 gs_4cnt.sof 파일을 선택하면 아래의 오른쪽 그림과 같이 프 로그래밍 파일이 추가되는 것을 확인해 볼 수 있다.

아래의 그림과 같이 EP1C6Q240 항목 오른쪽의 Program/Configure 부분을 체크하고 왼 쪽의 (Start Programming)icon을 선택하여 장비에 프로그래밍을 한다.

프로그래밍이 끝난 후 EMPOS II CYCLONE 모듈의 Switch인 SW1과 SW4의 버튼을 눌렀 을 때, 즉 입력 노드에 값이 들어왔을 때의 결과를 LED를 통하여 확인해 볼 수 있다. 이 때, 시뮬레이션 결과와 일치 하는지에 대한 확인 한다 4bit up/down counter 끝