Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2. Que es un firmware?
R= El firmware es un bloque de instrucciones de máquina para propósitos
específicos, grabado en un chip, normalmente de lectura/escritura (ROM,
EEPROM, flash, etc.), que establece la lógica de más bajo nivel que controla los
circuitos electrónicos de un dispositivo de cualquier tipo.
3. Que es IEEE?
R= IEEE corresponde a las siglas de en español Instituto de Ingenieros
Eléctricos y Electrónicos,
4. Secuencia Diferencial.
R=
5. Que es un PLD?
R= PLD son las siglas de Programmable Logic Design o dispositivos de lógica
programable. Estos circuitos integrados permiten generar dentro del mismo
funciones que no disponemos en los C.I. comerciales (decodificadores,
comparadores, sumadores, etc).
6. -------
7. Que es un diagrama de estado?
R= un diagrama de estados es un diagrama utilizado para identificar cada una
de las rutas o caminos que puede tomar un flujo de información luego de
ejecutarse cada proceso.
Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y
en qué momento podrían tener una variación.
El diagrama de estados permite visualizar de una forma secuencial la ejecución
de cada uno de los procesos.
Una máquna de Moore se define como una tupla (secuencia finita) de 5{S, Σ, Λ, T, G}
que consiste de:
• Un conjunto finito de estados ( S )
• Un conjunto finito llamado alfabeto de entrada ( Σ )
• Un conjunto finito llamado alfabeto de salida ( Λ )
• Una función de transición (T : S × Σ → S) que dirige a cada estado y a una entrada al
siguiente estado. •
Una función de salida (G : S → Λ) que dirige a cada estado al alfabeto de salida.
9. Que es un Latch?
R= s un circuito electrónico biestable asíncrono usado para almacenar información en
sistemas lógicos digitales. Un latch puede almacenar un bit de información, asimismo
los latches se pueden agrupar de tal manera que logren almacenar más de 1 bit,
ANTECEDENTES FPGA
Las FPGAs fueron inventadas en el año 1984 por Ross Freeman y Bernard Vonderschmitt, co-
fundadores de Xilinx, y surgen como una evolución de los CPLDs.
Tanto los CPLDs como las FPGAs contienen un gran número de elementos lógicos programables. Si
medimos la densidad de los elementos lógicos programables en puertas lógicas equivalentes
(número de puertas NAND equivalentes que podríamos programar en un dispositivo) podríamos
decir que en un CPLD hallaríamos del orden de decenas de miles de puertas lógicas equivalentes y
en una FPGA del orden de cientos de miles hasta millones de ellas.
Aparte de las diferencias en densidad entre ambos tipos de dispositivos, la diferencia fundamental
entre las FPGAs y los CPLDs es su arquitectura. La arquitectura de los CPLDs es más rígida y
consiste en una o más sumas de productos programables cuyos resultados van a parar a un
número reducido de biestables síncronos (también denominados flip-flops). La arquitectura de las
FPGAs, por otro lado, se basa en un gran número de pequeños bloques utilizados para reproducir
sencillas operaciones lógicas, que cuentan a su vez con biestables síncronos. La enorme libertad
disponible en la interconexión de dichos bloques confiere a las FPGAs una gran flexibilidad.
Otra diferencia importante entre FPGAs y CPLDs es que en la mayoría de las FPGAs se pueden
encontrar funciones de alto nivel (como sumadores y multiplicadores) embebidas en la propia
matriz de interconexiones, así como bloques de memoria.
De esta aplicación se derivan una gran variedad de aplicaciones de las FPGA, citándose algunas de ellas a
continuación:
Sistemas de visión artificial: en el mundo actual existen cada vez en más número dispositivos que
disponen de un sistema de visión artificial. Ejemplo de esto son las cámaras de videovigilancia, robots, etc.
Muchos de estos dispositivos precisan de un sistema para conocer su posición, reconocer los objetos de su
entorno, reconocer rostros de personas, y poder actuar e interactuar con ellos de la forma adecuada. Esta
característica requiere manejar unos volúmenes de imágenes muy elevados, tratar dichas imágenes para
detectar objetos, reconocer rostros, etc., en la gran mayoría de ocasiones en tiempo real.
Sistemas de imágenes médicas: cada vez con más frecuencia se están empleando las FPGAs para el
tratamiento de imágenes biomédicas obtenidas mediante procesos de PET, escáner CT, rayos X, imágenes
tridimensionales, etc. Estos sistemas de visión médica cada vez precisan de más resolución y de una
capacidad de procesamiento mayor, incluso muchas necesitan poder desarrollarse en tiempo real, por lo
que las prestaciones que ofrecen las FPGAs de frecuencia y procesamiento en paralelo se adaptan muy
bien a estas necesidades.
Radio definida por software: de forma tradicional, una radio consistía en una antena, encargada de
recibir y enviar una señal, y un hardware encargado de procesar esa señal, filtrarla, modificar su
frecuencia, etc. Este hardware no podía modificar de forma notable la funcionalidad para la cual había
sido diseñada. En la actualidad gran parte de esta funcionalidad se traslada a un dispositivo electrónico,
que con frecuencia suele ser una FPGA, pudiendo limitarse la parte analógica a una antena y a los
convertidores ADC y DAC.
La principal ventaja de este tipo de radio es que su funcionalidad viene definida por el diseño del
software, de forma que su modificación o actualización es sencilla y no precisa de la sustitución de
ningún elemento de hardware.
ieee BIBLIOTECA;
USO ieee.std_logic_1164.AL L;
USO ieee.std_logic_unsigned.A LL;
ENTIDAD sumaca ES
PORT
(A, B: EN std_logic_vector (3 downto 0);
ci: en std_logic
;S: std_logic_vector cabo (3 downto 0);
co: Fuera std_logic);
FIN sumaca;
ARQUITECTURA ENTERA DE sumaca ES
suma de la señal:std_logic_ve ctor (4 downto 0);
EMPEZAR
suma <=('0' & A) + B + ci;S <= SUMA (3 downto 0);
co <= SUMA (4);
FIN ENTERA;
decodificador completo de 3 Entradas (I2, I1, I0) y 8 Salidas(S7, S5, S4, ...,
S0)
IEEE biblioteca;
usoieee.std_logic _1164.all;
ejemplo04 entidad es
puerto
(I: enstd_logic_v ector (3 DOWNTO 0);
S: Fuerastd_logic_v ector (7 DOWNTO 0));
ejemplo04 fin;
arquitectura rtl de ejemplo04 se
comienza
con E seleccione
S <= "00000001" cuando "000",
"00000010" cuando "001",
"00000100" cuando "010",
"00001000 "cuando" 011 ",
" 00010000 "cuando" 100",
" 00100000 "cuando" 101",
" 01000000 "cuando" 110",
" 10000000 "cuando los demás;
rtl fin;
EJEMPLOS VERILOG
CONTADOR 2BITS
module contador(
input clk, //Declaramos la entrada clk
input clr, //Declaramos la entrada clr
output reg [3:0] Q //Declaramos el bus de salida Q.
);
module cont_despN #(
parameter N=4)(
input clk,
input clr,
output reg [N-1:0] Q
);
endmodule