논리회로설계 제9장 PLD와 FPGA 배경  복잡한 논리회로 구현을 위하여 많은 수의 IC 칩들을 사용 하는 경우에, 필요 공간이 커지고 결함 발생률도 높아지는 문제점을.

Download Report

Transcript 논리회로설계 제9장 PLD와 FPGA 배경  복잡한 논리회로 구현을 위하여 많은 수의 IC 칩들을 사용 하는 경우에, 필요 공간이 커지고 결함 발생률도 높아지는 문제점을.

논리회로설계
제9장 PLD와 FPGA
배경
 복잡한 논리회로 구현을 위하여 많은 수의 IC 칩들을 사용
하는 경우에, 필요 공간이 커지고 결함 발생률도 높아지는
문제점을 해결하기 위하여 아래와 같은 IC칩들을 개발
 PLD(Programmable Logic Device)
 다수의 게이트들로 이루어진 게이트 배열(gate array)을
하나의 IC 칩에 포함시킨 장치
 회로 구현 시점에서 게이트 입출력 선들 간의 접속, 즉
프로그래밍(programming)을 통하여 회로 구성
 FPGA(Field Programmable Gate Array)
 게이트 배열뿐 아니라, 내부 상호연결망 및 다수의 입출
력(I/O) 블록들도 포함하는 대규모 IC 칩
9.1 PLD의 개요
 PLD의 일반적인 조직
 AND 배열(AND array) : 입력 변수들에 대한 곱의 항
(product term)을 구현
 OR 배열(OR array) : AND 배열의 출력(곱의 항)들에
대한 합(sum) 연산을 구현
 PLD의 프로그래밍(programming): 신호 입력 선들과 게
이트 입력 선들 간의 교차점을 접속함으로써, 원하는 회로
를 구현하는 과정
[예] 2-input 2-output PLD
아래의 두 부울 함수
들을 PLD로 구현(프로
그래밍 )한 결과 
F = A'B + AB'
G = AB + A'B'
간략화된 표기를 이용한 게이트 배열
프로그래밍 과정
 구현 방법: 접속되지 않는 신호선들의 교차점에 위치한 퓨
즈(fuse)들을 단절(open)시킴
[예] AND 배열에서 F = AB 의 구현
PLD의 유형(I)
 PROM(Programmable Read-Only Memory): 입력 신호
들이 인가되는 AND 배열은 연결 상태가 고정되어 있으며,
출력을 발생하는OR 배열은 퓨즈를 이용하여 프로그래밍
할 수 있도록 구성된 PLD
PLD의 유형 (II)
 PAL(Programmable Array Logic): 입력 신호들이 인가되
는 AND 배열은 프로그래밍 할 수 있도록 구성되며, 출력
을 발생하는 OR 배열은 연결 상태가 고정되도록 구성된
PLD
PLD의 유형 (III)
 PLA(Programmable Logic Array): 입력 신호들이 인가되
는 AND 배열과 출력을 발생하는OR 배열 모두가 프로그
래밍 할 수 있도록 구성되는 PLD
9.2 PROM을 이용한 회로 구현
 PROM의 초기 상태
AND 배열: 고정
(8개의 SOP형 출력들을 발생)
OR 배열: 프로그래밍 가능
(초기에는 모든 교차점들이 접속된 상태)
회로 구현의 예
[예] 3-input, 4-output PROM을 이용하여 아래의 SOP형
부울 함수들을 구현하라
프로그래밍을 이용한 구현 결과
PROM을 이용한 회로 구현 (계속)
 PROM을 이용하여 구현되는 부울 함수에서는 모든 항들
이 정규형(canonical form)으로 표현되어야 함
 입력단의 AND 배열에서 각 게이트로 세 개의 입력 신
호들이 고정적으로 접속되어 있기 때문
 PROM (그림 9-5)의 AND 배열: 3x8 디코더 회로와 동일
 8x4비트 기억장치로 사용 가능
• 입력 신호들(A,B,C): 기억장치 주소(0~7번지)
• OR 배열: 각 기억 장소에 저장된 데이터
• OR 게이트 출력들: 데이터 출력
PROM을 이용한 회로 구현 (계속)
PROM을 이용한 회로 구현 (계속)
 PROM의 삭제: 저장된 내용을 원상 복귀시키는 동작
 방법: 퓨즈 부분에 자외선을 20~30분 동안 비추면 단
절된 퓨즈들이 재생되어 접속 상태를 복구
 삭제된 PROM은 다시 프로그래밍을 통하여 다른 데이
터 저장 가능
 삭제 가능한 PROM(erasable PROM: EPROM)
 EEPROM(electrically erasable PROM): 전기적으로 삭제
