FPGA 설계 이 상 훈 경남대학교 전기전자공학부.

Slides:



Advertisements
Similar presentations
- 1 - IT COOKBOOK 컴퓨터 기술 IT COOKBOOK Chapter 01. 서론.
Advertisements

컴퓨터 원리 A,B,C 1,2,3 논리소자 (AND,OR..) 출력신호 - 기능 : 명령해독, 계산실행 - 진공관, 트랜지스터 전기신호 출력신호.
디 지 털 공 학디 지 털 공 학 한국폴리텍 V 대학.
Understanding of Ubiquitous & Computers Plus
IC DESIGN LAB 서강대학교 집적회로설계 연구실 SOGANG UNIVERSITY 2014 Since 1993
마이크로 컨트롤러 Microcontroller.
ASIC (Application Specific Integrated Circuit)
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
Project Goal..! Milestone Role Division Achievement Result
CH2 OrCAD Capture CIS.
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
1. 반도체란 반도체 물질의 특성, 기능 그리고 기능별 용도 1.1 반도체 물질의 특성, 기능 그리고 기능별 용도
소프트웨어와 운영체제.
자동제어 개념2 1 1.
마이크로프로세서 메모리 및 입출력장치 인터페이스
제2장 부울대수와 논리 게이트 내용 2.1 논리신호 2.2 기본 논리함수 : NOT 게이트(INV 게이트)/ AND 게이트/ OR 게이트 2.3 부울대수 : 부울대수의 정의와 사용 / 부울대수의 기본법칙/ 쌍대성/ 드모르강 정리 2.4 만능 게이트 : NAND.
하드웨어 3 : RAM.
Digital Logic Structures
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
USER’S MANUAL 모델명: CCR-201 코드시스템(주)
디지털 시스템 2010년 1학기 교수: 송상훈 연구실: 율곡관 603-B
Computer System Architecture
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
Ⅵ. 메모리와 프로그램 가능한 논리소자 1. 메모리의 개요 2. ROM 3. RAM 4. 프로그램 가능한 논리소자
『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사
PLD와 FPGA의 비교                                                                                                                                                                                                                                                  
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
3.1 기억장치와 저장장치의 구분 3.2 기억장치 3.3 자기 저장장치 3.4 광 저장장치 3.5 백업의 중용성
1장. 컴퓨터의 기초 Lecture #1.
임베디드 하드웨어 Lecture #6.
컴퓨터 구조학 정보보호학과.
Excel OLAP Reporting / OWC를 이용한
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
To Hear will be forget To see will get memory again To do will be know.
PXA255-FPGA 장비 개요 및 실습 Lecture #9.
7-Segment FND Controller 구현
공학실험.
4 기본 논리게이트 IT CookBook, 디지털 논리회로.
Computer System Architecture
COMPUTER ARCHITECTIRE
DSP와 TMS320F28x의 이해.
PXA255-FPGA 장비 계요 및 실습 Lecture #9.
MAX+PLUS II 설치 및 디지털 시스템의 설계 방법
6장. 기 억 장 치 Lecture #6.
컴퓨터 중앙처리장치, 기억장치, 입력장치 및 출력장치를 알아보자.
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
Chap 9. Programmable logic and memory
연구실 : 연219호 연락처 : 홈페이지: itsys.hansung.ac.kr 정성훈
하드웨어 구현 - A/D 변환기(A/D converter) - 샘플링 주파수(Sampling frequency)
Quartus 를 이용한 ROM 설계 ROM table 의 작성
Electronic Engineering 2

컴퓨터 시스템의 개요.
IT CookBook, VHDL을 이용한 FPGA 디지털 설계
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
Computer System Architecture
Programmable Logic Device
Chapter 1 Welcome Aboard.
Introduction to OrCAD Capture
제4강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
Chapter 01 디지털기초.
제6장 VLSI 설계 방법 정보통신공학과 교수 이종복
Lecture #6 제5장 기억장치 (1).
컴퓨터구조 강의소개 정보통신공학과 한성대학교.
컴퓨터구조 강의소개 정보통신공학과 한성대학교.
논리회로 설계실험 ICE ICE 담당교수 : 김 인 수.
Ch04_SoC 기술 IT응용시스템공학과 김 형 진 교수.
시스템 분석 및 설계 2007학년도 2학기 멀티미디어공학과 2학년 대상 담당교수 박태희
임베디드 하드웨어 Lecture #6.
Presentation transcript:

