MAX+PLUS II 개요.

Slides:



Advertisements
Similar presentations
1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)

목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
디지털시스템실험 2주차 고려대학교 전기전자전파공학부.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
VHDL Package & Subprogram
VHDL 프로그램은 비동기 Reset을 갖는 D 플립플롭을 구현한 것이다
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
디지털 시계 설계.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Power Java 제3장 이클립스 사용하기.
순차로직 개요.
컴퓨터 프로그래밍 기초 [Final] 기말고사
Multiplexer 설계.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
Quartus II 사용법 VHDL을 이용한 디지털 시스템 설계.
19장. 원격 조정 로봇 설계 김용애 1조 김정은 이동한 이재흔.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
MAX+PLUS II 설치 및 디지털 시스템의 설계 방법
Chap. 18 라인 트레이서의 설계 라인 트레이서 바닥에 그려진 선을 따라가는 로봇을 의미 라인 트레이서 구성도
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
VHDL Design : Barrel Shifter
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
존슨카운터의 동작을 설명·설계할 수 있다 링카운터의 동작을 설명·설계할 수 있다
디지털시스템설계 과목 담당교수 : 원 충 상 한국교통대학교 컴퓨터공학과
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
IT CookBook, VHDL을 이용한 FPGA 디지털 설계
FSM 설계.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Ch2-1. VHDL Introduction VHDL 정의 VHDL의 역사 VHDL의 장점 HDL의 종류 VHDL 모델링
6장. printf와 scanf 함수에 대한 고찰
디지털 시스템 설계(3).
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
Programmable Logic Device
VHDL Mealy and Moore model
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
JA A V W. 03.
24장. 파일 입출력.
논리회로 설계 및 실험 5주차.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
13장 CTC and DMA Slide 1 (of 10).
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
7주차 실습 FPGA 보드 사용법.
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소 김태성 연구원
DK-128 개발환경 설정 아이티즌 기술연구소
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
논리회로 설계 및 실험 4주차.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
Numerical Analysis Programming using NRs
.Net FrameWork for Web2.0 한석수
워드프로세서 스프레드시트 문서 관리 인터넷 활용
Installation Guide.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Chapter 11. 문서 인쇄 및 파일 형식.
디 코 더 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔 주는 조합 회로
Presentation transcript:

MAX+PLUS II 개요

단원목차 1. PLD란 무엇인가? 2. MAX+PLUS II를 사용하여 PLDs를 프로그래밍 3. 그래픽 설계 파일(Graphic Design File) 4. MAX+PLUS II 파일의 컴파일 5. 계층적 설계 6. 문자 설계 파일(VHDL) 7. 물리 디자인 생성

Programmable Logic Device (PLD) 미리 정해지지 않은 로직 기능으로 제공된다. 임의의 디지털 로직 기능을 구현하기 위해서는 사용자에 의해 프로그래밍 된다. 설계와 프로그래밍을 위해서는 특별한 소프트웨어가 요구된다.

PLDs 사용 시의 장점 사용되는 칩의 수를 줄일 수 있다. (예4.1 참조) 사용되는 칩의 종류를 줄일 수 있다. 설계과정이 빨라진다. 설계의 융통성이 있다.

Complex PLD (CPLD) A PLD that has several programmable sections with internal interconnections between the sections. In effect, CPLD is several interconnected PLDs on a single chip.

PLD 프로그래밍 특별한 컴퓨터 소프트웨어가 요구된다. PLD Design Cycle로 알려진 일련의 과정을 통해 프로그램 된다. 한 가지 가능한 프로그램은 Altera사의 MAX+PLUS II 이다.

PLD Design Cycle - 1 Design entry – 회로를 설계한다. Simulation – 설계회로출력이 입력에 따라 올바르게 동작하는 지를 입증한다. Compilation – CPLD를 프로그램 하기 위해서 설계 정보를 발생시키는 과정이다.

PLD Design Cycle - 2 Fitting – 요구된 설계에 대해 회로를 할당하기 위해 CPLD의 일부를 결정한다. Programming – 원하는 로직 기능을 수행하기 위해 CPLD를 배열한다.

Altera Target Devices 설계를 구현하기 위해 CPLDs를 사용한다. MAX7000S family – EPM7128SLC84-7, 비휘발성(non-volatile) CPLD, EEPROM 셀을 이용하여 프로그램. (128 : number of macrocells, S : in-system programmable) FLEX10K family – EPF10K20RC240-4, 휘발성(volatile) CPLD, LUT SRAM을 이용하여 프로그램.

Volatile vs. Non-Volatile – 정보(프로그램)은 단지 소자에 전원이 공급되는 동안만 유지된다. 비휘발성(Non-Volatile) – 정보(프로그램)은 전원이 제거되고 다시 공급되어도 유지된다.

CPLD Design Entry 두 가지 일반적인 방법 1. 회로도 입력(그래픽) 2. 문자기반 입력(VHDL, Verilog HDL)

MAX+PLUS II Graphic Entry 디지털 설계를 회로도로 입력하기위해 ‘Graphic Design File(.gdf)’을 사용하라. 컴포넌트와 이들의 연결과 회로의 입력, 출력 이름을 보여라. (Figure 4.3 참조)

Figure 4.3 Majority Vote Circuit

Graphic Design File 생성 Figure 4.6 참조 회로도 입력방법을 사용하라. MAX+PLUS II는 프로그램을 위해 요구되는 파일들을 생성시킨다. 모든 파일은 프로젝트(project)로 제시된다. Figure 4.6 참조

Figure 4.6

MAX+PLUS II Project 특정 PLD 설계와 관련되는 일련의 파일. 항상 현재 프로젝트가 어디인 지를 그 트랙을 유지하라.

MAX+PLUS II Graphic Design Files 생성 먼저, 적절한 폴더에 파일을 Save 하라. 두 번째, Set Project to Current File. Figure 4.8

Components 불러오기 컴포넌트 위치를 지정하기 위해 커서를 사용하고, 마우스의 왼쪽 버튼을 누른다. 삽입 메뉴를 활성화 하기위해 마우스 오른쪽 버튼을 사용한다. ‘Enter Symbol’을 선택 Figure 4.9

‘Enter Symbol’ 메뉴 기본 컴포넌트를 이름이나 라이브러리 로부터 선택한다. 기본 컴포넌트를 ‘프리미티브(primitive)’라 한다. 컴포넌트의 각 copy는 ‘인스턴스(instance)’ 라 한다. Figure 4.10

심볼 배열과 이동하기(1) Symbol은 마우스 왼쪽버튼을 이용하여 클릭함으로써 밝게 되고, 이 때 드래그 함으로 원하는 위치로 이동시킬 수 있다. Figure 4.11

심볼 배열과 이동하기(2) Figure 4.12 Figure 4.13

컴포넌트 연결 컴포넌트는 한 컴포넌트의 한 끝을 클릭하고, 다른 컴포넌트의 또 다른 끝으로 선을 드래그함으로 연결된다. Figure 4.14