가능한 PROM
9.3 PAL(programmable array logic)을 이용한 회로 구현
 PAL의 초기 상태
AND 배열: 프로그래밍 가능
(초기에는 모든 교차점들이 접속된 상태)
OR 배열: 고정
 3-input 4-output PAL의 예 
회로 구현의 예
[예] 아래의 부울 함수들을 4-input 4-output PAL을 이용하
여 구현하라
4-input 4-output PAL을 이용한 회로 구현 결과
PAL을 이용한 회로 구현 (계속)
[예] 5-input 3-output PAL을 이용한 4-변수 부울 함수들
의 구현 (외부 접속을 이용하는 사례)

외부 접속을 이용한 회로 구현 결과
[참고] 4-input 4-output PAL 내부 구조의 다른 사례
PAL을 이용한 회로 구현 (계속)
 상용 PAL 칩들의 예 (National Semiconductor사 제품)
 10H8 : 10개의 입력 단자들과 8개의 출력 단자들을 가
진 PAL
 14L4 : 14개의 입력 단자들과 4개의 출력 단자들을 가
진 PAL
 GAL(generic array logic): AND 배열의 각 교차점에 퓨즈
대신에 다시 연결 상태를 복구시킬 수 있는 물질을 이용하
여 재프로그래밍 가능한 PAL(reprogrammable PAL)
PAL을 이용한 회로 구현 (계속)
 순차형 PAL(sequential PAL): 순차회로 구현에 사용될 수
있는 PAL
[예] 16R4 순차형 PAL : 16개의 입력 단자들과 4개의 D 플
립-플롭들 및 그 출력 단자들로 구성
9.4 PLA를 이용한 회로 구현
 PLA(Programmable Logic Array)
 PLD들 중에서 가장 융통성(flexibility)이 높음
 AND 배열과 OR 배열의 모든 교차점들이 퓨즈에 의해
접속  프로그래밍을 통하여 회로의 입력단과 출력단
을 모두 원하는대로 구성 가능
[예] PLA를 이용하여 아래의 부울 함수들을 구현
PLA를 이용한 조합회로 구현의 예
 BCD-7SEG 디코더(BCD-to-seven-segment decoder)
 7-세그먼트들 중에서 0부터 9까지의 숫자를 디스플레
이 하는데 필요한 출력들을 발생해주는 디코더
BCD – 7SEG 디코더의 진리표
9.5 CPLD
 SPLD(simple programmable logic device) : 적은 수의
게이트들로 이루어지는 논리 장치 (예: PAL, PLA)
 CPLD(complex programmable logic device)
 큰 규모의 회로들을 구현할 수 있도록 여러 개의 SPLD들을
하나의 칩에 포함
 다수의 SPLD들과 상호연결망(interconnection)으로 구성
 LAB(Logic Array Block): 각 SPLD를 말하며, 기능 블록
(function block) 혹은 논리 블록(logic block)이라고도 부
름
 PIA(Programmable Interconnection Array): LAB들 간의
상호연결망
CPLD의 일반적인 내부 조직
CPLD (계속)
 입력 신호들 : 해당 LAB으로 인가
 출력 신호들 : LAB으로부터 발생
다른 LAB으로 입력 가능
 LAB의 내부 접속 및 그들 간의 상호 연결을 위한 PIA의 프
로그래밍 작업: 컴퓨터 S/W 이용
 주요 제조회사들: Altera사, Xilinx사, Lattice사, Cypress
사등
9.6 FPGA
FPGA(Field Programmable Gate Array)
 CPLD보다 밀도가 더 높음
 CLB(Configurable Logic Block)
• FPGA를 구성하는 단위 블록
• LAB보다 구조가 더 단순하지만, 더 많은 수의 CLB
들이 칩에 포함됨
• 상호연결망에 의해 매트릭스(matrix) 형태로 접속
 I/O 블록: 입력 및 출력 신호 인터페이스
 대규모 FPGA: 수 만개의 CLB들 및 기억장치 등이 포함되
므로, 소형 마이크로프로세서 구현도 가능
FPGA의 일반적인 내부 조직
FPGA (계속)
HDL(hardware description language): FPGA의
CLB 내부 연결 및 CLB들 간의 상호연결을 위한 복잡한
작업을 도와주는 프로그램 언어들
 종류: VHDL, Verilog, ABEL, AHDL 등
 CPLD 제조회사들(Altera사, Xilinx사, Lattice사,
Cypress사 등)이 FPGA도 생산하며, 표준 HDL에 해당
하는 VHDL 및 Verilog 를 지원하는 S/W 패키지 제공