Índice:

Algoritmo Córdico usando VHDL: 4 etapas
Algoritmo Córdico usando VHDL: 4 etapas

Vídeo: Algoritmo Córdico usando VHDL: 4 etapas

Vídeo: Algoritmo Córdico usando VHDL: 4 etapas
Vídeo: Explicación Algoritmo de Cordic. 2024, Novembro
Anonim

Por AmCoderhttps://www.linkedin.com/in/mituFollow Mais do autor:

Projetando um FIFO síncrono, LIFO / Stack em Verilog
Projetando um FIFO síncrono, LIFO / Stack em Verilog
Projetando um FIFO síncrono, LIFO / Stack em Verilog
Projetando um FIFO síncrono, LIFO / Stack em Verilog
Interface de vídeo com FPGA usando VGA
Interface de vídeo com FPGA usando VGA
Interface de vídeo com FPGA usando VGA
Interface de vídeo com FPGA usando VGA
Sincronizadores, cruzamento de domínio de relógio, geradores de relógio, detectores de borda, muito mais - circuitos de ajuste essenciais
Sincronizadores, cruzamento de domínio de relógio, geradores de relógio, detectores de borda, muito mais - circuitos de ajuste essenciais
Sincronizadores, cruzamento de domínio de relógio, geradores de relógio, detectores de borda, muito mais - circuitos de ajuste essenciais
Sincronizadores, cruzamento de domínio de relógio, geradores de relógio, detectores de borda, muito mais - circuitos de ajuste essenciais

Sobre: Mitu Raj - Just a Hobbyst and Learner - Chip Designer - Software Developer - Física e Matemática Entusiasta Mais sobre AmCoder »

## Este é o link mais clicado e popular no Google para implementação de VHDL do ALGORITMO CORDIC para gerar ondas seno e cosseno ## Atualmente, existem muitos algoritmos eficientes de hardware, mas estes não são bem conhecidos devido ao domínio dos sistemas de software sobre muitos anos. CORDIC é um algoritmo que nada mais é do que um conjunto de lógicas de deslocamento e adição usadas para calcular uma ampla gama de funções, incluindo certas funções trigonométricas, hiperbólicas, lineares e logarítmicas. Este é o algoritmo usado em calculadoras, etc. Assim, usando apenas shifters e somadores simples, podemos projetar um hardware com menos complexidade, mas com potência de DSP, usando um algoritmo cordic. Portanto, ele pode ser projetado como um projeto RTL simples em VHDL ou Verilog sem usar unidades de ponto flutuante dedicadas ou IPs matemáticos complexos.

Etapa 1: VHDL e Modelosim

Aqui, o algoritmo cordic é implementado usando VHDL para gerar uma onda senoidal e uma onda cose. Pode produzir seno e cosseno do ângulo de entrada com grande precisão. O código é sintetizável em FPGA. O Modelsim é usado para simular o projeto e a bancada de testes.

Etapa 2: Código VHDL para o Design e o Banco de Teste

Código VHDL para o Design e o Banco de Teste
Código VHDL para o Design e o Banco de Teste

A técnica de escalonamento binário é usada para representar números de ponto flutuante.

Por favor, vá até os documentos em anexo antes de codificar.

Go thruSimulating cordic_v4.vhd - O Design -A entrada é um ângulo em 32 bits + bit de sinal; pode processar qualquer ângulo de 0 a +/- 360 graus com precisão de entrada de 0,000000000233 graus. Ao fornecer a entrada -> MSB é o bit de sinal e os 32 bits restantes representam a magnitude. - A saída do projeto é seu valor de seno e cos em 16 bits + bit de sinal. com precisão 0,00001526. Observe que a saída é exibida na forma de complemento de 2 se o respectivo valor de seno ou cos for negativo. Simulando testb.vhd - Test Bench For The Design (1) Ângulos de entrada e redefinir pull = '0'. Após duas etapas da simulação, puxe o reset para '1' e "execute tudo". (2) Na janela de simulação, defina a raiz dos sinais sen e cos como decimal e formato> Analógico (automático). (3) Afaste o zoom para ver a forma de onda devidamente.

Etapa 3: arquivos anexados

(1) cordic_v4.vhd - Design. (2) testb.vhd - Bancada de teste para o design.

(3) Documento sobre como forçar entradas de ângulos e converter os resultados binários.

Atualização: ESTES ARQUIVOS SÃO OBSELETOS E NÃO FORNECIDOS MAIS. USE OS ARQUIVOS DA PRÓXIMA ETAPA

Etapa 4: Mini-Cordic IP Core - 16 bits

A limitação da implementação acima é - frequência de operação lenta e inferior do clock devido à realização de cálculos em um único ciclo de clock. Mini-Cordic IP Core - 16 bits

- Caminhos críticos distribuídos em vários ciclos para melhorar o desempenho.- Mais rápido - Design comprovado em FPGA sintetizado em clock de 100 Mhz.- Mais área otimizada em HDL, hardware menor.- Sinais de status de carga e conclusão adicionados.- Apenas a desvantagem é a resolução menor em comparação com o anterior. Bancada de teste:

completamente automatizado de entradas de ângulo de 0 a 360 graus

Arquivos anexados: 1) mini cordic main vhdl file2) mini cordic test bench3) Mini Cordic IP Core manual4) Doc sobre como forçar ângulos e converter resultados

Para qualquer dúvida, sinta-se à vontade para entrar em contato comigo:

Mitu Raj

siga-me:

mail: [email protected]

### Total de downloads: 325 até 01-05-2021 ###

### Código editado pela última vez: julho-07-2020 ###

Recomendado: