You are on page 1of 4

Preinforme N 4 - Electronica Digital 1

Grupo 6:
Nicolas Sanchez Velandia
Carlos Morales
Lizeth Azcuntar
1) Qu es una FPGA?
Una FPGA (del ingls Field Programmable Gate Array) es un dispositivo lgico
programable, es decir un dispositivo que contiene componentes lgicos programables
e interconexiones programables entre ellos. Est compuesto por una serie de bloques
lgicos que pueden ser puertas, registros, memorias, flip/flops, entre otros, de donde
se puede deducir que es un chip cuyas puertas lgicas se pueden programar y
reprogramar a nivel fsico.
2) Cules son las caractersticas ms importantes de una FPGA?
Entre las caractersticas ms importantes de las FPGA se encuentran:
- Bloques Lgicos Configurables:
Son las unidades lgicas bsicas de las FPGA y consiste en una matriz
configurable de switches con 4 o 6 inputs, algunos circuitos de seleccin (MUX),
y flip-flops. La matriz de interruptores es altamente flexible y puede ser
configurada para manejar lgica combinacional, registradores de cambio o RAM.
- Interconexiones:
Las interconexiones se encargan de enviar seales entre bloques lgicos
programables, asi como, conectar los mismos con las inputs y outputs de la FPGA.
- SelectIO (IOBs):
Los inputs y outputs en las FPGA estn agrupados y cada grupo es independiente
y capaz de soportar distintos estndares I/O.
- Memoria:
Cuentan con un Bloque de RAM Embebida que permite tenermemoria dentro de
un chip para nuestros diseos. Algunas cuentan con hasta10Mbits de memoria
repartida en bloques de 36Kbits.
- Gestin Completa de Reloj:
Se encuentra en la mayora de los FPGAs.
3) Qu arquitectura maneja una FPGA?
La arquitectura de las FPGAs, por otro lado, se basa en un gran nmero de pequeos
bloques utilizados para reproducir sencillas operaciones lgicas, que cuentan a su vez
con biestables sncronos. La enorme libertad disponible en la interconexin de dichos
bloques confiere a las FPGAs una gran flexibilidad. En la figura se puede observar
una arquitectura especfica para una FPGA XC4003E de Xilinx.

4) Cules son os lenguajes de programacin ms comunes para una FPGA?


Para programar una FPGA se requiere definir la funcin lgica que realizar cada uno
de los CLB y seleccionar el modo de trabajo de cada IOB e interconectarlos. Para
realizar el diseo se cuenta con herramientas especializadas en el diseo de sistemas
a implementarse en una FPGA. Esto se puede hacer de distintas maneras, usando el
modo esquemtico o haciendo uso de un lenguaje de programacin especial. Para este
caso hablamos de un lenguaje HDL (Hardware Description Language).
Los lenguajes ms usados son:
- VHDL
- Verilog
- ABEL.
5) Cul es la configuracin de una Nexys 3 y Nexys 4 al momento de crear un
proyecto en Xilinx?
- Nexys 3:
Procesador: XC6SLX16, Referencia: CSG324C, Velocidad: -2 (Caso
Especifico).
- Nexys 4:
Procesador: XC7A100T, Referencia: 1CSG324C, Velocidad: 3 (Caso
Especifico).

6) Qu es VHDL?
VHDL significa very-high-speed integrated circuits hardware description language o
lenguaje de descripcin de hardware de circuitos integrados de muy alta velocidad.

Como indica su denominacin es un lenguaje usado para describir circuitos internos


y la programacin de FPGAs. Estos lenguajes presentan un mismo objetivo y se
diferencia del clsico C (o cualquiera parecido a este) por ser un lenguaje paralelo no
secuencial. Un programa realizado en VHDL puede parecer como un programa de
computadora clsico (secuencial) y puede procesar los datos en los cambios de flanco
del clock, pero hay que recordar que todo est funcionando a la vez (paralelo).

El lenguaje se encuentra definido bloques tambin. Cada funcin que deseamos, es a


nivel superior definida por una entidad donde se especifica las entradas y salidas
del bloque, adems, el lenguaje VHDL contiene otros comandos ms complejos que
pueden existir dentro de la arquitectura como Loops While, If y If-Else. Todos los
tipo de cosas que se ven en la programacin en C. Sin embargo, cuando se define un
bucle en C el cdigo da vueltas y vueltas, en VHDL que en realidad podramos estar
diciendo que genera mltiplos bloques idnticos de lgica y que todos ellos procesen
los datos en un ciclo de clock si as se requiere.

7) Qu es Verilog?
Verilog es un lenguaje de descripcin de hardware (HDL, del Ingls Hardware
Description Language) que es usado para modelar sistemas electrnicos. El lenguaje,
algunas veces llamado Verilog HDL, soporta el diseo, prueba e implementacin de
circuitos analgicos, digitales y de seal mixta a diferentes niveles de abstraccin.
Cabe destacar que es lo ms extensamente posible HDL usado con una comunidad de
usuario ms del active de 50.000 diseadores.
8) Diferencias entre verilog y VHDL:
La diferencia ms notoria entre los dos lenguajes de programacin es la simplicidad
de la introduccin de cdigo, ya que en VHDL se requiere ms rigor y extensin a la
hora de programar una FPGA, mientras que en Verilog es ms sencillo hacer los
mismos procedimientos, por lo cual la extensin del cdigo es menor.
Otra diferencia es el orden de compilacin, ya que en verilog es necesario tener un
orden especfico de compilacin, mientras que en VHDL es ms sencillo y puede
generar menos errores.

En VHDL la librera debe estar presente en el cdigo, mientras que en verilog no


existe concepto de librera.

You might also like