Tabla de contenido:

Algoritmo Cordic usando VHDL: 4 pasos
Algoritmo Cordic usando VHDL: 4 pasos

Video: Algoritmo Cordic usando VHDL: 4 pasos

Video: Algoritmo Cordic usando VHDL: 4 pasos
Video: FPGA 17 - Intel Altera VHDL CORDIC Sine/Cosine generator 2024, Noviembre
Anonim

Por AmCoder https://www.linkedin.com/in/mitu Siga más por el autor:

Diseño de un FIFO, LIFO / Stack síncrono en Verilog
Diseño de un FIFO, LIFO / Stack síncrono en Verilog
Diseño de un FIFO, LIFO / Stack síncrono en Verilog
Diseño de un FIFO, LIFO / Stack síncrono en Verilog
Interfaz de video con FPGA usando VGA
Interfaz de video con FPGA usando VGA
Interfaz de video con FPGA usando VGA
Interfaz de video con FPGA usando VGA
Sincronizadores, cruce de dominios de reloj, generadores de reloj, detectores de bordes, mucho más: circuitos de ajuste esenciales
Sincronizadores, cruce de dominios de reloj, generadores de reloj, detectores de bordes, mucho más: circuitos de ajuste esenciales
Sincronizadores, cruce de dominios de reloj, generadores de reloj, detectores de borde, mucho más: circuitos de ajuste esenciales
Sincronizadores, cruce de dominios de reloj, generadores de reloj, detectores de borde, mucho más: circuitos de ajuste esenciales

Acerca de: Mitu Raj - Solo un aficionado y aprendiz - Diseñador de chips - Desarrollador de software - Entusiasta de la física y las matemáticas Más sobre AmCoder »

## Este es el enlace más popular en Google para la implementación VHDL de CORDIC ALGORITHM para generar ondas sinusoidales y coseno ## En la actualidad, existen muchos algoritmos eficientes de hardware, pero estos no son bien conocidos debido al dominio de los sistemas de software sobre los muchos años. CORDIC es un algoritmo de este tipo que no es más que un conjunto de lógicas de cambio y adición que se utilizan para calcular una amplia gama de funciones, incluidas ciertas funciones trigonométricas, hiperbólicas, lineales y logarítmicas. Este es el algoritmo que se usa en las calculadoras, etc. Por lo tanto, con solo usar simples cambiadores y sumadores, podemos diseñar un hardware con menos complejidad pero potencia de DSP usando un algoritmo cordico. Por lo tanto, se puede diseñar como un diseño RTL desnudo en VHDL o Verilog sin usar unidades de punto flotante dedicadas o IP matemáticas complejas.

Paso 1: VHDL y Modelsim

Aquí, el algoritmo cordic se implementa usando VHDL para generar una onda sinusoidal y una onda cose. Puede generar seno y coseno de ángulo de entrada con gran precisión. El código se puede sintetizar en FPGA. Modelsim se utiliza para simular el diseño y el banco de pruebas.

Paso 2: Código VHDL para el diseño y el banco de pruebas

Código VHDL para el diseño y el banco de pruebas
Código VHDL para el diseño y el banco de pruebas

La técnica de escala binaria se utiliza para representar números de punto flotante.

Consulte los documentos adjuntos antes de codificar.

Ir a través de simulando cordic_v4.vhd - El diseño -La entrada es el ángulo en 32 bits + bit de signo; Puede procesar cualquier ángulo de 0 a +/- 360 grados con una precisión de entrada de 0,000000000233 grados. Cuando se da entrada -> MSB es el bit de signo y los 32 bits restantes representan la magnitud.-La salida del diseño es su valor seno y cos en 16 bits + bit de signo. Es decir; con precisión 0.00001526. Tenga en cuenta que la salida se muestra en forma complementaria de 2 si el valor de seno o cos respectivo es negativo. Simulando testb.vhd - Banco de pruebas para el diseño (1) Ingrese ángulos y tire reset = '0'. Después de dos pasos de simulación, reinicie a '1' y "ejecutar todo". (2) En la ventana de simulación, establezca la base de las señales sin y cos como decimal y formato> Analógico (automático). (3) Reduzca el zoom para ver la forma de onda. adecuadamente.

Paso 3: archivos adjuntos

(1) cordic_v4.vhd - Diseño. (2) testb.vhd - Banco de pruebas para el diseño.

(3) Documento sobre cómo forzar entradas de ángulos y convertir los resultados binarios.

Actualización: ESTOS ARCHIVOS SON OBSELETOS Y NO SE SUMINISTRAN MÁS. UTILICE LOS ARCHIVOS DEL SIGUIENTE PASO

Paso 4: Núcleo IP Mini-Cordic - 16 bits

La limitación de la implementación anterior es: baja frecuencia de reloj de funcionamiento debido a que se realizan cálculos en un solo ciclo de reloj. Mini-Cordic IP Core - 16 bits

- Rutas críticas distribuidas en múltiples ciclos para mejorar el rendimiento.- Más rápido - Diseño probado FPGA sintetizado hasta un reloj de 100 Mhz.- Más área optimizada en HDL, hardware menor.- Se agregan señales de estado Load y Done.- El único inconveniente es una resolución menor en comparación con el el anterior.

Entradas de ángulo de 0 a 360 grados completamente automatizadas

Archivos adjuntos: 1) archivo vhdl principal mini cordic 2) banco de pruebas mini cordic 3) manual Mini Cordic IP Core 4) Documento sobre cómo forzar ángulos y convertir resultados

Para cualquier consulta, no dude en ponerse en contacto conmigo:

Mitu Raj

sígueme:

correo: [email protected]

### Descargas totales: 325 hasta el 01-05-2021 ###

### Última modificación del código: julio-07-2020 ###

Recomendado: