포스트

임베디드 스터디 - 프로그래머블 로직

임베디드 스터디 - 프로그래머블 로직

이번 글 참고자료:
한빛아카데미, 디지털 논리회로4판
ElectronicsTutorials

A digital logic designer and circuit simulator. Contribute to hneemann/Digital development by creating an account on GitHub.

프로그래머블 로직 (PLD, Programmable Logic Device)

  • 논리 회로를 프로그램화할 수 있는 집적회로화 기술
    • 컴퓨터 프로그램 : 프로세서에 명령을 지시하는 형태
    • 논리 회로 프로그램 : PLD 칩이 각 구성요소를 어떻게 연결해야하는지 지시하는 형태
  • 로직 구현 단위
    • 로직 셀, 로직 블록 : 한 공간 안에 다수의 게이트들의 연결을 개폐하여 동작을 구현
    • 재구성 가능 로직(CLB, Configurable Logic Block) : 로직 셀들이 모여 블록으로 재구성 가능
  • 장점 : 짧은 구현 시간, 적은 설계 비용, 프로그램 후 즉시 테스트 가능
  • 단점 : 면적 사용이 비효율적임

SPLD (Simple PLD)

  • AND 게이트 어레이와 OR 게이트 어레이로 구성됨
  • 각 입력에 퓨즈 링크가 연결되어 있음
  • SOP(Sum Of Product) 형태의 조합논리회로 구성 가능

  • SPLD의 종류
    • PROM : 고정 AND 어레이와 프로그램 가능한 OR 어레이로 구성
    • PLA(Programmable Logic Array) : AND 어레이와 OR 어레이 둘 다 프로그래밍 가능
    • PAL(Programmable Array Logic) : AND 어레이만 프로그래밍 가능. OR 어레이는 고정. 1회만 프로그래밍 가능
    • GAL(Generic Array Logic) : 프로그래밍 가능한 AND 어레이, 고정 OR 어레이, 프로그래밍 가능한 출력 논리로 구성됨. 여러 번 프로그래밍 가능.

CPLD (Complex PLD)

  • PAL과 같은 논리 블록을 여러 개 갖고 있는 PLD
    • 여러 개의 LAB(Logic Array Block)과 PIA(Programmable Interconnection Array)로 구성됨.
    • LAB은 매크로 셀이라는 여러 개의 PAL, GAL 어레이를 갖는다.

FPGA (Field Programmable Gate Array)

  • SPLD, CPLD보다 더 높은 집적도를 갖는 프로그래밍 가능한 로직 어레이.
  • 프로그래밍 가능한 입출력 블록, 행과 열의 배선 영역을 갖는 로직 블록, 각 논리 블록 안의 여러 개의 슬라이스, 혹은 로직 셀로 구성된다.
  • FPGA는 CPLD의 SOP 기능을 LUT(Look-Up Table)이라는 메모리 소자를 사용해 구현한다.
    • 대부분 LUT를 구성하는 데 SRAM(휘발성)을 사용하지만, 간혹 안티퓨즈(Antifuse, 비휘발성) 방법을 사용하는 경우도 있다.
    • 안티퓨즈 FPGA는 전원 인가시 즉각 동작하고 방사선 내성이 좋아 항공우주/군용으로 활용성이 높다.
    • $n$-input LUT는 $2^n$ 비트 SRAM으로 구성되어 임의의 $n$입력 논리 함수를 구현한다.
    • LUT + FF를 합쳐 하나의 슬라이스를 구성한다.
  • 배선 영역은 프로그래밍 가능하다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.