Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia 1 SDI115 PDF
Guia 1 SDI115 PDF
Hay ciertas peculiaridades con respecto a las FPGAs, y es que al igual que varias placas, esta
puede ser programada tantas veces como se desee, pero al contrario de las placas Arduino,
Raspberry Pi, un CPLD, etc, las FPGAs cuando son desenergizadas, requieren que se les cargue
el software nuevamente para funcionar.
Diferencias entre un CPLD y una FPGA: Ambos son placas lógicas digitales programables,
fabricadas por las mismas compañías, pero difieren en algunas características:
1. Las FPGAs contienen hasta 100,000 pequeños bloques lógicos con flip flops,
mientras un CPLD contiene máximo unos centernares de estos bloques.
2. Las FPGAs se basan en memoria RAM, por lo que deben ser configuradas cada vez
que se energizan, mientras que los CPLDs están basados en memoria EEPROM y no
requieren que se les cargue el programa después de haberse desenergizado.
3. En los FPGAs se pueden implementar eficientemente funciones aritméticas, como
contadores binarios, sumadores, comparadores, etc, ya que tiene interconexiones
de acarreo de alta velocidad, mientras que en los CPLDs no las hay.
4. En general, los diseños que puede soportar un FPGA son mucho más grandes y
robustos que los que soporta un CPLD.
Las FPGAs están construidas a partir de una celda lógica replicada miles de veces dentro
de la placa. Esta celda lógica se compone de:
1. Una pequeña LUT: (LookUp Table, que para efectos prácticos, se puede definir
como una tabla de verdad), es un segmento combinacional, al que se le puede
definir la salida, de acuerdo a determinadas entradas. La ventaja de esta forma de
definir una función recae en la velocidad de operación. Si se definiera un algoritmo
para determinar la salida, el proceso se haría mucho más largo.
2. Un flip flop D.
3. Un mux de 2 a 1, utilizado generalmente para poder saltarse en flip flop.
Todas estas pequeñas celdas lógicas están interconectadas entre sí, y también tienen
comunicación con celdas I/O de entrada y salida que se conectan a los pines de la FPGA, y
que sirven como puentes entre estímulos exteriores y la lógica interna del chip.
11- Luego se pide asignar los pines in y out, para esta práctica se definirán dentro del código.
12- Se abre el archivo .vhd
Codigo VHDL :
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity convertidor is
end convertidor;
architecture Behavioral of convertidor is
begin
process (Entrada)
begin
case Entrada is
end case;
end process;
Configuración para la implementación en la FPGA.
Luego de haber programado en VHDL se debe realizar la síntesis en vivado lo cual cumple con
lo siguiente:
1- Luego de haber programado en VHDL se debe realizar la síntesis en vivado lo cual cumple
con lo siguiente:
8- Se muestra lo siguiente
9- En esta parte se debe asignar los pines a usar en nuestra FPGA para ello vemos la
arquitectura de este:
Luego se asignan los pines como sigue:
10 - presionamos en guardar
Y ok
Con este último paso se genera el archivo .bit el cual se ingresara a la FPGA.
Referencias: