1 / 34

제 9 장 PLD 와 FPGA

논리회로설계. 제 9 장 PLD 와 FPGA. 배경. 복잡한 논리회로 구현을 위하여 많은 수의 IC 칩들을 사용하는 경우에 , 필요 공간이 커지고 결함 발생률도 높아지는 문제점을 해결하기 위하여 아래와 같은 IC 칩들을 개발 PLD(Programmable Logic Device) 다수의 게이트들로 이루어진 게이트 배열 (gate array) 을 하나의 IC 칩에 포함시킨 장치 회로 구현 시점에서 게이트 입출력 선들 간의 접속 , 즉 프로그래밍 (programming) 을 통하여 회로 구성

bowen
Download Presentation

제 9 장 PLD 와 FPGA

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. 논리회로설계 제9장 PLD와 FPGA

  2. 배경 • 복잡한 논리회로 구현을 위하여 많은 수의 IC 칩들을 사용하는 경우에, 필요 공간이 커지고 결함 발생률도 높아지는 문제점을 해결하기 위하여 아래와 같은 IC칩들을 개발 • PLD(Programmable Logic Device) • 다수의 게이트들로 이루어진 게이트 배열(gate array)을 하나의 IC 칩에 포함시킨 장치 • 회로 구현 시점에서 게이트 입출력 선들 간의 접속, 즉프로그래밍(programming)을 통하여 회로 구성 • FPGA(Field Programmable Gate Array) • 게이트 배열뿐 아니라, 내부 상호연결망 및 다수의 입출력(I/O) 블록들도 포함하는 대규모 IC 칩

  3. 9.1 PLD의 개요 • PLD의 일반적인 조직 • AND 배열(AND array) : 입력 변수들에 대한 곱의 항(product term)을 구현 • OR 배열(OR array) : AND 배열의 출력(곱의 항)들에 대한 합(sum) 연산을 구현 • PLD의 프로그래밍(programming): 신호 입력 선들과 게이트 입력 선들 간의 교차점을 접속함으로써, 원하는 회로를 구현하는 과정

  4. [예] 2-input 2-outputPLD 아래의 두 부울 함수 들을 PLD로 구현(프로 그래밍 )한 결과  F = A'B + AB' G = AB + A'B'

  5. 간략화된 표기를 이용한 게이트 배열

  6. 프로그래밍 과정 • 구현 방법: 접속되지 않는 신호선들의 교차점에 위치한 퓨즈(fuse)들을 단절(open)시킴 [예] AND 배열에서 F = AB 의 구현

  7. PLD의 유형(I) • PROM(Programmable Read-Only Memory): 입력 신호들이 인가되는 AND 배열은 연결 상태가 고정되어 있으며, 출력을 발생하는OR 배열은 퓨즈를 이용하여 프로그래밍 할 수 있도록 구성된 PLD

  8. PLD의 유형 (II) • PAL(Programmable Array Logic): 입력 신호들이 인가되는 AND 배열은 프로그래밍 할 수 있도록 구성되며, 출력을 발생하는 OR 배열은 연결 상태가 고정되도록 구성된 PLD

  9. PLD의 유형 (III) • PLA(Programmable Logic Array): 입력 신호들이 인가되는 AND 배열과 출력을 발생하는OR 배열 모두가 프로그래밍 할 수 있도록 구성되는 PLD

  10. 9.2 PROM을 이용한 회로 구현 • PROM의 초기 상태AND 배열: 고정(8개의 SOP형출력들을 발생) OR 배열: 프로그래밍 가능(초기에는모든 교차점들이 접속된 상태)

  11. 회로 구현의 예 [예] 3-input, 4-outputPROM을 이용하여 아래의 SOP형 부울 함수들을 구현하라

  12. 프로그래밍을 이용한 구현 결과

  13. PROM을 이용한 회로 구현 (계속) • PROM을 이용하여 구현되는 부울 함수에서는모든 항들이 정규형(canonical form)으로 표현되어야 함 • 입력단의 AND 배열에서 각 게이트로 세 개의 입력 신호들이 고정적으로 접속되어 있기 때문 • PROM (그림 9-5)의 AND 배열: 3x8 디코더 회로와 동일 8x4비트 기억장치로 사용 가능 • 입력 신호들(A,B,C): 기억장치 주소(0~7번지) • OR 배열: 각 기억 장소에 저장된 데이터 • OR 게이트 출력들: 데이터 출력

  14. PROM을 이용한 회로 구현 (계속)

  15. PROM을 이용한 회로 구현 (계속) • PROM의 삭제: 저장된 내용을 원상 복귀시키는 동작 • 방법: 퓨즈 부분에 자외선을 20~30분 동안 비추면 단절된 퓨즈들이 재생되어 접속 상태를 복구 • 삭제된 PROM은 다시 프로그래밍을 통하여 다른 데이터 저장 가능 삭제 가능한 PROM(erasable PROM: EPROM) • EEPROM(electrically erasable PROM): 전기적으로 삭제 가능한 PROM

  16. 9.3 PAL(programmable array logic)을 이용한 회로 구현 • PAL의 초기 상태AND 배열: 프로그래밍 가능 (초기에는모든 교차점들이 접속된 상태) OR 배열: 고정 • 3-input 4-output PAL의예

  17. 회로 구현의예 [예] 아래의 부울 함수들을 4-input 4-output PAL을 이용하여 구현하라

  18. 4-input4-outputPAL을 이용한 회로 구현 결과

  19. PAL을 이용한 회로 구현 (계속) [예] 5-input 3-output PAL을 이용한 4-변수 부울 함수들의 구현 (외부 접속을 이용하는 사례) 

  20. 외부 접속을 이용한 회로 구현 결과

  21. [참고] 4-input 4-output PAL 내부 구조의 다른 사례

  22. PAL을 이용한 회로 구현 (계속) • 상용 PAL 칩들의 예 (National Semiconductor사 제품) • 10H8 : 10개의 입력 단자들과 8개의 출력 단자들을 가진 PAL • 14L4 : 14개의 입력 단자들과 4개의 출력 단자들을 가진 PAL • GAL(generic array logic): AND 배열의 각 교차점에퓨즈 대신에 다시 연결 상태를 복구시킬 수 있는 물질을 이용하여 재프로그래밍 가능한 PAL(reprogrammable PAL)

  23. PAL을 이용한 회로 구현 (계속) • 순차형 PAL(sequential PAL): 순차회로구현에 사용될 수 있는 PAL [예] 16R4 순차형 PAL : 16개의입력단자들과 4개의 D플립-플롭들 및 그 출력 단자들로 구성

  24. 9.4 PLA를 이용한 회로 구현 • PLA(Programmable Logic Array) • PLD들 중에서 가장 융통성(flexibility)이 높음 • AND 배열과 OR 배열의 모든 교차점들이 퓨즈에 의해 접속  프로그래밍을 통하여 회로의 입력단과 출력단을 모두 원하는대로 구성 가능 [예] PLA를 이용하여 아래의 부울 함수들을 구현

  25. PLA를 이용한 조합회로 구현의 예 • BCD-7SEG 디코더(BCD-to-seven-segment decoder) • 7-세그먼트들 중에서 0부터 9까지의 숫자를 디스플레이 하는데 필요한 출력들을 발생해주는 디코더

  26. BCD –7SEG 디코더의 진리표

  27. 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들 간의 상호연결망

  28. CPLD의 일반적인 내부 조직

  29. CPLD (계속) • 입력 신호들 : 해당 LAB으로 인가 • 출력 신호들 : LAB으로부터 발생다른 LAB으로 입력 가능 • LAB의 내부 접속 및 그들 간의 상호 연결을 위한 PIA의 프로그래밍 작업: 컴퓨터 S/W 이용 • 주요 제조회사들: Altera사, Xilinx사, Lattice사,Cypress사 등

  30. 9.6 FPGA • FPGA(Field Programmable Gate Array) • CPLD보다 밀도가 더 높음 • CLB(Configurable Logic Block) • FPGA를 구성하는 단위 블록 • LAB보다 구조가 더 단순하지만, 더 많은 수의 CLB들이 칩에 포함됨 • 상호연결망에 의해 매트릭스(matrix) 형태로 접속 • I/O 블록: 입력 및 출력 신호 인터페이스 • 대규모 FPGA: 수 만개의 CLB들 및 기억장치 등이 포함되므로, 소형 마이크로프로세서 구현도 가능

  31. FPGA의 일반적인 내부 조직

  32. FPGA (계속) • HDL(hardware description language): FPGA의 CLB 내부 연결 및 CLB들 간의 상호연결을 위한 복잡한 작업을 도와주는 프로그램 언어들 • 종류: VHDL, Verilog, ABEL, AHDL 등 • CPLD 제조회사들(Altera사, Xilinx사, Lattice사,Cypress사 등)이 FPGA도 생산하며, 표준 HDL에 해당하는 VHDL 및 Verilog 를 지원하는 S/W 패키지 제공

More Related