Está en la página 1de 15

Compuertas Lógicas usando FPGA

Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del
Estado Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela

16 de Junio 2018

DESARROLLO
Las compuertas lógicas AND, OR, NOT y XOR se construyen con transistores en circuitos
integrados (IC), Todo esto usando semiconductores integrando los transistores en un IC dando como
resultado la compuerta deseada. De ahí los circuitos TTL…..Transistor- Transistor Logic. A
continuación se representan los números de los ICs comerciales y dos ejemplos de construcción
interna de compuertas lógicas

 AND = 7408
 OR = 7432
 NOT = 7404
 NAND = 7400
 NOR = 7402
 XOR = 7486

Lo que se desea resaltar aquí es que para cada compuerta hay un IC con una construcción particular.
Cada una con su tabla de verdad con sus entradas y salidas

Compuerta AND

Tabla de la verdad Símbolo

Cada compuerta posee su combinación particular para


su tabla de la verdad. El símbolo también es diferente. Se
recomienda el siguiente libro de lógica digital de la serie
SCHAUM cuyo autor es Roger Tokheim. Muy completo
para entender todo lo básico de digitales. Lo correspondiente a sistemas de numeración, compuertas,
circuitos que combinan varias compuertas y además posee teoría y práctica de circuitos secuenciales.
Esta es la portada del Libro usado para tenerlo como guía referencial en el trabajo que se quiere
plantear para estudiar compuertas lógicas y circuitos combinacionales.
Todo esto servirá como base para resaltar la aplicación de las
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

FPGAs en la síntesis de circuitos digitales en base a compuertas lógicas.


La síntesis se refiere a la representación circuital usando herramienta software de una descripción en
VHDL ( Very High Speed Integrated Circuit Hardware Description Language). En la siguiente
dirección web http://edii.uclm.es/~miniesta/sintesis.pdf se representa muy claramente lo que es la
síntesis de circuitos digitales.
¿Qué significa FPGA?, Field Programmable Gate Array (Arreglo o Matriz de Compuertas
Programables en el Campo). Ese “Campo” es el IC FPGA. Donde su programación es lograda
gracias al software ofrecido por la empresa fabricante ya sea ALTERA, XILINX, Microsemi, Lattice
Semiconductor, Atmel o Achronix Semiconductor, además de otros fabricantes más pequeños. Y en
este sentido MarketsandMarkets agrega en su reporte (https://www.electronicosonline.com/fpgas-
produciran-ganancias-por-7-mil-mdd-en-2022/ ) el impacto de las diferentes tendencias tecnológicas
en el 2017, lo que subraya como capital importancia para los ingenieros desarrolladores el conocerlo,
ya que la información puede ser útil al momento de guiarse para observar las tendencias sobre nuevas
herramientas, productos y nichos de negocios para sistemas FPGAs. En mi caso estoy trabajando con
ALTERA. No fue nada especial su elección en el momento, pero ahora puedo decirles que valió la
pena, ya que las FPGAs de ALTERA traen consigo la garantía INTEL (empresa reconocida
mundialmente por la fabricación de µp para computadoras). INTEL compra ALTERA en 2015 y esto
se convierte en una ventaja adicional a los Microprocesadores (µp) que INTEL fabrica. Mejoras en la
velocidad, mejores características de los µp XEON para servidores y esperan impactar en lo que
respecta a Machine Learning, IoT y otras tecnologías futurísticas.

La idea de esta investigación es construir un laboratorio portátil para aprender la tecnología FPGA.
Basado en un módulo contentivo de la tarjeta cyclone II de Altera, ver la figura siguiente.

2
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Lo que se ve en la figura está bien, es el módulo para la enseñanza de FPGA. Pero falta algo
importante, los montajes que se van a realizar. Los circuitos lógicos combinacionales y secuenciales.
Entonces la idea es construir un paquete de prácticas con los aspectos básicos: a) el circuito lógico,
b) la descripción en VHDL, c) Compilación, d) la síntesis, e) la simulación y f) El montaje en
hardware usando el modulo……La parte “f” quedará para otra guía que se hará y publicará por esta
misma vía.
Todo lo anterior se está proponiendo para presentar como trabajo de maestría la construcción de un
módulo para la enseñanza de la tecnología FPGA. Lo que implica tener a la mano un equipo para
enseñar VHDL y lenguaje C para µp. Y conocer el software QUARTUS II, que es la base para poder
emprender cualquier proyecto con los FPGA de ALTERA. Todo acompañado con su manual y una
guía de prácticas dirigidas a dar los primeros pasos de la mano de un material hecho en nuestro idioma.

EJEMPLO DE APLICACIÓN

Se hace entonces el primer paso que


consiste en hacer el circuito que se
desea describir usando VHDL.

El siguiente paso es contar con el software adecuado


que debe ser obligatoriamente de la misma empresa
fabricante de la tarjeta. En este caso se usará Quartus
II web edition 13.0 sp1. Por ejemplo si la tarjeta fuera
con un fpga Spartan 3 el software debiera ser de
XILINX y usaríamos ISE web pack. Y así debe
cumplirse para Lattice y ATMEL.

La figura a la derecha muestra la ventana de


arranque del software Quartus II.

3
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

En la siguiente dirección web se encuentra una guía donde se explica lo concerniente a iniciarse con el
software Quartus II. También se indica donde descargarlo
https://es.scribd.com/document/376832662/Guia-de-FPGA-Cyclone-II-de-la-empresa-ALTERA

