banner

Notícias

Jun 09, 2023

Hackster's FPGAdventures: Construindo Lógica Usando Libero SoC no Microchip PolarFire SoC Icicle Kit

Até agora, em nossas FPGAdventures, jogamos com praticamente tudo, exceto o próprio FPGA, observando como a parte de processamento de uso geral do PolarFire SoC no coração do Kit Icicle da Microchip pode ser usada para executar tudo, desde um totalmente funcional Distribuição do Linux para código bare-metal — até mesmo os dois ao mesmo tempo, cortesia dos recursos inteligentes de multiprocessamento assimétrico (AMP) da plataforma.

Desta vez, estamos mergulhando na verdadeira essência do kit: usando o Libero SoC, o ambiente de desenvolvimento integrado (IDE) da Microchip e a cadeia de ferramentas para seus produtos FPGA, para criar um circuito lógico básico, sintetizá-lo e implantá-lo na placa .

A primeira coisa a entender sobre o Libero SoC, uma vez que você passou pelos aros necessários para se registrar para uma licença gratuita e implantar o servidor de validação de licença arcaico em sua estação de trabalho, é que os requisitos do sistema da Microchip estão longe de ser uma recomendação, mas sim um absoluto requisito: quando a empresa informa que você precisará de 16 GB de RAM, você precisa se certificar de que tem pelo menos 16 GB de RAM disponíveis. Executar o software com menos é possível, o que pode induzi-lo a pensar que tudo está indo bem - mas você encontrará seus projetos falhando sem erros durante o estágio de síntese. A ferramenta de localização e rota esgota a RAM do sistema e cai em conflito com o assassino de falta de memória, mesmo para os designs mais simplistas, saindo de uma maneira que falha no processo, mas sem um erro correspondente para apontar o problema.

Uma vez que você tenha uma estação de trabalho adequadamente robusta em mãos, você precisa começar a aprender os meandros do que é uma interface de usuário muito ocupada. A boa notícia para um fabricante que está chegando a tudo isso do frio é que a Microchip tem um guia passo a passo, que o orienta no processo - desde o início do seu primeiro projeto até a sintetização do fluxo de bits e a atualização no FPGA. É basicamente um tutorial on-rails, mas o suficiente para você começar e aprender o básico da interface um tanto confusa do Libero SoC. Infelizmente, não é diretamente aplicável ao PolarFire SoC Icicle Kit; em vez disso, foi escrito para o PolarFire Splash Kit anterior da empresa.

Para a maior parte do processo, isso não importa. Iniciar um novo projeto é o mesmo para qualquer um dos kits de desenvolvimento da Microchip ou produtos FPGA simples, embora você precise descobrir com qual das inúmeras variantes do PolarFire SoC você está trabalhando para configurar o ambiente corretamente. Na verdade, é apenas quando você atinge a parte essencial do processo e começa a projetar algo que você se depara com um obstáculo real: os números dos pinos e as funções do PolarFire SoC não correspondem ao PolarFire anterior e, como um resultado, as instruções do tutorial para o PolarFire Splash Kit não podem ser aplicadas diretamente ao PolarFire SoC Icicle Kit.

Não há uma solução rápida real para esta barra, o óbvio: trocar os números de pinos sugeridos pelos disponíveis - e de uso prático - no PolarFire SoC Icicle Kit. Para fazer isso, você precisa acessar os esquemas do PolarFire SoC e detalhar a numeração dos pinos para descobrir quais entradas e saídas você pode aplicar ao seu design para que ele realmente faça algo útil; não há mapeamento padrão útil no Libero SoC, o que permitiria, digamos, selecionar "LED1" em uma lista suspensa. Este, então, deve ser o primeiro passo de qualquer projeto - e você pode achar útil fazer uma pequena folha de dicas de alfinetes comuns para ter à mão enquanto trabalha com o Kit de Gelo.

Existe uma abordagem alternativa, embora não seja discutida nos tutoriais da empresa: o PolarFire SoC Icicle Kit Reference Design, publicado pela Microchip no GitHub sob uma licença de código aberto não especificada. Isso fornece um script que pode ser carregado no Libero SoC para gerar gateware com, explica a empresa, "a mesma funcionalidade ou estendida" já carregada no FPGA de fábrica - útil se, tendo progredido consideravelmente mais ao longo da curva de aprendizado do que os tutoriais irão guiá-lo, você deseja estender ou aprimorar a funcionalidade de estoque em vez de substituí-la completamente.

COMPARTILHAR