MAX+PLUS II 개요

62
1 MAX+PLUS II 개개

description

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). 미리 정해지지 않은 로직 기능으로 제공된다 . 임의의 디지털 로직 기능을 구현하기 위해서는 사용자에 의해 프로그래밍 된다 . - PowerPoint PPT Presentation

Transcript of MAX+PLUS II 개요

Page 1: MAX+PLUS II  개요

1

MAX+PLUS II 개요

Page 2: MAX+PLUS II  개요

2

단원목차

1. PLD 란 무엇인가 ?2. MAX+PLUS II 를 사용하여 PLDs 를

프로그래밍 3. 그래픽 설계 파일 (Graphic Design File)4. MAX+PLUS II 파일의 컴파일5. 계층적 설계6. 문자 설계 파일 (VHDL)7. 물리 디자인 생성

Page 3: MAX+PLUS II  개요

3

Programmable Logic Device (PLD)

• 미리 정해지지 않은 로직 기능으로 제공된다 .

• 임의의 디지털 로직 기능을 구현하기 위해서는 사용자에 의해 프로그래밍 된다.

• 설계와 프로그래밍을 위해서는 특별한 소프트웨어가 요구된다 .

Page 4: MAX+PLUS II  개요

4

PLDs 사용 시의 장점

• 사용되는 칩의 수를 줄일 수 있다 .

( 예 4.1 참조 )

• 사용되는 칩의 종류를 줄일 수 있다 .

• 설계과정이 빨라진다 .

• 설계의 융통성이 있다 .

Page 5: MAX+PLUS II  개요

5

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.

Page 6: MAX+PLUS II  개요

6

PLD 프로그래밍

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

Page 7: MAX+PLUS II  개요

7

PLD Design Cycle - 1

• Design entry – 회로를 설계한다 .

• Simulation – 설계회로출력이 입력에 따라 올바르게 동작하는 지를 입증한다 .

• Compilation – CPLD 를 프로그램 하기 위해서 설계 정보를 발생시키는 과정이다 .

Page 8: MAX+PLUS II  개요

8

PLD Design Cycle - 2

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

Page 9: MAX+PLUS II  개요

9

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 을 이용하여 프로그램 .

Page 10: MAX+PLUS II  개요

10

Volatile vs. Non-Volatile

• 휘발성 (Volatile)

– 정보 ( 프로그램 ) 은 단지 소자에 전원이 공급되는 동안만 유지된다 .

• 비휘발성 (Non-Volatile)

– 정보 ( 프로그램 ) 은 전원이 제거되고 다시 공급되어도 유지된다 .

Page 11: MAX+PLUS II  개요

11

CPLD Design Entry

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

Page 12: MAX+PLUS II  개요

12

MAX+PLUS II Graphic Entry

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

Page 13: MAX+PLUS II  개요

13

Figure 4.3

• Majority Vote Circuit

Page 14: MAX+PLUS II  개요

14

Graphic Design File 생성

• 회로도 입력방법을 사용하라 .

• MAX+PLUS II 는 프로그램을 위해 요구되는 파일들을 생성시킨다 .

• 모든 파일은 프로젝트 (project) 로 제시된다.

• Figure 4.6 참조

Page 15: MAX+PLUS II  개요

15

Figure 4.6

Page 16: MAX+PLUS II  개요

16

MAX+PLUS II Project

• 특정 PLD 설계와 관련되는 일련의 파일 .

• PLD 를 위한 프로그램 파일을 생성하기 위해서 프로젝트 상에서 수행되는 모든 동작 .

• 항상 현재 프로젝트가 어디인 지를 그 트랙을 유지하라 .

Page 17: MAX+PLUS II  개요

17

MAX+PLUS II Graphic Design Files 생성

• 먼저 , 적절한 폴더에 파일을 Save 하라 .

• 두 번째 , Set Project to Current File.

• Figure 4.8

Page 18: MAX+PLUS II  개요

18

Components 불러오기

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

Page 19: MAX+PLUS II  개요

19

‘Enter Symbol’ 메뉴

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

Page 20: MAX+PLUS II  개요

20

심볼 배열과 이동하기 (1)

• Symbol 은 마우스 왼쪽버튼을 이용하여 클릭함으로써 밝게 되고 , 이 때 드래그 함으로 원하는 위치로 이동시킬 수 있다 .

• Figure 4.11

Page 21: MAX+PLUS II  개요

21

• Figure 4.12 • Figure 4.13

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

Page 22: MAX+PLUS II  개요

22

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

Figure 4.14

Page 23: MAX+PLUS II  개요

23

핀 이름의 할당• 입력과 출력은 이름이 할당되어야 한다 .