FPGA 설계 이 상 훈 경남대학교 전기전자공학부

강좌목표 디지털 회로의 설계기법을 배우고 ALTERA사의 MAX+PLUS II TOOL을 활용하여 이들 회로들을 회로도 입력 방법과 VHDL Coding 방법으로 직접 설계하여 시뮬레이션을 통한 설계한 회로의 검증작업을 통해 FPGA 및 ASIC 칩에 대한 설계능력을 얻고자 한다.

평가방법 출석 : 20% 2. 중간고사 : 30% 3. 기말고사 : 30% 4. 과제물 : 20%

교재 및 참고문헌 전희종외 “디지털 디자인 CPLD 및 VHDL”, 인터비젼, 2003 Dueck, “Digital Design with CPLD Applications and VHDL”, Delmar, 2001. 빔 프로젝트 강의교재 “Altera MAX+PLUS II”, Free download, www.altera.com M. Morris Mano and Charles R. Kime, “Logic and Computer Design Fundamentals”, Prentice Hall, 2000. 이승호, 박용수, 박군종, 이주현 “Altera MAX+PLUS II를 사용한 디지털 논리회로 설계의 기초와 활용”, 복두출판사

강의순서 개요 Altera MAX+PLUS II Tool 조합논리회로 설계 디지털산술 및 산술회로 순차회로 개요 PLA 소개 카운터 설계 상태머신설계 논리 게이트 인터페이스 아날로그 및 디지털 인터페이스 회로 메모리 시스템

개요 용어설명 PLDs(Programmable Logic Devices) ROM(Read-Only Memory) PLA(Programmable Logic Array) PAL(Programmable Array Logic)과 GAL(Generic Array Logic) CPLD(Complex Programmable Logic Device) FPGA(Field-Programmable Gate Array) ASIC(Application Specific Integrated Circuit) Summary

PLDs(Programmable Logic Devices) PLDs – ROM(Read-Only Memory), PLA(Programmable Logic Array), PAL(Programmable Array Logic), GAL(Generic Array Logic), CPLD(Complex Programmable Logic Device), FPGA(Field- Programmable Gate Array) Programming Technology Permanent Type(Nonvolatile) ; Fuse(normal on) - ‘CLOSE(intact)’ ‘OPEN(blown)’ Mask programming - Mask ROM Antifuse(normal off) - just the opposite of a FUSE Nonpermanent Type ; SRAM bit driving + n-MOS Tr. (Volatile) Building Look-up Table using SRAM (Volatile) - Logic inputs(SRAM addr.), Logic outputs(stored SRAM table data) MOS Tr. Switching Control using Floating Gate (Nonvolatile) - EPROM, EEPROM

2k x n크기의 ROM - k-to-2k 의 Decoder - n 개의 OR Gate ROM(Read-Only Memory) 비휘발성 32 x 8 ROM 내부 논리도 2k x n크기의 ROM - k-to-2k 의 Decoder - n 개의 OR Gate

ROM(Read-Only Memory) 조합논리의 구현 k개의 입력을 갖는 디코더 : 2k개의 minterm 발생 ROM : 디코더 + OR 게이트 A7(I4 I3 I2 I1 I0 )= m(0, 2,3, …,29)

ROM(Read-Only Memory) 앞의 진리표에 따른 ROM Programming

ROM(Read-Only Memory) 조합논리의 구현 응용 복잡한 조합논리 구현 : 보통의 입력과 대량의 출력 코드변환, 산술연산 설계 <-- 진리표 (논리도 불필요) 예 : 3비트 2진수의 제곱을 구하는 회로

3가지 PLDs의 기본 배열

PLA(Programmable Logic Array) PROM과 유사 - 차이점 : Programmable AND Array 3입력, 4곱항, 2출력의 PLA 프로그램 표 출력을 반전 X 1 = X’ F1 = AB’ + AC + A’BC’ F2 = (AC + BC)’

PLA(Programmable Logic Array) - 입력의 개수, 곱 항의 개수, 출력의 개수 - 예 : 16 입력, 48 곱의 항, 8 출력 PLA를 이용한 설계 <--프로그램 표 마스크 프로그램과 현장 프로그램(FPLA)이 가능 설계 시 유의 사항 : - 곱의 항 개수 최소화 - 불필요한 변수 제거

