Design de MicroBlaze e Ethernet na placa de avaliação Xilinx Artix 7 (AC701) e Vivado

Find AI Tools
No difficulty
No complicated process
Find ai tools

Design de MicroBlaze e Ethernet na placa de avaliação Xilinx Artix 7 (AC701) e Vivado

Here is the table of contents and the beginning of the article in Portuguese. Due to the size limit, I'll provide the rest in subsequent messages:

Sumário:

  1. Introdução ao FPGA Artix da Xilinx
  2. Configuração do Hardware no Vivado IP Integrator
    • 2.1. Seleção do Board e Adição do Controlador DDR3
    • 2.2. Adição do Processador MicroBlaze
    • 2.3. Adição de Periféricos: Timer, UART e Ethernet
  3. Exportação do Hardware para o SDK
  4. Desenvolvimento do Programa da Aplicação no SDK
  5. Configuração e Execução da Aplicação no FPGA

Artigo:

Nesta demonstração, vou mostrar como criar uma aplicação baseada em MicroBlaze e Ethernet em uma placa de avaliação FPGA Artix da Xilinx. Vou usar o sistema operacional FreeRTOS e o stack de IP LWIP neste demo. Este é o hardware e software que usarei para este demo: estou usando uma placa de avaliação Xilinx AC701. É uma placa de avaliação baseada em FPGA Artix da série sete de baixo custo da Xilinx, e estou usando o Vivado e SDK da Xilinx versão 2018.1 para este demo.

No vídeo anterior, mostrei como criar uma aplicação simples baseada em UART para um processador MicroBlaze. Os passos envolvidos no design de uma aplicação baseada em Ethernet são idênticos ao que fizemos no demo anterior. A única diferença será os módulos que estamos adicionando no IP Integrator durante a fase de definição de hardware.

O primeiro passo é definir a configuração de hardware que será usada para programar o tecido FPGA. Como você sabe, o FPGA Artix 7 é um tecido FPGA completo e não possui blocos IP integrados. Todos os blocos necessários em seu design devem ser adicionados manualmente. Então, você precisa definir todos os módulos necessários para sua aplicação no IP Integrator do Vivado durante a fase de design de configuração de hardware.

Na segunda fase, vamos sintetizar o design que definimos no primeiro passo e também gerar o arquivo bitstream que será usado para configurar o FPGA. Em seguida, este design será exportado para o SDK para desenvolver o software da aplicação para ser executado no processador MicroBlaze.

Depois disso, vamos desenvolver a aplicação real, que é baseada no FreeRTOS e no stack de IP LWAP, que será executada no processador MicroBlaze. Esse é o quarto passo, e nesse passo, vamos gerar o arquivo executável que está no formato ELF.

No quinto passo, vamos configurar o FPGA e executar a aplicação. Usaremos o arquivo bitstream que geramos no segundo passo e o arquivo ELF que criamos no quarto passo para executá-lo no processador MicroBlaze. Esses são os cinco passos envolvidos no design desta demonstração completa. Vamos começar, vamos passar para o primeiro passo, que é o design da configuração de hardware, que faremos no IP Integrator do Vivado. Vamos criar um projeto no Vivado. Agora o Vivado está iniciado. Vou criar um novo projeto. Clique no link Criar projeto. Aqui você pode clicar em Avançar e selecionar a pasta onde deseja criar o projeto. E aqui você pode selecionar o projeto RTL. Como não estamos desenvolvendo nenhum programa STL, não precisamos selecionar nenhum arquivo aqui. Na janela de seleção de parte, você deve selecionar o board. Como estou usando a placa de avaliação AC701, posso procurar AC701 e esta é a placa de avaliação que estou usando, então posso selecioná-la e clicar em Avançar e depois posso clicar em Concluir para criar o projeto. A criação do projeto está concluída. Vamos avançar e começar o design de hardware com base no IP Integrator. Na guia IP Integrator, você pode selecionar Criar design de bloco e clicar em OK. Agora estamos prontos para iniciar o processo de design de hardware. Se você é novo no design do MicroBlaze, recomendo que assista ao vídeo anterior, no qual explico a organização de Memória do MicroBlaze.

Como mencionei, o MicroBlaze requer alguma memória para executar sua aplicação. Podemos criar uma quantidade de RAM dentro do FPGA, pois vimos que podemos configurar um máximo de 128 KB de RAM usando as células de RAM do bloco disponíveis no FPGA. No demo anterior, executamos nosso programa de aplicação dessa RAM local dentro do FPGA. Então, não temos nenhuma memória externa fora do FPGA. Mas neste caso, como vamos executar uma aplicação baseada em Ethernet usando o FreeRTOS e o stack LWAP, nossa aplicação não caberá nesses 128 KB de RAM dentro do FPGA. Então, temos que ir para uma memória externa. A placa AC701 tem uma RAM DDR3 na própria placa, então podemos usar essa RAM para executar nosso programa. O primeiro passo no design de hardware é adicionar um controlador de memória, o controlador DDR3, que nos permitirá acessar a memória RAM presente na placa AC701. Você pode gerar o controlador DDR3 adicionando diretamente o IP gerador de interface de memória ou, como está usando uma placa padrão, um método mais fácil será selecionar a guia da placa aqui e aqui você pode ver os recursos da placa. Como você pode ver aqui, aqui você tem um recurso de memória externa de DDR3 SDRAM, então você pode simplesmente selecionar isso e arrastá-lo para a janela de diagrama. Ele adicionará automaticamente um gerador de interface de memória, o gerador de interface de memória é adicionado pelo Vivado, basta clicar em OK e agora podemos gerar a interface de memória usando este gerador de interface que foi adicionado automaticamente pelo Vivado. Basta clicar duas vezes nele para iniciar a geração do módulo de memória. Esta é a janela para configurar sua interface de memória. Há várias etapas envolvidas na criação desta interface de memória. Uma vez que você selecionou o recurso da placa AC701 da guia da placa, ele preencherá automaticamente todos os detalhes correspondentes a essa placa AC701 nesta janela de configuração do gerador de interface de memória. Então, você só precisa passar por todas as etapas. Você não precisa editar nada, tudo será preenchido automaticamente pelo Vivado. Você só precisa clicar em Avançar. Então, em cada estágio, ele pedirá certas entradas, que foram definidas automaticamente pelo Vivado. Então, você pode simplesmente passar por tudo, clicar em Avançar. Então, você pode ver que a interface DDR3 está selecionada, o número da peça de memória e o número do dispositivo estão selecionados aqui, a interface de clock extra do usuário também está definida, agora aqui os pinos dos módulos de memória também estão definidos, se você não estiver usando a parte da placa padrão, terá que preencher manualmente os números dos pinos do FPGA que estão conectados ao DDR3 RAM, já que estamos usando a placa AC701, todos os pinos são automaticamente preenchidos pelo Vivado, você só precisa validá-lo e verificar, você pode prosseguir, clicar no botão Validar, então o pin out é válido, então você pode clicar em Avançar, então este é o resumo de todas as seleções que fizemos até agora, clique em Aceitar aqui e clique em Avançar, e finalmente clique no botão Gerar para criar a interface de memória, uma vez que isso é feito, você pode prosseguir e fazer a automação de conexão aqui, então o Vivado irá conectar automaticamente alguns dos pinos diretamente aos recursos da placa, podemos maximizar esta janela agora, a interface de memória foi criada, agora podemos prosseguir e adicionar nosso processador MicroBlaze, então apenas pressione este botão de adição e procure por MicroBlaze, então você tem o núcleo IP MicroBlaze aqui, basta dar um duplo clique para adicionar, então o processador MicroBlaze é adicionado, então o Vivado oferecerá automaticamente a automação de bloco, então você pode clicar na automação de bloco, como mencionei anteriormente, neste caso, vamos usar memória externa para executar nossa aplicação, no demo anterior, executamos a aplicação a partir da memória local dentro do FPGA, então temos a opção de selecionar a memória local no demo anterior, selecionamos 64 KB para que pudéssemos executar a aplicação dessa memória, então como você pode ver, 128 KB é o máximo que não será suficiente para nossa aplicação base

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.