• 핀 이름을 더블 클릭하면 밝게 되고 (e.g. INPUT_VCC, 그 때 이름을 입력한다 . Figure 4.17

Page 24: MAX+PLUS II  개요

24

Target Device(1)

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

Page 25: MAX+PLUS II  개요

25

Target Device(2)

• Device Dialog Box

Page 26: MAX+PLUS II  개요

26

Compile Options(1)

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

Page 27: MAX+PLUS II  개요

27

Compile Options(2)

• Figure 4.20 MAX+PLUS II Compiler 세팅

• Figure 4.21 MAX+PLUS II Compiler 동작

Page 28: MAX+PLUS II  개요

28

Compile 메세지

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

Page 29: MAX+PLUS II  개요

29

Compile Files

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

Page 30: MAX+PLUS II  개요

30

계층적 (Hierarchical) 설계

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

Page 31: MAX+PLUS II  개요

31

Default Symbol

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

Page 32: MAX+PLUS II  개요

32

문자기반 입력 (Text Based Entry)

• Hardware Description Language (HDL) 를 사용한다 .

• 그래픽 입력방법보다 더욱 더 강력한 설계 기법이다 .

Page 33: MAX+PLUS II  개요

33

Hardware Description Language(HDL)

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

Page 34: MAX+PLUS II  개요

34

VHDL 역사

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

Page 35: MAX+PLUS II  개요

35

VHDL 기본규칙

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

Page 36: MAX+PLUS II  개요

36

VHDL 구조

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

• entity 는 디자인의 입력과 출력을 정의한다 .

• architecture 는 입력과 출력 및 내부 신호들 사이의 관계를 정의한다 .

Page 37: MAX+PLUS II  개요

37

              

VHDL Entity

• 기능의 외부적 측면을 정의한다 .

• 각 입력 혹은 출력은 포트 (port) 이다 .

• 포트의 형식은 모드 (mode) 로 정의된다 .

• Fig 4.28VHDL Design Entity 의그래픽 표현

Page 38: MAX+PLUS II  개요

38

포트 모드의 형식 (1)

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

Page 39: MAX+PLUS II  개요

39

포트 모드의 형식 (2)

• Fig 4.29VHDL Port Modes

• Fig 4.30BUFFER and OUT Modes

Page 40: MAX+PLUS II  개요

40

Port 형식

• 포트 형식은 포트가 가질 수 있는 값을 정의한다 .

• 단일비트나 복수비트를 가질 수 있다 .

Page 41: MAX+PLUS II  개요

41

단일비트 포트형식• BIT 는 ‘ 0’ 혹은 ‘ 1’ 의 값을 가진다 .

• STD_LOGIC 는 9 개의 값 중에 하나를 가질 수 있다 .

• INTEGER 는 전체 수 값을 가질 수 있다 .

Page 42: MAX+PLUS II  개요

42

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’ 가 사용된다 .

Page 43: MAX+PLUS II  개요

43

복수비트 포트형식

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

Page 44: MAX+PLUS II  개요

44

VHDL Architecture

• 내부적 측면을 정의한다 . 즉 , 입력과 출력이 서로서로 어떻게 행동하며 , 또한 다른 내부신호 혹은 기능과 어떻게 행동하는 지를 정의한다 .

• 논리적 관계를 정의하기 위해 연산자 (operators) 를 사용한다 .

Page 45: MAX+PLUS II  개요

45

Architecture Operators

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

Page 46: MAX+PLUS II  개요

46

우선순위

• 모든 논리 연산자는 동일한 우선순위를 가진다 .

• 우선순위를 명확히 하고자 할 때는 괄호를 사용한다 .

Page 47: MAX+PLUS II  개요

47

병행적 신호 할당 (Concurrent Signal Assignment)

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

Page 48: MAX+PLUS II  개요

48

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;

Page 49: MAX+PLUS II  개요

49

Example 4.3 – 2-Line-to-4-Line Decoder

• 여러 가지 가능한 방법이 있다 .• 개별 입력이나 벡터를 사용하여 묘사될 수 있다 .• Figure 4.31

Page 50: MAX+PLUS II  개요

50

Example 4.3 – Vector Definitions

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

Page 51: MAX+PLUS II  개요

51

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;

경우 1 – Separate variables

Page 52: MAX+PLUS II  개요

52

경우 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;

Page 53: MAX+PLUS II  개요

53

경우 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 ISBEGIN

-- Choose a signal assignment for y based on binary value of d-- Default case: all outputs deactivatedWITH d SELECT

y <= "1000" WHEN "00","0100" WHEN "01","0010" WHEN "10","0001" WHEN "11","0000" WHEN others;

END decoder;

Page 54: MAX+PLUS II  개요

54

MAX+PLUS II VHDL Templates

• VHDL structure 를 생성하는 지름길을 마련 해준다 .

• Template 메뉴를 사용하여 이용 가능하다 .

• Figure 4.32

Page 55: MAX+PLUS II  개요

55

Creating a Physical Design

• Pin Numbers 할당 (1)

Page 56: MAX+PLUS II  개요

56

Pin Numbers 할당 (2)

Page 57: MAX+PLUS II  개요

57

Altera UP-1 Circuit Board 의 프로그래밍

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

Page 58: MAX+PLUS II  개요

58

ByteBlaster Download Cable

Page 59: MAX+PLUS II  개요

59

Altera UP-1 Circuit Board

Page 60: MAX+PLUS II  개요

60

JTAG Interface

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

Page 61: MAX+PLUS II  개요

61

Programming the Design

Page 62: MAX+PLUS II  개요

62

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.