A continuación se presenta la descripción en VHDL del circuito de las cuatro compuertas planteado
en la página anterior

Un comentario importante es que todo programa en VHDL está compuesto por

Las librerías: son diversas, pero la que lleva todo programa es

Library IEEE;
use IEEE.std_LOGIC_1164.ALL;
La entidad (entity): es donde se definen las entradas y salidas
entity nombre_proyecto is
end nombre_proyecto;

La arquitectura: es donde se programa lo que se hará en el proyecto


Architectura behavioral of nombre_proyecto is
begin
end behavioral;

4
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Toca ahora la parte de compilación

Si todo está correctamente en la descripción saldrá


este mensaje.

Si lo van a simular nada más no se preocupen por


los warnings que aparecen en el mensaje.

Si se va a usar una tarjeta FPGA las warnings


disminuyen. No obstante, siempre quedan warnings. Así que bajo ninguna circunstancia deben
preocuparse.

Más adelante se verá la forma de eliminar por completo todas las warnings. Siempre es recomendable
que no existan ya que puede traer problemas, eventualmente, en la ejecución del software realizado.

5
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

El proceso de compilación nos arroja la síntesis circuital. Siguiendo la ruta dada en la siguiente figura
llegamos a la vista RTL

Circuito que nos muestra la interpretación dada por la


descripción VHDL. Que a la postre fue el circuito que
originalmente se dibujó más arriba como el circuito que
se quería describir con VHDL.

La prueba definitiva que nuestro circuito será


exactamente el que se quería montar originalmente se
debe hacer la compilación que trae consigo
automáticamente la síntesis circuital. Luego llegando en
la barra de menú hasta el RTL viewer se verá el circuito que arroja el software usado, sea QUARTUS
II o ISE WEBPACK

6
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Ahora toca la simulación

Primero buscamos File  New . Aparece la ventana que está a la izquierda.


Se hace clic en University Program VWF . Al hacer lo anterior aparecerá la ventana a la derecha
Luego se le da clic en el botón Node Finder

Para cerrar lo anterior se le da clic al botón OK

7
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Después de lo anterior se
llega a la siguiente ventana y
para la opción de ventana
clock damos clic en este icono
de la barra de herramientas

Entonces se seleccionan las


entradas y se le asigna un

tiempo a cada una. En este


caso que se estudia se le
asignó 100 ms en alto y bajo
a la entrada A. Y 200 ms en
alto y bajo a la entrada B

Luego se da clic en Run


Funtional Simulation

Esta es una ventana


dinámica que va fluyendo
estilo compilación.

Es un programa adicional
que ocurre especialmente
para la simulación

8
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Después de la compilación anterior se tiene la siguiente ventana contentiva de las señales de salida

Si se observa cada una de las salidas se ve que se cumple la tabla de la verdad de las compuertas
estudiadas

Queda pendiente el montaje en Hardware usando el módulo


propuesto. Esto se hará para la próxima guía

9
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

EJEMPLO DE APLICACIÓN 2

Tabla de la verdad

A B Aux 1 Aux 2 Aux 3 Aux 4 Salida


0 0 0 0 0 1 0
0 1 0 1 1 0 0
1 0 0 1 1 1 0
1 1 1 1 0 0 0

Programa en VHDL del circuito


que se quiere describir. Y también
se tiene el resultado de la síntesis
circuital interpretada por el
software

10
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

La simulación comprueba la tabla de la verdad. Ya que se ve que la salida es “0” todo el tiempo

Queda pendiente el montaje en Hardware usando el módulo


propuesto. Esto se hará para la próxima guía

11
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

EJEMPLO DE APLICACIÓN 3

Tabla de la verdad

A B Aux 1 Aux 2 Aux 3 Aux 4 Aux 5 Aux 6 Salida


0 0 0 0 0 1 0 0 0
0 1 0 1 1 0 1 0 1
1 0 0 1 1 1 1 1 1
1 1 1 1 0 0 1 0 1

Descripción en VHDL

12
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Circuito resultante de la síntesis circuital

Señales producto de la simulación. Chequear que la salida cumple con la tabla de la verdad

Queda pendiente el montaje en Hardware usando el módulo


propuesto. Esto se hará para la próxima guía

13
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

EJERCICIOS PROPUESTOS

1.- Hacer el programa VHDL, Compilación, Síntesis


y Simulación del inversor doble dado

2.- Hacer el programa VHDL, Compilación, Síntesis y Simulación del circuito combinacional dado.
Compruebe la tabla de la verdad

3.- Hacer el programa VHDL, Compilación, Síntesis y Simulación del circuito combinacional dado.
Compruebe la tabla de la verdad

14
Trabajo Presentado por Pedro Landaeta. Profesor de la Universidad Politécnica Territorial del Estado
Aragua “Federico Brito Figueroa” . Estado Aragua – Venezuela. 16 de Junio 2018

Todos los ejercicios fueron tomados del libro recomendado inicialmente de la serie Schaum
principios digitales de Roger L. Tokheim

Espero con esto haber aclarado unas cuantas dudas más sobre la tecnología FPGA y así apoyar a los
que quieren iniciarse en ésta línea de trabajo tal como yo lo estoy haciendo.

Junio 2018

Pedro Landaeta

Seguimos en contacto landaetabiz@gmail.com Ing Pedro Landaeta


LinkedIn https://www.linkedin.com/feed/ Universidad Politécnica Territorial del Estado Aragua “FBF”

15