PLA(Programmable Logic Array) 예제 : 다음의 부울 함수 설계 F1(A, B, C) = m(0, 1, 2, 4) F2(A, B, C) = m(0, 5, 6, 7) 간략화 F1 = (AB + AC + BC)’ F2 = AB + AC + A’B’C’

PAL*(Programmable Array Logic) 피드백 회로 : 순차회로 구성에 이용 고정된 OR + 프로그램 가능한 AND 배열로 된 PLD 프로그램이 쉽지만, 유연하지는 못함 OTP(One Time Programmable) *PAL(Advanced Micro Devices Inc.)

PAL(Programmable Array Logic) 예 : W(A, B, C, D) = m(2, 12, 13) X(A, B, C, D) = m(7, 8, 9, 10, 11, 12, 13, 14, 15) Y(A, B, C, D) = m(0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15) Z(A, B, C, D) = m(1, 2, 8, 12, 13) 피드백

PAL(Programmable Array Logic) 내부 연결도 피드백

대부분의 GAL은 입력이나 출력으로 지정 가능한 I/O pin을 사용할 수 있다.(반면 PAL은 고정됨.) GAL*(Generic Array Logic) or Universal PAL** 대부분의 PAL/PLA소자는 OTP, 반면에 GAL/EPLD는 소거가 가능하고 다시 프로그램 할 수 있다.(일명 universal PAL). 대부분의 GAL은 입력이나 출력으로 지정 가능한 I/O pin을 사용할 수 있다.(반면 PAL은 고정됨.) 출력은 전기적으로 지울 수 있는 Cell에 기초한 프로그래밍 매트릭스에 따라서 조합논리나 레지스터 형태로 배열될 수 있다.(not Fuses). GAL Macrocell의 주요부분은 D-FF과 4:1 멀티플렉서로 구성된다. *GAL(Lattice Semiconductor), **Universal PAL(Vantis Co.)

GAL or Universal PAL GAL Device Numbering GAL 소자는 ‘22V10’등으로 명명된다. 여기서 22는 이용 가능한 총I/O핀 수이고 숫자 10은 최대 출력의 수 혹은 이용 가능한 macrocell의 수이다.(“V” stands for “variable” or “versatile” architecture.) A GAL22V10는 10개 출력(MC)과 12(=22-10)개 입력 혹은 1개의 출력과 21개(=22-1)의 입력을 가질 수 있다.

Macrocell for a PALCE16V8 Universal PAL GAL or Universal PAL Macrocell for a PALCE16V8 Universal PAL Feedback Input Programmable SOP array

GAL22V10 OLMC(Output Logic Macrocell) GAL or Universal PAL GAL22V10 OLMC(Output Logic Macrocell)

CPLD(Complex Programmable Logic Device) and FPGA PLD의 장점 : 복잡한 논리회로를 하나의 IC로 구현 가능 보다 큰 규모의 복잡한 회로 : VLSI 이용 VLSI 설계방식 - 완전주문 맞춤(Full Custom Design) : 고집적, 고속, 고비용 - 표준 셀 설계(Standard Cell Design) - 게이트 배열(Gate Array) : SOG, CMOS, BiCMOS, ECL, GaAs CPLD와 FPGA - 1,000에서 2,000,000 게이트의 Gate Array가 가능 - 프로그램 가능한 조합논리 - 사전에 제작된 FF내장 - 프로그램 가능한 연결 부분(입출력 등) - CPLD(빠른성능, 정확한 타이밍) vs FPGA(많은 FFs, 게이트 용량) Embeded

CPLD and FPGA Altera MAX 7000CPLD EEPROM의 부유 게이트 기술 EPM7128SLC84 EPM7 : MAX7000 family 128 : macrocells 수 S : in-system programmable LC84 : 84pins PLCC 16 Logic Array blocks: - LAB = 16 macrocells - Macrocell = 1FF + 기본 조합회로 3 상태 버퍼

CPLD and FPGA Altera MAX 7000CPLD Block Diagram

CPLD and FPGA Altera MAX 7000CPLD Macrocell

