Exemplo de design do compilador C2H Mandelbrot

Recomendado para:

  • Dispositivo: Cyclone® III

  • Quartus®: desconhecido

author-image

Por

Este exemplo de projeto de Mandelbrot demonstra o uso do compilador de aceleração C-to-Hardware (C2H) do processador Nios® II integrado. Neste exemplo, o compilador C2H transforma a implementação baseada em C do algoritmo de Mandelbrot em hardware. Este design também contém um controlador de vídeo para exibir vídeo em movimento completo dos valores de pixel calculados.

O padrão Mandelbrot tornou-se um dos fractais mais conhecidos por causa de seus padrões complexos e implementação intensiva de processadores. O algoritmo opera no plano complexo onde o eixo x representa o componente real, e o eixo y representa o componente imaginário. O exemplo executa movimentos para diferentes regiões do plano e também amplia e amplia, criando vídeo em movimento total.

Este exemplo faz uso total do paralelismo executando cálculos de coordenadas em software enquanto os aceleradores de hardware estão em uso. Isso é feito por buffer triplo dos dados de vídeo no SDRAM DDR e usando o processador Nios II integrado para coordenar o fluxo de dados. Toda vez que um framebuffer completo é renderizado pelo acelerador de hardware, os dados são gerenciados pelo processador para sobrepor dados de benchmark e notificar o controlador de vídeo de que um novo buffer está pronto para exibição.

Usando este exemplo de projeto

Este projeto tem como alvo os seguintes kits de desenvolvimento:

Baixe o exemplo Nios II de design do Mandelbrot C2H (arquivo.zip)

Baixe o Nios II exemplo de design de Mandelbrot C2H README (arquivo.txt)

O uso deste design é regido por, e sujeito, aos termos e condições do Contrato de licença de exemplo de projeto Intel®.

Os arquivos .zip contêm todos os arquivos de software necessários para reproduzir o exemplo, bem como um arquivo readme.txt. O arquivo readme.txt contém instruções para reconstruir o design destinado a um design de hardware existente.

Diagrama de blocos

Figura 1. Exemplo de design do compilador C2H Mandelbrot

A Figura 1 mostra o diagrama de bloco do exemplo de design do compilador C2H Mandelbrot.

Resultados acelerados do compilador C2H

O algoritmo de Mandelbrot acelerado pelo compilador C2H resulta em uma melhoria de velocidade de pelo menos 60 vezes em comparação com o mesmo algoritmo rodando no processador Nios II mais rápido usando o nível de otimização do compilador 2 (-O2). Este aumento de velocidade é devido ao paralelismo e velocidades de iteração rápidas que o hardware pode fornecer, o que não é possível a partir de uma unidade de processamento de uso geral.

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.