banner

소식

Jun 09, 2023

Hackster의 FPGAdventures: Microchip PolarFire SoC Icicle 키트에서 Libero SoC를 사용하여 로직 구축

지금까지 FPGA 모험에서 우리는 FPGA 자체를 제외한 거의 모든 것을 다루면서 Microchip의 Icicle Kit의 핵심인 PolarFire SoC의 범용 처리 부분을 사용하여 완전한 기능을 갖춘 것부터 모든 것을 실행할 수 있는 방법을 살펴보았습니다. 베어 메탈 코드에 대한 Linux 배포 — 플랫폼의 영리한 AMP(비대칭 다중 처리) 기능 덕분에 동시에 둘 다 가능합니다.

이번에는 키트의 실제 내용을 살펴보겠습니다. Microchip의 통합 개발 환경(IDE)인 Libero SoC와 FPGA 제품용 툴체인을 사용하여 기본 논리 회로를 생성하고 합성한 후 보드에 배포하는 것입니다. .

Libero SoC에 대해 가장 먼저 이해해야 할 점은 무료 라이센스를 등록하고 워크스테이션에 구식 라이센스 검증 서버를 배포하는 데 필요한 과정을 거친 후 Microchip의 시스템 요구 사항이 권장 사항이 아니라 절대적인 요구 사항이라는 것입니다. 요구 사항: 회사에서 16GB RAM이 필요하다고 말하면 최소 16GB RAM을 사용할 수 있는지 확인해야 합니다. 더 적은 비용으로 소프트웨어를 실행하는 것이 가능하므로 모든 것이 잘 진행되고 있다고 오해할 수 있습니다. 그러나 합성 단계에서는 오류 없이 프로젝트가 실패하는 것을 발견하게 될 것입니다. 배치 및 경로 도구는 시스템 RAM을 소모하고 가장 단순한 설계의 경우에도 메모리 부족 킬러의 파울에 빠지며 프로세스를 실패하지만 문제를 지적하는 해당 오류 없이 종료됩니다.

적절하게 갖춰진 워크스테이션을 손에 넣었다면 매우 바쁜 사용자 인터페이스가 무엇인지 자세히 알아보기 시작해야 합니다. 이 모든 것에 어려움을 겪고 있는 제조업체를 위한 희소식은 Microchip이 첫 번째 프로젝트 시작부터 비트스트림 합성 및 FPGA에 플래시까지의 프로세스를 안내하는 단계별 가이드를 제공한다는 것입니다. 이는 온레일 튜토리얼이지만 다소 복잡한 Libero SoC 인터페이스의 기본을 시작하고 학습하기에 충분합니다. 안타깝게도 실제로 PolarFire SoC Icicle Kit에 직접 적용할 수는 없습니다. 대신 회사의 이전 PolarFire Splash Kit용으로 작성되었습니다.

대부분의 프로세스에서는 중요하지 않습니다. 새 프로젝트를 시작하는 방법은 Microchip의 개발 키트나 기본 FPGA 제품 모두 동일합니다. 단, 환경을 올바르게 설정하기 위해 작업 중인 PolarFire SoC의 다양한 변형 중 어떤 것이 있는지 파악해야 합니다. 프로세스의 핵심적인 부분에 도달하고 실제 장애물에 부딪힐 무언가를 설계하기 시작할 때만 가능합니다. 하지만 PolarFire SoC의 핀 번호와 기능은 이전 PolarFire와 일치하지 않습니다. 결과적으로 PolarFire 스플래시 키트에 대한 튜토리얼 지침은 PolarFire SoC Icicle 키트에 직접 적용될 수 없습니다.

이 막대에 대한 실질적인 빠른 수정은 없습니다. 제안된 핀 번호를 PolarFire SoC Icicle 키트에서 사용 가능하고 실제로 사용되는 핀 번호로 교체하는 것입니다. 그렇게 하려면 PolarFire SoC의 회로도를 가져와서 핀 번호를 자세히 살펴보고 실제로 유용한 작업을 수행하기 위해 설계에 적용할 수 있는 입력 및 출력을 파악해야 합니다. Libero SoC에는 드롭다운 목록에서 "LED1"을 선택할 수 있는 편리한 기본 매핑이 없습니다. 그러면 이것은 주어진 프로젝트의 첫 번째 단계가 되어야 하며 Icicle Kit로 작업하는 동안 가까이에 둘 수 있는 일반적인 핀에 대한 작은 치트 시트를 만드는 것이 유용할 수 있습니다.

회사의 튜토리얼에서는 논의되지 않았지만 대체 접근 방식이 있습니다. 즉, 지정되지 않은 오픈 소스 라이선스에 따라 Microchip이 GitHub에 게시한 PolarFire SoC Icicle 키트 참조 디자인입니다. 이는 공장에서 FPGA에 이미 로드된 것과 "동일하거나 확장된 기능"으로 게이트웨어를 생성하기 위해 Libero SoC에 로드할 수 있는 스크립트를 제공합니다. 튜토리얼이 여러분을 안내할 것입니다. 여러분은 스톡 기능을 완전히 교체하기보다는 확장하거나 강화하기를 원합니다.

공유하다