정보

FPGA 란?-필드 프로그래밍 가능 게이트 어레이 기본 사항

 FPGA 란?-필드 프로그래밍 가능 게이트 어레이 기본 사항

필드 프로그래밍 가능 게이트 어레이 또는 FPGA는 소프트웨어 또는 "펌웨어"로 불리는 내부 구성을 가질 수있는 프로그래밍 가능 논리 장치입니다. 이는 FPGA 펌웨어가 회로에있을 때 업데이트되기 때문에 FPGA 기능을 업데이트하거나 필요에 따라 완전히 변경할 수 있습니다.

FPGA 프로그래밍 가능 논리 구성 요소 또는 알려진 논리 블록은 논리 게이트에서 메모리 요소 또는 메모리 블록 또는 거의 모든 요소로 구성 될 수 있습니다. 이것은 상당한 유연성을 제공합니다.

FPGA 애플리케이션

FPGA의 재구성 가능한 특성은 다양한 애플리케이션에서 사용할 수 있음을 의미합니다.

  • ASIC 프로토 타이핑 : ASIC 또는 애플리케이션 별 집적 회로는 대량 생산에 자주 사용되지만 개발 비용이 많이 들고 변경 작업에 많은 비용과 시간이 소요됩니다. ASIC 칩이 만들어지면 기능이 수정됩니다. 또한 ASIC 칩은 일반적으로 매우 복잡하고 기능이 올바른지 확인하기 위해 개발 중에 ASIC 칩 대신 FPGA가 사용되며 모든 문제가 제거 될 때까지 초기 생산이 가능합니다.
  • 소프트웨어 정의 장비 : 소프트웨어 정의 라디오의 경우와 같이 장비가 소프트웨어 정의가되는 경향이 있으므로이 개념은 많은 기술 영역에서 널리 사용되고 있습니다. 소프트웨어 정의 테스트 장비도 점점 더 널리 사용되고 있습니다. 여기서 테스트 장비의 기능은 필요에 따라 수정할 수 있습니다.

FPGA 기초

FPGA의 가장 큰 장점은 칩이 완전히 프로그래밍 가능하고 다시 프로그래밍 할 수 있다는 것입니다. 이러한 방식으로 설계에 따라 구성 할 수있는 대형 논리 회로가되지만 변경이 필요한 경우 업데이트를 통해 다시 프로그래밍 할 수 있습니다.

따라서 회로 카드 또는 보드가 제조되고 회로의 일부로 FPGA를 포함하는 경우 이는 제조 프로세스 중에 프로그래밍되지만 나중에 변경 사항을 반영하도록 다시 프로그래밍 할 수 있습니다. 따라서 현장에서 프로그래밍이 가능하며 실제로 이름이 붙여졌습니다.

FPGA는 많은 장점을 제공하지만 당연히 몇 가지 단점이 있습니다. 동급 ASIC (Application Specific Integrated Circuit) 또는 동급 IC보다 느리며 추가로 더 비쌉니다. (그러나 ASIC는 비교해 보면 개발 비용이 매우 많이 듭니다)

즉, FPGA 기반 설계를 사용할지 여부는 설계주기 초기에 선택해야하며 칩을 다시 프로그래밍해야하는지 여부, 동등한 기능을 다른 곳에서 얻을 수 있는지 여부, 그리고 당연히 해당 항목에 따라 달라집니다. 허용 비용. 때때로 제조업체는 버그가 여전히 발견되면 초기 제품에 FPGA 설계를 선택한 다음 설계가 완전히 안정되면 ASIC를 사용할 수 있습니다.

FPGA는 많은 애플리케이션에서 사용됩니다. 비용 측면에서 볼 때 저렴한 대용량 제품에는 사용되지 않지만 FPGA는 복잡한 논리 회로가 필요할 수 있고 변경이 예상되는 다양한 영역에서 애플리케이션을 찾습니다. FPGA 애플리케이션은 비디오 및 이미징 장비부터 항공 우주 및 군사 애플리케이션을위한 회로, 특수 처리를위한 전자 장치 등에 이르기까지 광범위한 영역을 포괄합니다.

FPGA 내부