핀 이름의 할당 입력과 출력은 이름이 할당되어야 한다. 핀 이름을 더블 클릭하면 밝게 되고(e.g. INPUT_VCC, 그 때 이름을 입력한다. Figure 4.17

Target Device(1) 컴파일 하기 전에 타깃 디바이스를 규정해야 한다. 타깃 디바이스를 선택하기 위해 Assign 메뉴를 사용하라. Figure 4.18, 4.19

Target Device(2) Device Dialog Box

Compile Options(1) Design Doctor : 좋은 설계 습관을 위해 체크하라. Timing SNF Extractor : 타이밍 시뮬레이션을 위해 필요한 파일을 생성한다. Smart Recompile : 이전에 컴파일 한 부분을 바꾸지 않고 다시 사용할 수 있다.

Compile Options(2) Figure 4.20 MAX+PLUS II Figure 4.21 Compiler 세팅

Compile 메세지 3가지 종류의 메시지가 있다. 첫 번째, Info (green text)로 단지 정보용임. 두 번째, Warning (blue text)으로 잠정적 문제를 가리킴. 그러나 치명적이지는 않음. 세 번째, Error (red text)로 디자인을 사용할 수 없는 설계 결점임.

Compile Files non-volatile CLPDs (e.g. MAX series)를 위한 Programmer Object File(.pof) 생성 volatile CPLDs (e.g. FLEX series)를 위한 SRAM Object File (.sof) 생성

계층적(Hierarchical) 설계 PLD 설계는 층 또는 레벨로 계층화 된다. Top 레벨은 완전한 설계의 컴포넌트를 포함한다. Lower 레벨은 최상위 레벨의 컴포넌트 내에 내장되는 하위 혹은 그 이하의 컴포넌트를 포함한다.

Default Symbol 그래픽 심벌은 PLD 디자인을 블록으로 나타내기 위해 사용된다. 단지 디자인의 입력과 출력만을 보여준다. 계층적 디자인에서 하나의 컴포넌트로 사용된다.

문자기반 입력(Text Based Entry) Hardware Description Language (HDL)를 사용한다. 그래픽 입력방법보다 더욱 더 강력한 설계 기법이다.

Hardware Description Language(HDL) 회로를 설계할 때 설계회로를 문자형태로 기술하는 컴퓨터 언어이다. VHDL(VHSIC Hardware Description Language)는 PLDs를 프로그램 하는데 사용되는 산업표준어 이다.

VHDL 역사 회로를 프로그램으로 개발하기 위해서 (미) 국방성 계약에 의해 개발되었음. 현재는 IEEE Std. 1076-1993에서 표준화 되었음.

VHDL 기본규칙 구성규칙은 “syntax”로 불린다. 대소문자를 구별하지 않는다. 하지만, 키워드, 소자, 상수, 프리미티브는 대문자로 표시할 것을 권장한다. 주석(Comments)은 텍스트 앞에 이중 사선( double dashes)으로 표시한다. 주석은 컴파일 되지 않는다.

VHDL 구조 entity 선언 과 architecture body를 요구한다.

VHDL Entity 기능의 외부적 측면을 정의한다. 각 입력 혹은 출력은 포트(port) 이다. 포트의 형식은 모드(mode) 로 정의된다.                Fig 4.28 VHDL Design Entity의 그래픽 표현

포트 모드의 형식(1) IN: 단지 입력으로만 사용되는 포트이다. OUT: 단지 출력으로만 사용되는 포트이다. INOUT: 양방향(bidirectional) 포트이다. BUFFER: OUT 포트의 특별한 경우로 CPLD 로직으로 피드백이 있을 때 사용된다.

포트 모드의 형식(2) Fig 4.29 VHDL Port Modes Fig 4.30 BUFFER and OUT Modes

Port 형식 포트 형식은 포트가 가질 수 있는 값을 정의한다. 단일비트나 복수비트를 가질 수 있다.

단일비트 포트형식 BIT는 ‘0’ 혹은 ‘1’의 값을 가진다. STD_LOGIC는 9개의 값 중에 하나를 가질 수 있다. INTEGER는 전체 수 값을 가질 수 있다.

STD_LOGIC 형식 가능한 값: ‘U’ – uninitialized ‘X’ – forcing unknown ‘0’ – forcing 0 ‘1’ – forcing 1 ‘Z’ – high impedance ‘W’ – weak unknown ‘L’ – weak 0 ‘H’ – weak 1 ‘-’ – don’t care. 일반적으로 ‘X’, ‘0’, ‘1’, ‘Z’가 사용된다.

복수비트 포트형식 BIT_VECTOR는 0 또는 1의 복수 개의 개체을 가질 수 있다. STD_LOGIC_VECTOR는 U, X, 0, 1, Z, W, L, H, -의 복수 개의 개체를 가질 수 있다. 벡터(Vector)는 단일 복수비트 변수로 취급되는 신호그룹을 의미한다.

VHDL Architecture 내부적 측면을 정의한다. 즉, 입력과 출력이 서로서로 어떻게 행동하며, 또한 다른 내부신호 혹은 기능과 어떻게 행동하는 지를 정의한다. 논리적 관계를 정의하기 위해 연산자 (operators)를 사용한다.

Architecture Operators <= : 식의 오른쪽 값을 왼쪽으로 할당하는 연산자 논리 연산자는 ‘and’ 와 ‘or’ 과 같이 이름으로 할당한다.

우선순위 모든 논리 연산자는 동일한 우선순위를 가진다. 우선순위를 명확히 하고자 할 때는 괄호를 사용한다.

병행적 신호 할당(Concurrent Signal Assignment) 병행적(Concurrent)은 동시적(simultaneous)을 의미한다. ‘architecture body’에서 신호의 순위는 그들이 쓰여진 순서대로 평가되지 않는다. 일부 회로에 대한 공통입력에 변화가 있을 때, 동시에 다른 모든 회로에 영향을 미친다.

Example - Majority Vote2 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY maj_vot2 IS PORT( a, b, c : IN STD_LOGIC; y : OUT STD_LOGIC); END maj_vot2; ARCHITECTURE majority OF maj_vot2 IS BEGIN y <= (a and b) or (b and c) or (a and c); END majority;

Example 4.3 – 2-Line-to-4-Line Decoder 여러 가지 가능한 방법이 있다. 개별 입력이나 벡터를 사용하여 묘사될 수 있다. Figure 4.31

Example 4.3 – Vector Definitions 벡터는 상한선과 하한선을 정의함으로 규정될 수 있다.– (3 downto 0), (0 to 3), (4 downto 1), (1 to 4). 벡터는 선택적 신호 할당문(selected signal assignment statement)을 사용하여 규정할 수 있다.

경우1 – Separate variables LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY decode1 IS PORT( d1, d0 : IN STD_LOGIC; y0, y1, y2, y3 : OUT STD_LOGIC); END decode1; ARCHITECTURE decoder1 OF decode1 IS BEGIN y0 <= (not d1) and (not d0); y1 <= (not d1) and ( d0); y2 <= ( d1) and (not d0); y3 <= ( d1) and ( d0); END decoder1;

경우2 – Vectors(요소가 개별적으로 취급됨) LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY decode2 IS PORT( d : IN STD_LOGIC_VECTOR (1 downto 0); y : OUT STD_LOGIC_VECTOR (3 downto 0)); END decode2; ARCHITECTURE decoder2 OF decode2 IS BEGIN y(0) <= (not d(1)) and (not d(0)); y(1) <= (not d(1)) and ( d(0)); y(2) <= ( d(1)) and (not d(0)); y(3) <= ( d(1)) and ( d(0)); END decoder2;

경우3 – Vectors(요소가 그룹으로 취급됨) ; 선택적 신호 할당문 -- decode2a.vhd -- 4-channel decoder -- Makes one and only one output HIGH for each binary combination of (d1, d0). LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY decode2a IS PORT( d : IN STD_LOGIC_VECTOR (1 downto 0); y : OUT STD_LOGIC_VECTOR (3 downto 0)); END decode2a; ARCHITECTURE decoder OF decode2a IS BEGIN -- Choose a signal assignment for y based on binary value of d -- Default case: all outputs deactivated WITH d SELECT y <= "1000" WHEN "00", "0100" WHEN "01", "0010" WHEN "10", "0001" WHEN "11", "0000" WHEN others; END decoder;

MAX+PLUS II VHDL Templates VHDL structure를 생성하는 지름길을 마련 해준다. Template 메뉴를 사용하여 이용 가능하다. Figure 4.32

Creating a Physical Design Pin Numbers 할당(1)

Pin Numbers 할당(2)

Altera UP-1 Circuit Board의 프로그래밍 보드와 IBM-PC의 병렬포트 사이에 리본 케이블인 ByteBlaster를 사용한다 ByteBlaster는 컴퓨터의 LPT 포트에 연결된다. ByteBlaster는 또한 UP-1 보드의 JTAG 표준 포트에 연결된다.

ByteBlaster Download Cable

Altera UP-1 Circuit Board

JTAG Interface 4선 + 전원 + 접지선. 데이터는 TDI 선을 통해 입력되고, TDO 선을 통해 출력된다. 전송은 TMS 선과 TCK 선의 클록 신호에 의해 제어된다.

Programming the Design

SUMMARY The STD_LOGIC type can take on any of the following values: - ‘U’ ‘X’ ‘0’ ‘1’ ‘Z’ ‘W’ ‘L’ ‘H’ ‘-’ STD_LOGIC is defined in a library called ieee. To use STD_LOGIC, include the following two statements at the beginning of a file. LIBRARY ieee; USE ieee.std_logic_1164.ALL; A port in VHDL is an input or output. A signal is an internal connection like a wire. Concurrent signal assignment statement : the simplest way to relate inputs and outputs in a VHDL EX) x <= (a and b) or c; Selected signal assignment statement can act as a truth table in VHDL.