논리 블록

Logic block

컴퓨팅에서 논리 블록 또는 구성 가능한 논리 블록(CLB)은 Field-Programmable Gate Array(FPGA) 테크놀로지의 기본 구성 요소입니다.논리 블록은 재구성 가능한 논리 게이트를 제공하도록 엔지니어에 의해 구성할 수 있습니다.

로직 블록은 가장 일반적인 FPGA 아키텍처로 보통 로직 블록 배열 내에 배치됩니다.로직 블록에는 I/O 패드(외부 신호와 인터페이스하기 위해)와 라우팅 채널(로직 블록을 상호 연결하기 위해)이 필요합니다.

프로그래밍 가능한 논리 블록은 David W. Page와 LuVerne R에 의해 발명되었습니다.1985년 [1][2]특허 내에서 정의되었습니다.

적용들

애플리케이션 회선은 적절한 자원을 가진 FPGA에 매핑해야 합니다.필요한 논리 블록과 I/O의 수는 설계에 따라 쉽게 결정되지만, 같은 양의 로직을 가진 설계에서도 필요한 라우팅 트랙의 수는 상당히 다를 수 있습니다.

예를 들어 크로스바 스위치에서는 같은 게이트카운트의 수축기 어레이보다 훨씬 많은 라우팅이 필요합니다.사용되지 않는 라우팅 트랙은 아무런 이점 없이 부품의 비용을 증가시키고 성능을 저하시키므로 FPGA 제조업체는 룩업 테이블(LUT) 및 I/O 측면에서 적합한 대부분의 설계를 라우팅할 수 있도록 충분한 트랙만 제공하려고 합니다.이는 렌트 규칙에서 도출된 추정치 또는 기존 설계에 대한 실험에 의해 결정된다.

또한 FPGA는 프리실리콘 검증, 포스트실리콘 검증, 펌웨어 개발 등 시스템 검증에도 널리 사용됩니다.이를 통해 칩 기업은 공장에서 칩을 생산하기 전에 설계를 검증할 수 있어 출시 기간을 단축할 수 있습니다.

아키텍처

논리 셀의 간단한 그림

일반적으로 논리 블록은 몇 개의 논리 셀로 구성됩니다(각 셀은 적응형 논리 모듈(ALM), 논리 소자(LE), 슬라이스 등으로 불립니다).일반적인 셀은 오른쪽과 같이 4입력 LUT, 풀 가산기(FA) 및 D타입 플립 플랍(DFF)으로 구성됩니다.이 그림의 LUT는 2개의 3입력 LUT로 분할되어 있습니다.통상 모드에서는 좌측 멀티플렉스를 통해 4입력 LUT로 결합됩니다.산술 모드에서는 출력이 FA로 공급됩니다.모드 선택은 중앙 멀티플렉서에 프로그래밍됩니다.출력은 그림 예에서 오른쪽에 있는 mux의 프로그래밍에 따라 동기식 또는 비동기식으로 할 수 있습니다.실제로 공간을 [3][4][5]절약하기 위해 FA의 전체 또는 일부를 LUT에 함수로 넣습니다.

로직 블록에는 보통 몇 개의 ALM/LE/슬라이스가 포함되어 있습니다.ALM 및 슬라이스에는 보통 그림과 유사한 구조가 2개 또는 4개 포함되어 있으며 일부 신호는 공유됩니다.

제조사들은 성능 [6]향상을 주장하며 고성능 부품에 6입력 LUT로 전환하기 시작했다.

3D 아키텍처

FPGA의 크기와 소비전력을 줄이기 위해 TabulaXilinx와 같은 벤더는 새로운 3D [7][8]또는 스택형 아키텍처를 도입했습니다.Xilinx는 28 nm 7 시리즈 FPGA의 도입에 이어, 이러한 FPGA 제품 라인의 고밀도 부품 중 여러 개를 하나의 패키지로 구성하여 3D 구축 및 적층 다이 어셈블리를 위해 개발된 기술을 채택할 것이라고 밝혔습니다.이 기술은 실리콘 인터포저에 여러 개의 액티브 FPGA 주사위(3개 또는 4개)를 나란히 쌓아 올립니다.이것은 패시브 인터커넥트를 [8][9]운반하는 단일 실리콘 조각입니다.또, 멀티 다이 구조에서는, FPGA 패브릭 자체와 초고속 28 Gbit/s 시리얼 트랜시버의 프로세스 요건이 다르기 때문에, 다른 프로세스 테크놀로지로 FPGA의 다른 부분을 작성할 수 있습니다.이렇게 구축된 FPGA를 이종 FPGA라고 [10]합니다.

외부 I/O

로직 블록 핀 위치

일반적으로 클럭 신호(및 종종 다른 고팬아웃 신호)는 상용 FPGA의 특수 목적 전용 라우팅 네트워크(글로벌버퍼)를 통해 라우팅되기 때문에 이들 및 기타 신호는 개별적으로 관리됩니다.

이 아키텍처 예에서는 FPGA 로직블록 핀의 위치가 오른쪽에 표시됩니다.

각 입력은 로직 블록의 한쪽에서 액세스할 수 있으며 출력 핀은 로직 블록의 오른쪽 채널과 아래 채널의 라우팅 와이어에 연결할 수 있습니다.

각 논리 블록 출력 핀은 인접한 채널의 배선 세그먼트 중 하나에 연결할 수 있습니다.

마찬가지로 I/O 패드는 인접한 채널의 배선 세그먼트 중 하나에 연결할 수 있습니다.예를 들어 칩 상단의 I/O 패드는 바로 아래의 수평 채널에서 W 와이어(여기서 W는 채널 폭) 중 하나에 연결할 수 있습니다.

라우팅

일반적으로 FPGA 라우팅은 분할되지 않습니다.즉, 각 배선 세그먼트는 스위치박스로 종단되기 전에1개의 논리 블록에만 걸쳐 있습니다.스위치 박스내의 일부의 프로그램 가능한 스위치를 온으로 하는 것으로, 보다 긴 패스를 구축할 수 있습니다.고속 인터커넥트의 경우 일부 FPGA 아키텍처에서는 여러 로직블록에 걸친 긴 라우팅 회선을 사용합니다.

스위치 박스 토폴로지

수직 채널과 수평 채널이 교차할 때마다 스위치 박스가 있습니다.이 아키텍처에서는 스위치박스에 와이어가 들어가면 인접 채널세그먼트의 다른 3개의 와이어에 접속할 수 있는 3개의 프로그래밍 가능한 스위치가 있습니다.이 아키텍처에서 사용되는 스위치의 패턴(토폴로지)은 평면 또는 도메인 기반 스위치박스토폴로지입니다이 스위치 박스 토폴로지에서는 트랙 1의 와이어는 인접 채널 세그먼트의 트랙 1의 와이어에만 연결하고 트랙 2의 와이어는 트랙 2의 다른 와이어에만 연결합니다.오른쪽 그림은 스위치박스의 접속을 나타내고 있습니다.

일반적으로 모든 라우팅 채널은 같은 폭(와이어 수)을 가집니다.여러 개의 I/O 패드가 어레이의 한 줄 높이 또는 한 줄 너비에 들어갈 수 있습니다.

하드 블록

최신 FPGA 패밀리는 위의 기능을 확장하여 실리콘에 고정되는 보다 높은 수준의 기능을 포함합니다.이러한 공통 기능을 실리콘에 내장함으로써 필요한 면적이 줄어들고 원시 기능보다 속도가 향상됩니다.예를 들어 멀티플라이어, 범용 DSP 블록, 임베디드 프로세서, 고속 I/O 로직, 임베디드 메모리 등이 있습니다.

하이엔드 FPGA에는 고속 멀티기가비트 트랜시버하드 IP 코어(프로세서 코어, 이더넷 미디어 액세스 컨트롤러, PCI/PCI Express 컨트롤러, 외장 메모리 컨트롤러 등)를 탑재할 수 있습니다.이들 코어는 프로그램 가능한 패브릭과 함께 존재하지만 LUT가 아닌 트랜지스터로 구축되어 있어 ASIC 수준의 퍼포먼스와 소비전력을 가지면서도 패브릭 자원을 많이 소비하지 않기 때문에 애플리케이션 고유의 로직에 사용할 수 있는 패브릭이 많아집니다.멀티 기가비트 트랜시버에는 고속 시리얼라이저 및 디시리얼라이저와 함께 고성능 아날로그 입력 및 출력 회로도 포함되어 있습니다.이러한 컴포넌트는 LUT에서 구축할 수 없습니다.라인 코딩과 같은 상위 수준의 PHY 레이어 기능은 FPGA에 따라 하드 로직에서 시리얼라이저 및 디시리얼라이저와 함께 구현될 수도 있고 구현되지 않을 수도 있습니다.

클럭 신호

FPGA 내부에 내장된 회로의 대부분은 클럭 신호를 필요로 하는 동기 회로입니다.FPGA에는 클럭과 리셋을 위한 전용 글로벌라우팅 네트워크와 리저널라우팅 네트워크가 포함되어 있어 최소한의 스큐로 전달할 수 있습니다.FPGA에는 일반적으로 아날로그 위상 잠금 루프 및/또는 지연 잠금 루프 컴포넌트가 포함되어 있어 새로운 클럭 주파수를 합성하고 지터를 감쇠시킵니다.복잡한 설계에서는 주파수와 위상 관계가 다른 여러 클럭을 사용할 수 있으며 각각 개별 클럭 도메인을 형성합니다.이러한 클럭 신호는 오실레이터에 의해 로컬로 생성되거나 고속 직렬 데이터 스트림에서 복구할 수 있습니다.클럭 도메인 교차 회로를 구축할 때는 전이성을 방지하기 위해 주의해야 합니다.FPGA에는 일반적으로 다른 클럭을 가진 듀얼 포트 RAM으로 동작할 수 있는 블록 RAM이 포함되어 있어 다른 클럭 도메인을 접속하는 FIFO 및 듀얼 포트 버퍼 구축에 도움이 됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Google 특허 검색, "재프로그래머블 PLA"1983년 1월 11일 제출1985년 4월 2일 허가.2009년 2월 5일 취득.
  2. ^ Google 특허 검색, "다이나믹 데이터 재프로그래밍 가능 PLA"1983년 1월 11일 제출1985년 6월 18일 허가.2009년 2월 5일 취득.
  3. ^ "Cyclone II Device Handbook, Volume 1 : Cyclone II Architecture - functional description" (PDF). Altera. 2007.
  4. ^ "Documentation: Stratix IV Devices" (PDF). Altera.com. 2008-06-11. Archived from the original (PDF) on 2011-09-26. Retrieved 2013-05-01.
  5. ^ http://www.xilinx.com/support/documentation/user_guides/ug070.pdf[베어 URL PDF]
  6. ^ http://www.origin.xilinx.com/support/documentation/white_papers/wp245.pdf[베어 URL PDF]
  7. ^ 다카하시 딘, Venture Beat「인텔·커넥션으로 ·스타트업 Tabula가 1억800만달러의 자금을 조달.」2011년 5월 2일.2011년 5월 13일 취득.
  8. ^ a b 로렌스 라티프, 인콰이어러."FPGA 제조업체는 무어의 법칙을 물리쳤다고 주장합니다."2010년 10월 27일2011년 5월 12일 취득.
  9. ^ EDN 유럽Xilinx는 적층형 3D 패키징을 채택하고 있습니다.2010년 11월 1일2011년 5월 12일 취득.
  10. ^ http://www.xilinx.com/support/documentation/white_papers/wp380_Stacked_Silicon_Interconnect_Technology.pdf[베어 URL PDF]