FPGA 디자인이 다시 유행하고 있나요?

작성 날짜: 십일월 1, 2021
업데이트 날짜: 칠월 1, 2024

1970년대 ASIC 혁명에서 자라난 것은 MCU, MPU, FPGA 혁명이었으며, 여기서 호스트 컨트롤러는 로직 블록과 많은 통합 기능이 있는 단일 칩으로 구축되었습니다. 2021년에는 업계 일부에서 FPGA가 이제 고급 애플리케이션을 위한 선택 플랫폼이라고 선언했습니다. 사람들이 무엇을 말하고 있는지 보고 디자인에서 FPGA를 선택할 수 있는 경우를 알아보세요.

저는 1970년대를 기억할 만큼 나이가 많지 않습니다. 그때 ASIC이 시장에 진입하면서 통합 수준과 폼 팩터를 줄이는 데 도움을 주었습니다. ASIC의 유산은 오늘날까지 이어지고 있으며, 인기 있는 제조업체들은 여전히 소형 폼 팩터로 특수 기능을 수행하는 다양한 칩을 제공합니다. 일반 목적의 프로그래머블 로직에서 구현하기 매우 어려웠던 일부 작업들이 특수 로직이나 전용 기능이 내장된 ASIC으로 구현될 때 갑자기 쉬워졌습니다. 같은 십년의 초반에 인텔에 의해 마이크로컨트롤러가 소개되었으며, 디자이너들은 이산 논리 회로에 의존하는 대신 더 통합된 시스템을 구축하는 데 필요한 모든 것을 제공받았습니다.

ASIC과 MCU 이후에는 1984년에 Xilinx에 의해 소개된 필드 프로그래머블 게이트 어레이가 등장했습니다. 초기에 ASIC 디자이너들은 자신들의 ASIC 디자인에서 구현하려고 한 로직을 에뮬레이트하기 위해 FPGA를 일종의 테스트 플랫폼으로 사용했습니다. 시간이 지남에 따라 FPGA는 전형적인 ASIC을 보완하거나 다른 프로세서나 ASIC에서 사용할 수 없는 특수 로직 기능을 구현하기 위해 더 많은 생산 하드웨어에 구현되었습니다. FPGA 플랫폼에서 사용할 수 있는 인터페이스의 수도 확장되어 FPGA를 임베디드 시스템의 호스트 컨트롤러로 사용할 수 있게 되었습니다.

오늘날 FPGA 디자인은 여전히 경험이 풍부한 임베디드 개발자들 사이에서 인기가 있으며, 글로벌 FPGA 시장의 예상 성장률은 6.4%에서 10%까지 다양하며, 이는 앞으로 6-7년 동안입니다. 참고로, 최고 추정치는 글로벌 MCU 시장의 10.1% 예상 CAGR과 동일합니다. 임베디드 디자이너에게 질문은, FPGA의 인기를 끌고 있는 것은 무엇이며, 새로운 디자인의 출발점으로 FPGA를 선택해야 하는지입니다. 우리는 이러한 질문들을 더 살펴보면서 새로운 임베디드 시스템에 대한 몇 가지 시스템 아키텍처 옵션을 비교할 것입니다.

새로운 FPGA 디자인을 추진하는 것은 무엇인가요?

FPGA는 그들의 적응성 덕분에 몇 가지 넓은 경우에 항상 인기가 있었습니다. 이는 이 블로그의 이전 기사에서 논의되었습니다. FPGA가 전통적으로 성공한 고급 분야에는 다음이 포함됩니다:

  • MCU에서 느린 순차 논리를 사용하여 구현해야 하는 컴팩트 플랫폼에서의 특수 논리 구현

  • ASIC 개발 시간이 길기 때문에 시장 출시 시간이 중요한 응용 분야나 제품

  • 하드웨어 가상화 또는 에뮬레이션을 요구하는 모든 응용 프로그램

  • 외부 시스템에 연결하지 않고 빠른 재프로그래밍이 필요할 수 있는 모든 제품

FPGA 설계 및 프로그래밍에 익숙하지 않지만 FPGA 작동을 지배하는 몇 가지 기본 아이디어를 알고 있다면 위의 목록이 놀라운 것이 아닐 것입니다. 이들은 고려해야 할 꽤 넓은 영역들이지만, 여러 산업에서 실제 응용 프로그램으로 번역됩니다.

FPGA 대 MPU/MCU 및 ASIC

위에서 볼 수 있듯이, 저는 FPGA의 주요 경쟁자로 ASIC을 많이 언급했습니다. 실제로, 다양한 구성 요소 범위는 임베디드 개발자가 MCU, 특수 기능을 ASIC 및 저속 주변 장치 또는 인터페이스와 혼합 및 매치할 수 있게 합니다. FPGA는 다양한 영역에서 여러 가지 장점을 가지고 있으며, 이러한 옵션을 임베디드 시스템에 적용할 때 모두 비교하는 것이 가치가 있습니다.

위의 목록에서 FPGA가 수행할 수 있는 역할이 분명해야 합니다: 응용 프로그램 및 OS에 구애받지 않는 임베디드 시스템을 위한 적응 가능한 호스트 컨트롤러. FPGA 설계는 보드와 시스템 설계가 이러한 변경을 수용할 수 있는 한 업그레이드의 추가적인 이점을 제공합니다. 산업에서 몇 가지 새로운 응용 프로그램을 살펴보면, FPGA가 오늘날 더 인기가 있고 가까운 미래에 인기가 계속 커질 것이라는 것이 분명해질 것입니다.

주요 산업 사용자

FPGA 소비에 전통적으로 책임이 있는 단일 제품 카테고리는 없습니다. 처음 도입된 이래로, FPGA의 주요 산업 소비자에는 통신 시스템, 군사-항공, 자동차, 경량 소비자 제품, 심지어 석유 및 가스 산업이 포함됩니다. 실제로, FPGA가 될 원래 기술 중 일부는 Exxon의 자회사인 Zilog에서 처음 개발되었으며, 그 IP는 나중에 Xilinx에 의해 인수되었습니다.

FPGA가 인기를 얻으면서, 많은 벤더의 ASIC이 동일한 설계를 커버할 수 있음에도 불구하고 단일 프로세서에 직접 특수 논리를 구현해야 하는 다른 산업으로 초점이 이동했습니다. 예를 들어, 군사-항공 시장의 많은 메자닌 카드 및 딸랑이 카드 제품은 백플레인을 통해 여러 주변 장치 및 카드에 대한 액세스를 제공하는 적응 가능한 임베디드 컴퓨팅 플랫폼으로 FPGA를 사용합니다. 통신 및 네트워킹은 시장 출시 시간이 빠르고 표준 및 기술 출시에 대한 변경 사항을 수용하기 위한 업그레이드의 상대적인 용이성 때문에 FPGA 설계 및 개발이 널리 퍼진 한 응용 분야로 남아 있습니다.

오늘날의 FPGA 설계 및 개발

위에서 강조된 분야들은 FPGA 사용량이 감소하지 않았습니다. 통신 분야는 특히 주목할 만한데, 예를 들어 화웨이는 세계에서 가장 큰 FPGA 소비자 중 하나이며, 가속화된 클라우드 컴퓨팅을 서비스로 제공하는 “FPGA 클라우드” 플랫폼까지 시장에 내놓고 있습니다. 심지어 사용자가 애플리케이션 개발을 시작할 수 있도록 돕는 화웨이 클라우드 GitHub 저장소도 있습니다. FPGA를 그들의 인프라에 사용한 것은 다른 통신사보다 먼저 5G 서비스를 출시할 수 있게 한 요인이기도 합니다. 오늘날, 위에서 식별된 같은 장점들이 FPGA 설계와 개발을 로봇공학과 AI 두 분야로 밀어붙이고 있습니다. 이 두 분야는 깊게 연결되어 있지만, AI는 새로운 FPGA 설계와 개발의 훨씬 더 큰 동력으로 여겨집니다.

AI가 FPGA 설계와 사용을 주도하고 있습니다

FPGA 분야의 리더들은 하드웨어 시스템에서 AI의 구현이 이러한 구성 요소들의 실리콘 사용에 주요 변화를 가져올 것이라고 전망합니다. 이것은 로봇공학이나 경량 AI에서 MCU를 사용할 수 없다는 것을 의미하지는 않습니다; USB나 PCIe 브리지를 통해 연결되는 AI 가속 모듈의 확산은 지능형 임베디드 시스템을 위한 MCU/MPU 개발자들을 수용하기 위한 노력을 보여줍니다. 그러나, FPGA는 계산을 병렬화함으로써 추론 계산을 매우 빠르게 수행할 수 있는 훨씬 더 적응 가능한 플랫폼이며, FPGA 패브릭은 알고리즘에 맞게 맞춤화될 수 있지만, GPU/MCU/MPU의 순차적 논리는 그렇지 않습니다.

온보드 AI 추론을 구현하는 시스템을 포함하여 고성능 임베디드 시스템에서 사용되는 새로운 구성 요소 중 하나는 Xilinx의 Zynq-7000 All Programmable 시리즈 SoC입니다. 이 구성 요소는 ARM Cortex-A9 코어 기반 애플리케이션 프로세서로 최대 866 MHz까지 작동합니다. 기가비트 이더넷, DDR, 플래시, PCIe, 그리고 높은 GPIO 수와 같은 추가 인터페이스는 이 구성 요소를 엣지 컴퓨트 시스템에 쉽게 통합할 수 있게 합니다. I2C와 SPI와 같은 저속 인터페이스도 Zynq가 아날로그 센서나 기타 표준 인터페이스(CANBus, RS-485 등)에서 데이터를 캡처하는 ASIC과 함께 작동할 수 있게 합니다.

Xilinx는 FPGA에서 AI 분야의 선두 주자 중 하나이며, 개발자를 위한 많은 자원을 제공합니다. Zynq 프로세서와 관련된 흥미로운 개발 중 하나는 Xilinx가 PYNQ라고 부르는 Zynq에서의 Python 구현입니다. 다른 FPGA 벤더들도 Zynq와 경쟁하기 위해 제품 라인을 확장하고 있으므로, 임베디드 AI 개발자들은 FPGA 설계를 사용하여 기기 내 AI 컴퓨트를 위한 다양한 옵션을 가질 수 있습니다.

FPGA 사용 시의 도전 과제

FPGA는 더 고급 애플리케이션 분야에서 일하는 경험 많은 개발자에게 훌륭한 플랫폼입니다. 표준 환경, ASIC 솔루션 환경, 그리고 MCU/MPU 기능이 부족하거나 빠르게 변화할 때, FPGA는 새로운 시스템에 대해 아마도 더 나은 옵션일 것입니다. FPGA가 다양한 분야에서 성공을 가능하게 했음에도 불구하고, 하드웨어 및 개발 과제 자체의 한 세트를 가지고 있습니다:

  • 열 관리: MCU/MPU와 마찬가지로 FPGA는 구성 요소의 크기에 따라 상당한 열을 발생시킬 수 있습니다. 이는 새로운 도전이 아니지만, 엣지 컴퓨팅이나 고성능 5G 장비와 같은 컴팩트하고 고성능 시스템에서의 설계 요구 사항으로 인해 더 복잡해졌습니다. 일부 고객은 이러한 시스템에서 독특한 방열판 사용이나 케이스에의 접착과 같은 열 방출 전략을 고려했습니다.

  • 배치 및 라우팅: 고성능 애플리케이션에서는 여전히 배치 및 라우팅 작업이 도전이 되고 있으며, 여기서 독점 벤더 소프트웨어가 FPGA 패브릭에 매핑됩니다. 이 작업은 컴파일러 소프트웨어가 애플리케이션의 모든 논리 기능을 지원하는 매핑을 찾기 위해 알고리즘을 사용해야 하므로 시간이 걸립니다. 이는 고성능 컴퓨팅 및 데이터 센터에서 도전이 되는 애플리케이션 영역입니다. 이는 FPGA가 추론/훈련 외에 시스템 수준 작업에 사용될 때 AI에서도 문제가 될 수 있습니다.

  • 개발 리소스: FPGA 개발자 커뮤니티는 ASIC + MCU 커뮤니티나 전체 오픈 소스 소프트웨어 커뮤니티만큼 크지 않습니다. MCU는 Arduino와 ESP32와 같은 대중적인 플랫폼 덕분에 경험이 없는 개발자들도 사용하기 쉽습니다. 그러나 FPGA 벤더들은 개발자들이 FPGA에서 솔루션을 빠르게 구현할 수 있도록 리소스를 제공하는 데 있어 훨씬 나아졌습니다. GitHub에서 새로운 FPGA 프로젝트의 수도 MCU 프로젝트와 비슷한 속도로 증가하고 있습니다. 아래 표에서 보여주듯이.

미래의 FPGA는 어떤 모습일까요?

현재 FPGA는 오래된 FPGA 기반 제품이 다양한 주변 장치와 여러 인터페이스를 통해 상호 작용해야 했기 때문에 실리콘 면적의 약 50% 이상을 IO에 할당합니다. AI와 같은 고성능 애플리케이션에 더 많은 초점을 맞추면서 AI 컴퓨트 블록에 더 많은 실리콘 면적이 할당되는 것을 보게 될 것입니다. 이는 실행 시간에 유연한 데이터 이동과 진화하는 인터커넥트를 포함할 수 있습니다. 이종 통합도 FPGA SoC에 통합될 것이며, 여기서 AI 블록, GPU/TPU, 고대역폭 메모리, RF 프론트 엔드가 단일 컴팩트 패키지로 결합됩니다.

FPGA가 필요에 따라 FPGA 패브릭에서 구현되고 재프로그래밍될 수 있는 ASIC 기능을 가질 수 있음에도 불구하고, 여전히 ASIC 기반 시스템에 대한 훌륭한 보완제입니다. 하나의 설계 아키텍처는 업그레이드가 필요할 수 있는 모든 기능을 FPGA에 배치하고, 센서 및 데이터 버스와 같은 단순한 주변 장치와 인터페이스하기 위해 ASIC의 표준화를 사용하는 것입니다. 이는 개발자가 최종 제품에 필요한 고성능 기능을 완성하는 데 집중할 수 있게 하여 FPGA 설계 시간을 확실히 줄입니다. 지능형 임베디드 시스템에서 이러한 유형의 아키텍처를 사용하려면 여러 다른 구성 요소가 필요할 것입니다:

다음 FPGA 설계를 위한 구성 요소를 찾을 때는 Octopart의 고급 검색 및 필터링 기능을 사용하세요. Octopart의 전자 부품 검색 엔진을 사용하면 최신 유통업체 가격 데이터, 부품 재고, 부품 사양에 접근할 수 있으며, 모두 사용자 친화적인 인터페이스에서 무료로 이용 가능합니다. 통합 회로 페이지를 확인해 필요한 구성 요소를 찾아보세요.

최신 기사를 계속해서 업데이트하려면 뉴스레터에 가입하세요.

 

 

 

 

 

관련 자료

홈으로 돌아가기
Thank you, you are now subscribed to updates.