FPGA의 내부 아키텍처는 유연성과 성공의 핵심입니다. 기본적으로 FPGA는 두 가지 기본 요소로 구성됩니다.

  • 공통 로직 블록 : FPGA의 로직 블록은 다양한 방식으로 구현 될 수 있습니다. 실제 구현은 제조업체 및 사용중인 FPGA 시리즈에 따라 다릅니다. 변형에는 입력 및 출력의 수, 회로 측면에서 논리 블록의 일반적인 복잡성 및 사용되는 트랜지스터의 수가 포함됩니다. 이것은 당연히 칩에서 소비되는 면적의 양에 영향을 미치므로 사용되는 실리콘의 크기에 영향을 미칩니다.
  • FPGA 내부 라우팅 : FPGA 내의 라우팅 채널은 전기적으로 구성 가능한 스위치를 사용하여 상호 연결될 수있는 와이어로 구성됩니다. 이러한 방식으로 칩의 서로 다른 지점을 함께 연결하여 필요한 방식으로 서로 다른 공통 논리 블록을 연결할 수 있습니다.

FPGA 펌웨어 개발

FPGA는 구성 가능한 로직 어레이이므로 시스템 요구 사항을 충족하도록 로직을 설정해야합니다. 구성은 펌웨어에 의해 제공됩니다.

FPGA의 복잡성을 고려하여 소프트웨어는 FPGA의 기능을 설계하는 데 사용됩니다. FPGA 설계 프로세스는 사용자가 하드웨어 설명 언어 (HDL) 정의 또는 회로도 설계를 제공함으로써 시작됩니다.

일반적인 HDL은 VHDL입니다 (VHDL은 VHSIC H하드웨어 설명 anguage) 및 Verilog. 이것이 완료되면 FPGA 설계 프로세스의 다음 작업은 사용중인 특정 FPGA 제품군에 대한 넷리스트를 생성하는 것입니다. 이것은 FPGA 내에서 필요한 연결을 설명하며 전자 설계 자동화 도구를 사용하여 생성됩니다.

넷리스트는 일반적으로 FPGA 회사의 독점적 인 장소 및 경로 소프트웨어에 의해 수행되는 place-and-route라는 프로세스를 사용하여 실제 FPGA 아키텍처에 맞출 수 있습니다.

마지막으로 설계는 FPGA에 적용되며 의도 한 전자 회로 기판에서 사용할 수 있습니다.

FPGA 프로그래밍에 대한 참고 사항 :

FPGA는 칩 내에서 로직의 구성을 설정하기 위해 firmwave를 사용할 수 있어야합니다. 이 펌 웨이브는 다양한 방법으로 개발할 수 있으며 사용할 수있는 여러 소프트웨어 플랫폼이 있습니다.

자세히 알아보기 FPGA 프로그래밍

FPGA 테스트

복잡성을 고려할 때 FPGA 디자인에 대한 엄격한 테스트를 수행해야합니다. 이 테스트는 일반적으로 FPGA 개발 프로세스의 각 단계에서 수행됩니다.

여기에는 기능 시뮬레이션 및 기타 검증 방법론이 포함되지만 기본 로직의 크기와 복잡성이 타이밍 문제가 발생할 수 있음을 의미 할 수 있으므로 주요 문제 중 하나는 타이밍 문제 일 수 있습니다.

설계 및 검증 프로세스가 완료되면 생성 된 바이너리 파일 (FPGA 회사의 독점 소프트웨어 사용)이 FPGA 장치를 구성하는 데 사용됩니다.

FPGA 도구

FPGA 개발 및 테스트를위한 도구는 다양한 소스에서 사용할 수 있습니다. 분명히 제조업체는 많은 FPGA 개발 도구를 제공 할 수 있지만 타사 FPGA HDL 합성, FPGA 물리적 합성 및 검증 도구를위한 다른 많은 소스가 있습니다. 여기에는 실제 개발과 FPGA 테스트의 다양한 단계가 포함됩니다.


비디오보기: AI시대 FPGA반도체가 뜨고 있읍니다. 이 분야 1위 자일링스도 부각되고 있습니다. FPGA기술이 무엇이고 삼성전자의 자일링스 인수 가능성도 짚었습니다. (유월 2021).