Altera FLEX10K Block Diagram CPLD and FPGA Altera FLEX10K Block Diagram - SRAM based technology(volatile), 66MHz, up to 200,000 gates, 0.22u 5-metal layers - APEX series : 125MHz, up to 2,000,000 gates

CPLD and FPGA Altera FLEX10K Logic Element

Antifuse 기술 : 영구적이면서 비휘발성 프로그래밍 CPLD and FPGA 논리모듈 I/O 모듈 Actel ACT 3 FPGA Gate Array와 유사한 구조 Antifuse 기술 : 영구적이면서 비휘발성 프로그래밍 OTP 크기가 작고 속도가 빠름

CPLD and FPGA MUX에 의한 조합논리 구현 - 최대 8변수 함수 Actel 의 논리모듈

CPLD and FPGA Xilinx XC4000 FPGA - SRAM 기술 이용 - 프로그램 로드 기능(<-- PROM) - 프로그램 모드, 동작모드

SRAM 비트를 이용한 논리구현의 세가지 기법 CPLD and FPGA SRAM 비트를 이용한 논리구현의 세가지 기법 If (A,B,C)=(0,0,0) 1st SRAM cell의 내용이 선택 출력됨l 하나의 SRAM cell

CPLD and FPGA Xilinx의 연결 방식 - 선로 세그먼트(수평, 수직) - 장거리 선로(long line) Xilinx의 switch Matrix

Xilinx 논리회로 : CLB와 IOB 내에 존재 CPLD and FPGA Xilinx 논리회로 : CLB와 IOB 내에 존재 CLB(Configurable Logic Block) 개략도

CPLD and FPGA Xilinx IOB(Input/Output Block) 구조

CPLD and FPGA FPGA Design Flow Functional Simulation Post-Layout Simulation

ASIC(Application Specific Integrated Circuit) ASIC ? 특정 사용자를 위하여 특정 용도로 설계, 제작되는 고객 사양의 집적 회로 (IC) 로 시스템이나 설계전문업체가 개발하여 반도체 제조업체가 칩으로 생산하여 특정제품에 사용됨. 광의의 정의로써 비메모리 분야의 모든 IC를 ASIC라 통칭하기도 함. 주문 제작된 IC가 여러 사용자에 의해 사용되는 경우에는 ASSP (Application Specific Standard Product ) 로 구분.               

Full Programmable Semi- 통신용 AV용 Custom IC custom IC IC PLD/CPLD FPGA ASIC ASIC(광의) ASCP(협의) ASSP Full Programmable Semi- 통신용 AV용 Custom IC custom IC IC PLD/CPLD FPGA Standard cell Gate array Programmable ASIC: XBlue Xilinx & IBM ispXP Lattice ASCP(Application Specific Custom Product) ASSP(Application Specific Standard Product)

ASIC(Application Specific Integrated Circuit) ASIC Design Flow Functional Simulation Post-Layout Simulation

정보통신기기의 ASIC의대부분 수입(국산화율) - 휴대폰 53% - 디지털 TV 30% 우리 나라의 반도체 메모리 부분은 총 수출의 6.9% 세계 반도체 시장의 비메모리 산업부문은 79% 나라 미국 일본 한국(수입의존도) 비메모리생산비중 91% 78% 12%(90%) 정보통신기기의 ASIC의대부분 수입(국산화율) - 휴대폰 53% - 디지털 TV 30% * 자료출처 : ADA(ASIC Design-company Association)

EDA(Electronics Design Automation) Tool Vendors Tools Altera MAX PLUS II / Quartus Mentor Graphics Leonardo, IC Graph OrCAD OrCAD Capture QuickLogic Quickworks Summit Design Visual HDL, VHDL Synopsys FPGA Express Viewlogic Systems ViewPLD Xilinx Foundation series , Alliance Series Cadence SPW, Verilog-XL, Composer, Gate Ensemble Avanti Hspice, Polaris-COM, Apollo, Compass HP HPADS(MMIC Design) ETRI LODECAP Seodu Logic MyCAD series

PLDs(Programmable Logic Devices) - ROM, PLA, PAL, GAL, CPLD, FPGA ASIC SUMMARY PLDs(Programmable Logic Devices) - ROM, PLA, PAL, GAL, CPLD, FPGA ASIC EDA Tool