1 / 62

MAX+PLUS II 개요

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

hien
Télécharger la présentation

MAX+PLUS II 개요

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MAX+PLUS II 개요

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

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

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

  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.

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

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

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

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

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

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

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

  13. Figure 4.3 • Majority Vote Circuit

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

  15. Figure 4.6

  16. MAX+PLUS II Project • 특정 PLD 설계와 관련되는 일련의 파일. • PLD를 위한 프로그램 파일을 생성하기 위해서 프로젝트 상에서 수행되는 모든 동작. • 항상 현재 프로젝트가 어디인 지를 그 트랙을 유지하라.

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

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

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

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

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

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

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

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

  25. Target Device(2) • Device Dialog Box

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

  27. Compile Options(2) • Figure 4.20 • MAX+PLUS II • Compiler 세팅 • Figure 4.21 • MAX+PLUS II • Compiler 동작

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

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

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

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

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

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

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

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

  36. VHDL 구조 • entity 선언과 architecturebody를 요구한다. • entity는 디자인의 입력과 출력을 정의한다. • architecture는 입력과 출력 및 내부 신호들 사이의 관계를 정의한다.

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

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

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

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

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

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

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

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

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

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

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

  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;

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

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

More Related