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 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 transistores en un IC dando como resultado la compuerta deseada. De ahí los circuitos TTL…..TransistorTTL…..Transistor- Transistor Logic. A continuación se representan representan los números de los ICs ICs comerciales y dos ejemplos ejemplos de construcción interna de compuertas lógicas
AND = 7408 = 7432 OR = NOT = 7404 NAND = 7400 = 7402 NOR = 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 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 siguiente libro de lógica digital de la serie 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 F ile New . Aparece la ventana que está a la izquierda. Se hace clic en University Progr am 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
F untional Si mulation
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 H ardware usando el módulo propuesto. E sto 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 0 0 1 1
B 0 1 0 1
Aux 1 0 0 0 1
Aux 2 0 1 1 1
Aux 3 0 1 1 0
Aux 4 1 0 1 0
Salida 0 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 H ardware usando el módulo propuesto. E sto 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 0 0 1 1
B 0 1 0 1
Aux 1 0 0 0 1
Aux 2 0 1 1 1
Aux 3 0 1 1 0
Aux 4 1 0 1 0
Aux 5 0 1 1 1
Aux 6 0 0 1 0
Salida 0 1 1 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 H ardware usando el módulo propuesto. E sto 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
[email protected]
LinkedIn https://www.linkedin.com/feed/
Ing Pedro Landaeta
Universidad Politécnica Territorial del Estado Aragua “FBF”
15