FPGA의 임베디드 리눅스


10

FPGA에 대한 경험이 매우 제한적입니다 (Altera-비주얼 디자인 툴만 사용).

FPGA가 필요한 새 프로젝트를 계획 중이며 동일한 보드에서 실행되는 실제 Linux (주로 TCP 통신 및 일부 DSP)에서 많은 이점을 얻을 수 있습니다.

내 질문은, 지원되는 임베디드 리눅스가 준비된 권장 FPGA가 있습니까? 멋진 드라이버가 없습니다 (이더넷, Wi-Fi는 플러스 일 수 있습니다). FPGA에 마이크로 컨트롤러가 내장되어 있다고 생각합니다 (이것은 많은 FPGA를 소비하고 더 큰 FPGA가 필요함을 의미합니다).

답변:


15

리눅스에서 no-mmu 버전을 실행할 수있는 교과서 32 비트 RISC 프로세서 코어는 실제로 클 필요는 없습니다. 필요한 실제 리소스는 FPGA에서 사용할 수있는 것보다 훨씬 많은 RAM (10MB)입니다. 아마도 보드의 SDRAM과 FPGA의 컨트롤러를 원할 것입니다.

즉, 사소한 수준의 성능 이상을 원한다면 최적화 (파이프 라이닝 등)가있는 코어를 원할 것이고 크기가 다소 증가하기 시작합니다. 전체 mmu를 추가하면 메모리 (재) 할당이보다 효율적이되고 일반적인 copy-on-write fork () 동작이 활성화됩니다.

주요 FPGA 벤더들 모두 리눅스 포트가있는 소프트 프로세서 코어를 가지고있다-Xilinx를위한 Microblaze, Altera를위한 Nios II. 물론 특정 플랫폼 권장 사항은 시간이 지남에 따라 이동하는 대상이므로 해당 문서를 읽어보십시오. 타사 핵심 설계는보다 편리한 방식으로 작성되고 특정 FPGA 제품군에 맞게 최적화되지 않은 경우 유사한 성능을 위해 다소 더 클 수 있습니다.

역사적으로 하드 프로세서 코어 (종종 powerpc)와 구성 가능한 FPGA 패브릭 영역을 결합한 칩이있었습니다. 살펴볼 또 다른 옵션은 FPGA와 동일한 보드에서 별도의 프로세서 (예 : ARM)입니다.

결정은 프로세서와 FPGA를 얼마나 밀접하게 연결해야하는지에 달려 있습니다. 구성 레지스터와 데이터 스트림에 대한 문제를 줄일 수 있다면 BeagleBoard 또는 RasberryPi와 같은 임베디드 리눅스 보드의 USB 호스트 포트에 빠른 USB 칩이있는 FPGA 보드를 걸 수있는 것처럼 모듈식이 될 수 있습니다. 보다 긴밀한 통합을 위해 FPGA를 동일한 보드에 놓고 프로세서의 외부 버스에 배치 할 수 있습니다. 또는 낮은 데이터 속도의 경우 SPI 레지스터 인터페이스를 FPGA에 배치하는 것이 쉽지 않으며 UART 인터페이스는 약간 까다 롭지 만 완전히 수행 할 수 있습니다.

마지막으로, 실제로 리눅스와 같은 전체 운영 체제가 필요하거나 더 "마이크로 컨트롤러 크기"의 내장 TCP 스택이 메모리를 적게 사용하면서 문제를 해결할 수 있는지에 대한 의문이 있습니다.


6

자일링스의 마이크로 블레이즈 (Microblaze)는 리눅스를 잘 운영하는데, 목적에 따라 충분히 빠르다고 가정하면 값 비싼 제품군에서는 10 ~ 10 MIPS, 고가 제품군에서는 100 ~ 200 MIPS 만 수행 할 것이다.

자일링스는 git repo 를 가지고 있거나 자일링스 고유의 배포판이 몇 개있다. FPGA 유연성은 메모리 맵과 IRQ 매핑 또는 프로젝트 개발 과정에서 사용 가능한 주변 장치가 무엇인지에 따라 약간의 고통이 될 수 있습니다.

Petalinux 에는 이런 종류의 것을 관리하고 최신의 가장 큰 시스템 디자인에 따라 중요한 커널 설정 비트를 업데이트하는 스크립트가 있습니다.


4

Xilinx의 Virtex 제품군에는 하드 코어 PowerPC가 포함 된 FPGA 버전이 있습니다. PowerPC에서 Linux를 실행하는 것은 상당히 쉬운 일이며, 학생들은 많은 선임 디자인 프로젝트를 위해 Linux를 수행했습니다. 하드웨어 디자인을 위해 구성 가능한 패브릭이 많이 있습니다.

Virtex2 프로 평가 보드는 교육 및 학술 연구 프로젝트에 매우 일반적이었다. Xilinx가 최신 툴에서이 버전 칩에 대한 지원을 중단함에 따라 상당히 저렴하게 선택할 수 있습니다. 나는 그것이 9.x 버전까지 지원되었다고 생각합니다. 흠. 몇 년 전 이었으니 어쩌면 약간 그리운 것 같습니다. 어쨌든, 나는 여전히이 보드를 관심있는 학생들에게 전달하여 그들이 원하는 모든 것을 할 수있게합니다.


1
내가 잘못 생각하지 않으면 그들은 Virtex xilinx.com/onlinestore/v2pro_boards.htm
Ali

1
@Ali-나는 당신이 착각했다고 생각하지 않으며, 당신은 당신의 주장에 대해 꽤 신뢰할만한 참조를 얻었습니다. 이와 같은 상황에서 편집을 제안하십시오!
Kevin Vermeer

3

Actel의 SmartFusion은 FPGA를 하드 IP ARM Cortex-M3 코어 및 고급 아날로그 엔진과 단일 칩 장치에 통합합니다.

uClinux는 SmartFusion의 Cortex-M3 코어에서 잘 작동합니다. 자세한 내용은 이 사이트 를 확인 하십시오.


2

시간대에 따라 Xilinx의 새로운 Zynq-7000 라인을 살펴보면 ARM 프로세서와 Artix-7 또는 Kintex-7이 결합됩니다. 자일링스는 2012 년 하반기에 양산 출하 예정이라고 밝혔다.

다른 공급 업체도 비슷한 제품을 보유 할 수 있습니다. Xilinx가 Zynq를 무료 ISE WebPack에 제공 할 것인지 여부는 언제인지 모르겠습니다. 지금은 ISE Embedded Edition이 필요하다고 주장합니다.


왜이 답변을 커뮤니티 위키로 만들었습니까? 아마도 불필요했을 것입니다.
Kevin Vermeer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.