Práctica 5 · Sistemas reconfigurables: CORDIC
miércoles 28 de octubre · 18:00–19:40 · en 67 días
GUÍA 28-10-26 Laboratorio de Sistemas Embebidos
CN113 · miércoles 28/10/2026 · 18:00-19:40 · Sesión 11
Práctica 5 · Sistemas reconfigurables: CORDIC
OBJETIVO DE LA PRÁCTICA
Describir sistemas reconfigurables con FPGA, como CORDIC, filtros FIR e IIR o controladores PID, con simulación e implementación. Se comienza con CORDIC.
QUÉ ES CORDIC
Un algoritmo que calcula funciones trigonométricas, hiperbólicas, raíces y logaritmos usando únicamente sumas, restas y desplazamientos. Sin multiplicadores. Por eso es ideal para hardware.
LA IDEA
Se rota un vector por ángulos cada vez menores, elegidos de modo que la rotación se implemente con desplazamientos. Después de n iteraciones el ángulo acumulado converge al deseado y las coordenadas del vector dan el seno y el coseno.
- x' = x − d·y·2^(−i)
- y' = y + d·x·2^(−i)
- z' = z − d·atan(2^(−i)), con d igual a +1 o −1 según el signo de z.
LO QUE HACE POSIBLE EL TRUCO
Multiplicar por 2^(−i) es desplazar i posiciones a la derecha, que en hardware no cuesta nada: es solo cableado. Los valores de atan(2^(−i)) se precalculan y se guardan en una tabla constante.
MODOS DE OPERACIÓN
- Rotación — se lleva z a cero; se obtienen seno y coseno del ángulo inicial.
- Vectorización — se lleva y a cero; se obtienen magnitud y ángulo del vector.
ARITMÉTICA DE PUNTO FIJO
No hay punto flotante gratis en FPGA. Se trabaja en punto fijo con formato Qm.n, decidiendo cuántos bits van a la parte entera y cuántos a la fraccionaria. Esa decisión determina el rango y la precisión, y hay que justificarla en el reporte.
VERIFICACIÓN
Calcular en Python o MATLAB los valores exactos y comparar contra la salida del circuito, graficando el error en función del número de iteraciones. Ese análisis de error es el corazón del reporte de esta práctica.
PARA LA PRÓXIMA SESIÓN
Filtros FIR e IIR.
Nada anotado en esta sesión todavía.