Flip Flops Con VHDL

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA

Views 123 Downloads 8 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Flips – Flops usando FPGA Introducción La siguiente investigación se realiza con el fin de seguir reforzando el proyecto de trabajo de grado de maestría construcción de módulo de enseñanza de electrónica digital usando FPGA. El tema que toca ahora es Flip – Flops y fue seleccionado después de una preselección de temas hechos en base a la secuencia lógica que debería proseguir.

Diagrama que esboza todos los posibles temas a estudiar Se eligió lo de Flip – Flops porque los contadores dependen de ellos. Luego de esto, se arranca el trabajo con el concepto de Flip – Flop y luego se muestra su fabricación interna a base de compuertas. Las que más se usan son las NAND y las NOR. Como este material se piensa sea didáctico se habla de todos los aspectos relacionados con el tema, aunque al final se termine teniendo una serie de líneas de código que pareciera que no dicen nada pero, si entendemos lo básico seguro se llega a entender más rápido la codificación. Por ejemplo, estar claros que un Flip – Flop se activa por flanco de reloj es vital para entender la codificación del clock en VHDL if (clock = ‘1’ and clock ‘event) then . Esta línea de comando se encuentra en las cuatro descripciones de VHDL correspondiente a cada Flip – Flop, entiéndase SR, D, JK y T. En base a lo anterior, esta investigación arranca con el circuito correspondiente al LATCH SR con habilitación usando compuertas. Bueno, como dije anteriormente la idea es ir desde lo básico. Entonces….¿qué es un LATCH? - es un enganchador. ¿Y qué engancha?..--> un bit que guarda y lo deja ahí fijo hasta ciertos cambios en la entrada. Esto lo convierte en una memoria de 1 bit. Aunque es muy limitado es el principio básico de las grandes memorias de muchos MBytes y GBytes. Porque esta reúnen muchos Latches al final de cuenta.

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Ahora, ¿Latches y Flip – Flops?  Bien, son básicamente lo mismo a nivel circuital con la única diferencia que uno funciona con nivel alto del pulso de habilitación suministrado y los Flip – Flops funcionan con flanco de reloj. Y estos en definitiva vienen a ser los circuitos secuenciales Asíncronos y Síncronos El trabajo sigue con los Flip – Flops en Circuito Integrado (IC), se muestra el tipo D 7474, el JK 7476 y el LATCH SR de tecnología CMOS 4043 y 4044. Luego se toca el tema de la construcción del módulo como tal, en que consiste, como ampliarlo y que se piensa hacer con él. Luego vienen los softwares que se usan para simular todo lo que se quiere trabajar. Se usan Demos y software Libres. Después viene la codificación de cada Flip – Flop en VHDL. A cada codificación le sigue el RTL dado por el software Quartus II. Además de esto se le agrega la simulación usando compuertas y usando IC de cada Flip – Flop confirmando en cada una su tabla de la verdad.

Diagrama que esboza las cosas que se pueden hacer con el software Quartus II Se va cerrando la investigación hablando algo de software Libre y hardware Libre en las FPGAs y resaltando de alguna manera cual es el centro de la investigación, que en mi caso es la construcción de un módulo para enseñar electrónica digital usando FPGA. Se cierra la investigación con las conclusiones, cosas pendientes, referencias de Internet y un apéndice con cosas adicionales que pueden ayudar a complementar este trabajo

Landaeta Pedro 2463

Pedro Landaeta Prof Jubilado de la uPT de aragua “fbf” Septiembre 2018

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Concepto de Flip - Flops El flip-flop es un circuito lógico biestable, es decir posee dos estados estables, denominados SET (‘1’ o activación) y RESET (‘0’ o desactivación), en los cuales se puede mantener indefinidamente, lo que permite el almacenamiento de un bit. Los flip-flops se implementan con puertas lógicas o IC (Integrated Circuit) comerciales y son los bloques básicos de construcción de contadores, registros y otros circuitos de control secuencial. También se emplean en ciertos tipos de memorias.

El circuito básico del flip-flop usando compuertas lógicas es el que se muestra a continuación. R y S: Entradas del Flip – Flop y C: Entrada de habilitación. La tabla de la verdad queda S 0 1 0 1

R 0 0 1 1

Q Qn-1 1 0 x

Not Q Not Qn-1 0 1 x

La tabla dada funciona para C = 1 Para C = 0 queda Q = Qn-1 Figura 1.- Flip – Flop SR con puertas NOR

𝑆̅ 𝑦 𝑅̅ : Entradas del Flip – Flop y C: Entrada de habilitación. La tabla de la verdad queda 𝑺̅ 0 1 0 1

̅ 𝑹

0 0 1 1

Q

Not Q

x 0 1 Qn-1

x 0 1 Not Qn-1

La tabla dada funciona para C = 1 Para C = 0 queda Q = Qn-1 = x Figura 2.- Flip – Flop SR con puertas NAND ¿qué significa S y R negado?, que la lógica de funcionamiento será lo contrario a lo esperado. Es decir, si S  Set: puesta a 1 se coloca un 1…..no será como se espera Q = 1…….sino que Q será igual a 0

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 3 a.- Flip – Flop SR NOR

Figura 3 b.- Flip – Flop SR NAND

A la final se puede ver toda la construcción anterior en base a compuertas como una sola caja con una serie de entradas y salidas. Las dos cajas anteriores son la base para los IC correspondientes a Flip – Flops SR construidos usando compuertas NOR y compuertas NAND

Otros Flip-Flops usando compuertas lógicas

Figura 4a.- Distintos LATCHES y sus circuitos con compuertas

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 4b.- Flip – Flop JK , T y sus características

Flip Flop con circuito Integrado En él se puede ver el IC 4043, 4044, 7474 y el 7476. Estos se encargan en un solo chip ( IC) de lo que hacen las compuertas en forma discreta. Hay una forma mayor de discretización y es la de hacer las compuertas a base de transistores, pero no es tema de esta investigación.

Figura 5a.- IC 4043 es un quad (R/S) construido a base de compuertas NOR

Figura 5b.- IC 4044 es una latch Quad R/S construido a base de compuertas NAND

Figura 6a.- IC 7474 es un Flip – Flop D dual Con Preset y Clear

Figura 6b.- IC 7476 es un Flip – Flop JK dual

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

¿Por qué trabajar con Flip-Flops? Son la unidad básica de memoria. Con ellos se comienzan a estudiar los sistemas secuenciales y se comienzan a dar los primeros pasos para aprender a construir contadores, registros y otros dispositivos relacionados con circuitos secuenciales. Por lo tanto, son el medio ideal para iniciar un curso de lógica secuencial y de entender la importancia de los sistemas secuenciales y sus diferencias.

Aplicación de Flip-Flops en electrónica digital En estos tiempos, siglo XXI año 2018, parece innecesario trabajar con estos dispositivos. Pero la importancia que estos poseen es que introducen al estudiante en la teoría básica de construcción de memorias, registros y contadores que al final se aplican en sistemas embebidos e informática. Si se ve más allá de los Flip-Flops se podría pensar en sistemas secuenciales de uso cotidiano como los cajeros automáticos, semáforos y aplicaciones industriales varias.

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Construcción de módulo para la enseñanza de Electrónica Digital con tecnología FPGA Al tener la tarjeta FPGA básica solamente, es útil ir pensando en agregarle utilidades y potencialidades al sistema digital comenzando con un display 7 seg.

(a) (b) Figura 7.- Esto es a lo que se le llama tarjeta básica. (a) Una caricatura y (b) la tarjeta real Lo que se propone en la investigación es montar el FPGA sobre un acrílico y colocar a su lado un tablero de montajes conocido comúnmente como proto board . Y usando cables DUPONT se puede interconectar la FPGA con los componentes que se agreguen al sistema por medio del tablero de montajes. Los cables DUPONT necesarios para estas conexiones son del estilo Macho-Hembra, ver dibujo a su derecha en la figura 8. Al final se contará con un sistema o modulo para la enseñanza de Electrónica Digital usando la tecnología FPGA con su paquete de prácticas y algo importante que sea portátil así podrá trabajar el instructor en el salón de clases, el laboratorio o cualquier lugar acordado con los estudiantes. Figura 8.- Cables Dupont necesarios en el proyecto.

Figura 9.- Vista del sistema con Display y los suiches

El módulo de la figura 7a es muy básico y no posee elementos adicionales para completar los proyectos electrónica digital. Necesario es como mínimo un display 7 segmentos (seg). Al agregarle el display 7 seg el módulo queda como se muestra a la izquierda Para seguir empoderando el módulo propuesto se debe agregar una suichera de mínimo 4 suiches para que formen parte del

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

sistema de enseñanza de manera fija. El uso de estos suiches sería inicialmente para construir el código BCD para hacer la conversión BCD  7 seg. Otras cosas que se podrían agregar para empoderar aún más el sistema de enseñanza sería: a) Construir un arreglo de display 7 seg de por lo menos 4 displays fijos en el sistema para cuando toque trabajar con contadores. b) Agregar una pantalla LCD 16x2 , 20x4 u otras c) Agregar un arreglo de 8 pulsadores y 8 LEDs y d) Agregar un circuito oscilador usando el IC 555 para usarlo en sistemas secuenciales síncronos Todo esto podría servir para comenzar con los contadores usando Flip – Flops, para trabajar con registros de desplazamiento y en general con aplicaciones de circuitos secuenciales. Con respecto a la programación del FPGA, a medida que avanza esta investigación se comienza a ver que hay varias maneras de hacer los programas en VHDL……..o hablando con mayor exactitud las descripciones en VHDL. Por ejemplo en el caso de los Flip - Flops existen varias formas pero aquí se usa process con if . Para efectos de la simulación con Quartus II es indiferente la forma en que se haga. Si se va a usar el software TINA se puede elegir cualquier estilo de programación que se use porque lo que interesa es la extensión .vhd Figura 10.- Ventana de identificación del software TINA

TINA es un software de simulación de circuitos eléctricos y electrónicos que adicionalmente permite, usando MACROS, simular los códigos hechos en VHDL con extensiones .vhd. Este software es fabricado por la empresa DesignSoft. Es un software propietario, por eso la versión que aquí se recomienda es un demo que se descarga de Internet con la autorización del fabricante DesignSoft. Este es el software que usa la empresa Texas Instruments para probar sus componentes. Para efectos de Quartus II no hay inconveniente porque usando Pin Planner se ve claramente que se pueden asignar los pines correspondientes a las entradas y salidas del Flip Flop y la del Clock. Tomando en cuenta que TINA es un software propietario, se hizo una búsqueda de software’s de simulación de circuitos electrónicos discretos y digitales que fueran de código abierto o gratis. En primer lugar se encontró a EasyEda . Tiene como características que es gratuito y se trabaja desde la nube. El interesado debe registrarse para comenzar a trabajar con él.

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 11.- Ventana de identificación del software Easy EDA

Figura 12.- Ventana de identificación del software LOGISIM

Figura 13.- Ventana de identificación del software LOGIC GATE SIMULATOR

Otro software, en éste caso Libre que se puede usar para simulación, exclusivamente de Lógica Digital es el conocido como Logisim. Logisim es una herramienta educativa de libre distribución (free – ware) para el diseño y simulación de circuitos lógicos digitales. Dispone de una sencilla interfaz, y las herramientas son lo suficientemente simples como para facilitar el aprendizaje de los conceptos más básicos relacionados con los circuitos lógicos. Este programa tiene la capacidad de permitir construir circuitos más grandes a partir de circuitos más pequeños. Logisim se puede usar para diseñar y simular circuitos con fines educativos.

Debido a limitaciones del software LOGISIM para simular el Flip – Flop JK tuve que buscar otro software. En este caso el Logic Gate Simulator. El software LOGISIM se quedaba oscilando y bloqueaba el circuito Flip – Flop JK Construido con compuertas NOR en la condición J = K = 1. Como se sabe, esta es una condición de salida Q  Toggle (que cambia de estado con cada flanco de reloj) y este software no pudo resolverla. De repente si algún conocedor con mayor

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

experiencia en LOGISIM lee este trabajo podría ayudarme a saber como resolver esta situación. Este es mi correo [email protected] . Este Otro software, Logic Gate Simulator de filosofía Libre que se puede usar para simulación exclusivamente de compuertas lógicas se usó para resolver el problema del Flip – Flop JK usando compuertas lógicas y los resultados fueron FAVORABLES. Cumplió con la tabla de la verdad del Flip – Flop JK y fue muy rápido para ambientarse en el software y también rápido lo que respecta conocer su funcionamiento. Logic Gate Simulator es una herramienta open-source para experimentar con él y aprender acerca de compuertas lógicas. La herramienta de simulación fue originalmente diseñada para estudiantes de CIS (Computers Information Systems) en South Puget Sound Community College (Ubicado en el estado de Washington, USA) pero es libre para el que lo quiera usar y modificar bajo la licencia GPL v3. La Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General Public License (o simplemente sus siglas en inglés GNU GPL) es una licencia de derecho de autor ampliamente usada en el mundo del software libre y código abierto, y garantiza a los usuarios finales (personas, organizaciones, compañías) la libertad de usar, estudiar, compartir (copiar) y modificar el software. Su propósito es doble: declarar que el software cubierto por esta licencia es libre, y protegerlo (mediante una práctica conocida como copyleft) de intentos de apropiación que restrinjan esas libertades a nuevos usuarios cada vez que la obra es distribuida, modificada o ampliada. Esta licencia fue creada originalmente por Richard Stallman fundador de la Free Software Foundation (FSF) para el proyecto GNU. Logic Gate Simulator está escrito en C#/WPF usando .NET 4 Para cerrar en esta investigación lo correspondiente a softwares, Se les presenta una versión DEMO de PROTEUS y servirá para chequear lo que quede pendiente de los Flip – Flops a nivel de circuito integrado (IC) y así tener otra perspectiva de los circuitos secuenciales. La misma se llama

Proteus Professional Demostration Esta opción se buscó porque hay limitaciones para probar a nivel de IC el Flip – Flop JK con los softwares LOGISIM y Logic Gate Simulators. En lo que respecta a TINA DEMO debo estudiarlo más porque no logro que los montajes me corran como debe ser. Aclaro y repito, soy yo el que necesita conocer más el software TINA. Para próximas investigaciones le dedicaré más tiempo.

Figura 14.- Ventana de identificación del software PROTEUS Demostration Por otro lado, el Proteus Professional Demostration está pensado para futuros clientes quienes elijan evaluar nuestros productos de nivel profesional. Esta versión incluye todas las características ofrecidas

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

por el sistema profesional incluyendo diseño de PCB basado en netlist con auto-colocación de componentes, auto.ruteo y simulación basada en gráficas. Las limitaciones de la versión demostration son las siguientes  Tiempo de prueba ILIMITADO  Extenso conjunto de diseños de muestras incluidas para ayudarte a evaluar todos los aspectos del software  Puedes escribir tu propio software para correrlo en diseños de muestras existentes para propósitos de evaluación  Puedes solamente imprimir diseños de muestras de Layouts y esquemáticos  No puedes salvar tu trabajo  No puedes simular tus propios diseños de microcontroladores

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Código de los diferentes Flip - Flops usando VHDL Ya con el estudio hecho de los Flip - Flops nos queda solamente hablar del lenguaje VHDL (Very High Speed Integrated Circuit Hardware Description Lenguage). Éste es un Lenguaje de Descripción de Hardware (HDL en Inglés) que permite modelar circuitos electrónicos, desde su comportamiento hasta su estructura. Siempre ha existido la confusión de que un lenguaje de descripción de Hardware es lo mismo que un lenguaje de programación como C, pero no, si bien comparten algunas similitudes con palabras reservadas como if, switch, case, etc. No quiere decir que sean lo mismo, ¿Por qué? Bueno, se va a poner de ejemplo a un microcontrolador, en un lenguaje de programación como C, lo que se hace es acceder a los recursos que ya están dentro del microcontrolador, que puede ser por ejemplo el ADC, USB, UART; en cambio en un lenguaje de descripción de hardware lo que se hace es modelar un sistema digital para después ser implementado en un PLD o FPGA ya que éstos no cuentan con una arquitectura definida como en un microcontrolador.

 Programa para describir el circuito de Flip – Flop tipo SR usando la instrucción process e if Es un Flip – Flop SR basado en compuertas NOR Librerías Estándar en la mayoría de las descripciones. La que nunca falta es la use ieee.std_logic_1164.all Definición de entradas y salidas La arquitectura es comportamental por behavioral . Esta posee un begin y un end behavioral . Dentro de esa arquitectura se encuentra el process que es donde se va hacer todo instrucción por instrucción La ‘Z’ indica estado de alta impedancia. Ya que para S = R = 1 es un estado no permitido para un flip – flop SR hecho con compuertas NOR

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Después de compilar la descripción anterior usando el software Quartus II 13.0 sp1 toca verificar que circuito interpretó el software en base a la descripción hecha. Eso se logra siguiendo la ruta dada a continuación en el propio software Quartus II

Figura 15.- Guía de ruta para encontrar el circuito resultado dado por la descripción hecha en el software Quartus II

Figura 16.- Circuito o RTL arrojado por el software en base a la descripción realizada

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

A continuación se muestra la simulación. Se pueden notar los tres estados posibles dependiendo de los valores de S y R

Figura 17.- Simulación de las entradas y salidas usando el software Quartus II para distintos valores de R y S

Usando

el

software

LOGISIM

se

logra

la

simulación

del

Figura 18.- Simulación del Flip – Flop RS usando el software LOGISIM Tabla de la verdad del Flip – Flop SR dado en LOGISIM S R Q Not Q 0 0 Qn-1 Not Qn-1 1 0 1 0 0 1 0 1 1 1 x x

Flip



Flop

SR

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

 Programa para describir el circuito de Flip – Flop tipo D usando la instrucción process e if

Figura 19.- Circuito o RTL arrojado por el software en base a la descripción realizada

Figura 20.- Simulación de las entradas y salidas usando el software Quartus II

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 21.- Flip – Flop D en IC usando el software LOGISIM

Figura 22.- Flip – Flop D usando compuertas con el software LOGISIM El Flip – Flop D pretende resolver el problema del estado indeterminado del Flip – Flop SR. Usando el Flip – Flop D no existe la posibilidad de que las dos entradas estén a nivel alto ya que posee un inversor (Not Gate) entre la una y la otra de tal forma que R = 𝑆̅

Latches: IC usado para almacenar información en sistemas lógicos asíncronos. Un Latch puede almacenar un bit de información. Al agruparse pueden almacenar muchos bits de información. El latch lógico más simple es el SR donde S y R permanecen en estado ‘Set’ y ‘Reset’. El latch es construido mediante la interconexión retroalimentada de puertas lógicas NOR, o bien de puertas lógicas NAND.

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 23.- Latch SR construido usando compuertas NAND y NOR

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

 Programa para describir el circuito de Flip – Flop tipo JK usando la instrucción process e if

Figura 24.- Circuito o RTL arrojado por el software en base a la descripción realizada

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 25.- Simulación de las entradas y salidas usando el software Quartus II para distintos valores de J y K

Figura 26.- Simulación de las entradas y salidas usando el software Quartus II para J = K = 0

Figura 27.- Simulación de las entradas y salidas usando el software Quartus II para J = K = 1

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Para J = 1 y K = 0 y J = 0 y K = 1  Q = 1 y Q = 0 todo el tiempo Donde existen cambios constantes de la salida Q es para J = K = 1. Para cada flanco de reloj existe un cambio en la salida Q, de alto a bajo y de bajo a alto. Es lo que se conoce como Toggle en Inglés

Figura 28.- Circuito del Flip Flop JK hecho a base de compuertas NOR usando el software Logic Gate Simulator

Figura 29.- Circuito Integrado 7476 del Flip Flop JK usando el software Proteus Demostration

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

 Programa para describir el circuito de Flip – Flop tipo T usando la instrucción process e if

Figura 30.- Circuito o RTL arrojado por el software en base a la descripción realizada

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Figura 31.- Simulación de las entradas y salidas usando el software Quartus II

Figura 32.- Circuito del Flip Flop T hecho a base de compuertas NOR usando el software Logic Gate Simulator

Figura 33.- Circuito Integrado 7476 del Flip Flop JK usando el software Proteus Demostration para construir el Flip – Flop T

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

¿POR QUÉ CYCLONE II? Y OTRAS CONSIDERACIONES Entre los software HDL además del VHDL existen también: VERILOG, SYSTEMC, ABEL y otros que a medida que siga ahondando en la investigación se irán mencionando. Como la idea de la investigación siempre fue desde sus inicios mostrar un producto concreto que viene a ser el módulo para enseñar Electrónica Digital usando FPGA no se pensó nunca en hacer un aporte al software/Hardware libre en FPGA ya que de por sí la tecnología FPGA es complicada, introducirse en el camino de lo libre es de por sí un proyecto completo. Entonces el objetivo inicial era entender lo básico de la tecnología y proponer un módulo donde pudiera estudiarse Electrónica Digital y también conocer el software con el que se describen los circuitos, como se habla en FPGA-VHDL, los circuitos a simular, hacer unos programas básicos y fijar un paquete de prácticas que tuviera como contenido Lógica Combinatoria y Lógica Secuencial acompañado de todo lo relacionado a FPGA: Arquitectura, VHDL y montaje práctico de cada propuesta. Otro factor importante fue el económico, la tarjeta que terminó comprándose fue la Cyclone II de INTEL FPGA  Antigua ALTERA con un precio mucho menor que las del proyecto FPGA wars de tecnología libre que tienen un precio un poco más de 60 €. Resumiendo entonces, se decidió por la tarjeta Cyclone II por las razones ya explicadas, esto implica que hay que usar el software Quartus II. En nuestro caso la versión 13.0 web edition sp1 y trabajar con VHDL. ¿Qué si hay otros fabricantes de FPGA?  Por supuesto que sí: XILINX, LATTICE, MICROSEMI, ATMEL y otros que a medida que se avance se irán mencionando. ¿hay otros software’s que no sea el Quartus II?  Sí. Pero al elegir la tarjeta hay que trabajar con el software que la empresa fabricante ofrece para su FPGA. Por ejemplo XILINX ofrece ISE y VIVADO design Suite, hay un caso particular con Active HDL que genera el .vhd que se puede usar en cualquier chip FPGA pero al final hace falta el software de la empresa particular para asignar ese software a un FPGA particular y grabar ese programa en el IC, en las versiones libres se tiene VERILOG y myhdl del ecosistema Python. Estas versiones libres como se dijo arriba necesitan una estructura Software Libre (SL) y Hardware Libre (HL) para cerrar el ciclo del proyecto. Porque no es nada más programar en VERILOG, se puede hacer también desde Quartus II y éste proviene de una empresa que NO trabaja con SL y HL. Ahí está el detalle y es donde lo libre no lo es tanto porque igual hay que hacer una inversión inicial de unos cuantos Dólares (USD). Luego de ese gasto inicial es donde vienen las libertades de uso, Estudio, distribución y modificación. Pero como dije más arriba, no es el tema central de ésta investigación porque nada más conocer la estructura de la nueva tarjeta con un chip distinto al que he usado ya que la mayoría de HL usa IC FPGA de la empresa LATTICE y después conocer los softwares asociados a ella para cerrar el ciclo del proyecto, repito ese es otro proyecto de grado. El SL y HL en FPGA ha tenido una historia de luchas desde el momento que salen estas al mercado a mediado de los 80’s. Hay investigadores buscando la independencia desde esos años hasta que en 2015 han tenido un resultado más favorable que los ha llevado a afirmar que tienen lo que ellos llaman un Tool-Chain completo para cerrar un proyecto con FPGA que no es más que una cadena de software’s y hardware para poder implementar un proyecto que sea modificable, distribuible y de libre uso y estudio. No estoy en contra de lo libre, pero no puedo perder el norte de la investigación que estoy presentando que es un módulo para la enseñanza de electrónica digital usando FPGA. No puedo

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

perder ese norte, ¿por qué el énfasis?  porque trabajar en versión SL y HL ya de por sí es un proyecto de grado. Vean, el software HDL VERILOG es libre…..sí, sí lo es pero necesita una herramienta software para sintetizar el hardware que se está describiendo. De hecho, QUARTUS II de INTEL FPGA tiene la opción para trabajar con VERILOG……….pero este software se encarga de sintetizar el hardware que se está describiendo, genera el RTL, asigna los pines en la opción PinPlanner, informa quienes son entradas y salidas. Da toda la información. Y luego de la compilación arroja un informe con todos los detalles del hardware descrito, ver figura 35. La buena noticia es que hay gente trabajando en eso y han logrado cerrar ya todo el ciclo. Iniciando con el software Icarus VERILOG, luego pasan al visualizador de señales GtkWave, Sintetizan la descripción usando Yosys y hacen el palce & route con ARACHNE – PNR. Con todo eso tienen entonces el proyecto listo. Este es el sistema de desarrollo planteado por la gente del proyecto IceStorm liderizado por Clifford Wolf. En lo que respecta a Hardware hay varias opciones pero la más popular es la que usa el FPGA de LATTICE que está ubicada en el proyecto ICESTORM. Hay proyectos de FPGA Libre, usando el mismo FPGA de LATTICE, en Argentina  FPGALibre y en España  FPGAWars. Hay otro detalle y es el financiamiento Figura 34.- Pasos necesarios que deben cumplirse inicial para comprar las tarjetas FPGA y así para La compilación de un programa en HDL no dejar el proyecto solamente en simulación. usando el software QUARTUS II de INTEL FPGA Estas tarjetas libres van de 20 USD a 80

Figura 35.- Resumen total suministrado por el software después de realizar la compilación

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

USD. Eso sí, son muy completas como Kit de desarrollo. En conclusión, es buena idea trabajar con SL y HL pero para esta investigación quedará como un aporte teórico a esa rama de estudio de la tecnología FPGA. Ya que lo que me preocupa es la construcción del módulo para la enseñanza de electrónica digital usando FPGA quedará la mención de las FPGAs Libres como propuesta de futuro proyecto de grado. Esta investigación tiene como objetivo entregar un prototipo de módulo para enseñar Electrónica Digital usando la tecnología FPGA tal como se muestra en la figura 36 y la 37.

Figura 36.- Módulo propuesto vista de lado

Figura 38.- Puntos de interés del proyecto

Figura 37.- Vista superior del Módulo

Este diagrama de la figura 38 es el que define mi hoja de ruta para saber hacia donde voy. En el centro el módulo para la enseñanza, a su lado rodeándola los bloques de Educación, FPGA, Electrónica Digital y Máquinas de Estado Finito. Todas ellas podrían ramificarse hacia otros temas pero, si sabemos que vamos es por la construcción del módulo no hay problema. Por ejemplo en el caso que nos toca la FPGA se puede dividir en Libres y

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Propietarios. Hay todo un mundo en los dos sub bloques, ¿pero nos vamos a quedar ahondando en esos temas?....NO. Se tomará de ellos lo que nos haga falta y seguimos enfocados en la construcción del módulo. Esto se une con el bloque de EDUCACIÓN……..lo que nos lleva a la educación tecnológica, que es el tipo de investigación con la que estoy trabajando en este proyecto, ahí entran los proyectos tecnológicos y la investigación del tipo tecnológica. Que por llamarse así no se desmerita. El bloque de Máquinas de Estado Finito lo que me dice es hasta donde voy a llegar con la investigación. Y el de Electrónica Digital informa sobre los temas tratados inicialmente como son la lógica combinatoria y la lógica secuencial que se está tratando ahora.

En Conclusión 1) Hay varios tipos de Flip – Flops. Todos son síncronos, y tienen como punto de partida los latches. Los latches son la base de los Flip – Flops. Se pueden construir con Puertas Lógicas o comprarlas ya convertidas en IC comerciales. 2) A nivel de software se van a construir los Flip – Flops usando VHDL. Ese programa o descripción que es la forma correcta de hablar en el mundo de las FPGAs se inserta en el chip FPGA y se tiene un Flip – Flop construido a base de códigos.. 3) A todos los Flip – Flops les hace falta un reloj para darle su sincronismo. Para futuras investigaciones se mostrará el reloj construido con el IC 555.

Comentarios a) Con respecto a TINA v11 DEMO se trata de un software para simular circuitos eléctricos y electrónicos. Con la posibilidad de usar MACROS para ejecutar nuestra descripción en VHDL. Con respecto a la versión DEMO debo decir que hay limitaciones para simular el programa realizado en VHDL. No obstante, hay videos en youtube donde se demuestra que el software verdaderamente es eficaz para hacer las simulaciones de programas hechos en VHDL pero es usando la versión completa, la que no posee ningún límite en su instalación. b) Debido a las limitantes del software TINA en lo que respecta al uso de licencia y a que lo que te brinda en Internet es una versión DEMO que no corre los códigos hechos en VHDL, se optó por buscar software de libre distribución y se encontraron dos: LOGISIM y LOGIC GATE SIMULATOR. Fácil de usar, y cumplen con lo que se desea que es montar los Flip Flops a base de compuertas. Lo que respecta a la simulación del software que define la descripción en VHDL se buscaran otras opciones. Se encontró una opción de PROTEUS que LABCENTER llama demostración no tiene tiempo de finalización y sirve para probar los circuitos con la potencia clásica de PROTEUS. Tienes limitaciones por supuesto pero sirve para tener otro punto de vista en la simulación. Con este software de demostración valdría la pena verificar si se pueden correr las descripciones hechas en VHDL de los Flip Flops tratados en este trabajo.

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

c) En el software Quartus II se puede ver la asignación de pines usando Pin Planner

Figura 39.- Opción Pin Planner dada por el software Quartus II para asignar pines a la FPGA En esta última ventana de la figura 39 se observa la asignación de pines para cada una de las descripciones hechas para el mismo fin de trabajar con Flip Flops. Después de la asignación se procede a grabar el FPGA usando el USB Blaster. En la figura 40 se muestran todas las partes del conjunto USB Blaster: Cable USB que une al grabador con el computador, Cable que une al grabador con la tarjeta FPGA y lo que lleva el nombre como tal USB Blaster. Estas tres partes son las básicas para grabar lo que se hace en el Quartus II luego que la descripción es compilada satisfactoriamente

Figura 40.- Conjunto USB Blaster para descargar el programa en la FPGA

Cosas Pendientes Quedan pendientes los montajes prácticos para la próxima entrega Esto de los montajes me ha tomado por sorpresa cada vez que termino la investigación….¿por qué?, en la investigación anterior del decodificador BCD a 7 Segmentos me di cuenta al final que me faltaban los cables dupont macho – hembra

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

para hacer las conexiones hacia la regleta de prototipos. Ya compré los cables dupont y solucioné ese detalle técnico. Ahora en este investigación de Flip – Flops me doy cuenta que debo montar un circuito que haga de reloj ya que los Flip – Flops lo usan porque todos ellos son síncronos. Debo comprar un IC 555 y construir dicho reloj. Creo que con eso ya para la próxima investigación si estarán listos los montajes. El Interés en los montajes viene del hecho de que este material está dirigido a formar técnicos y a profesionales en general que tengan el hecho práctico como algo importante en su vida. Todas las simulaciones que se han realizado aquí son importantes, tienen un valor trascendental porque son el arranque para llegar a la construcción de equipos hardware. En mi caso estoy proponiendo la construcción de un módulo para la enseñanza de electrónica digital usando FPGA. Pero el hecho práctico es como la guinda en el postre. Claro está, la investigación tiene varias ramificaciones y a los que no les gusta la parte práctica como tal se pueden quedar con todo lo que brinda el software QUARTUS II. Es todo un mundo virtual y de simulaciones para hacer prototipos y desarrollar ideas sin tocar un cable DUPONT para nada, y mucho menos tocar un Multímetro o una regleta de montajes. Total, que hay todo un mundo por desarrollar, y esa es la propuesta: contar con un equipo que se le pueda sacar el máximo provecho a nivel de tecnológicos y universidades ya sea con enfoque netamente técnico o con enfoque científico. El usuario elige que desea hacer.

Espero con esto haber aclarado unas cuantas dudas sobre la tecnología FPGA y lo que toca a la investigación como es Electrónica Digital y así apoyar a los que quieren iniciarse en ésta línea de trabajo tal como yo lo estoy haciendo. Seguimos en contacto [email protected] Ing Pedro Landaeta LinkedIn https://www.linkedin.com/in/pedro-landaeta-17a7bb60/ Prof Jubilado con más de 25 años de servicio en la Universidad Politécnica Territorial del Estado Aragua “FBF”

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

REFERENCIAS DE INTERNET Concepto de Flip - Flop https://www.infor.uva.es/~jjalvarez/asignaturas/fundamentos/lectures/digital/Tema3_secuenciales.pdf https://www.youtube.com/watch?v=a9ezBTLSAG4&t=141s https://es.wikipedia.org/wiki/Biestable

Flip – Flop Usando compuertas lógicas Flip Flop D http://www.mailxmail.com/curso-electronica-digital/flip-flop-d-ff-master-slave Flip Flop T a partir de flip flop JK https://myclassbook.org/conversion-of-jk-flip-flop-to-sr-flip-flop-t-and-d-flip-flop/ Flip Flop JK usando compuertas NAND http://hyperphysics.phy-astr.gsu.edu/hbasees/Electronic/jkflipflop.html Latches y flip flops https://es.slideshare.net/otmolllllll/latches-y-flip-flops Flip – Flops https://es.slideshare.net/Orlandorllnrdz/electrnica-digital-4639781

Flip –Flop en Circuitos Integrados (IC) Latch y Flip – Flop SR CMOS http://www.futurlec.com/4000Series/CD4043.shtml https://www.homemade-circuits.com/ic-4043-datasheet-pinouts-explained/ https://www.cmos4000.com/cmos/4044.html Flip – Flop D https://ww w.futurlec.com/74/IC7474.shtml Flip – Flop JK https://www.carrod.mx/products/ci-ttl-flip-flop-j-k-con-preseleccion-74ls76

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

CIRCUITOS SECUENCIALES 

http://ocw.usal.es/ensenanzas-tecnicas/electronica/contenido/electronica/Tema10_SistemSecuencial.pdf



http://www.gmcon.net/cirlog/con06.html



Video que da buena información rápida y concreta de circuitos secuenciales https://www.youtube.com/watch?v=CDxvSXwbXhI



Lógica secuencial http://docplayer.es/44341146-Unidad-iii-introduccion-a-la-logica-secuencial.html



Dirección web para ahondar el estudio de Lógica Digital https://es.slideshare.net/xdorzx/circuito-logicos-combinacionales-ver-2-41337509

SOFTWAREs PROPIETARIOS Y LIBRES d) Video donde se observa paso a paso como se trabaja con el software TINA, usando MACROS y descripciones en .vhd…..en este caso el TINA 8  https://www.youtube.com/watch?v=joY7vOD9Gww EASYEDA GRATUITO DESDE LA NUBE  Dirección web de la página oficial de easyeda https://easyeda.com/es .  La siguiente dirección te lleva a un video que explica muy bien la parte introductoria de uso de éste software https://www.youtube.com/watch?v=zHumxCSP2zY  Dirección web para aprender un poco más sobre EasyEda https://www.redeszone.net/2016/02/19/conoce-easyeda-un-completo-software-de-simulacionde-circuitos-y-diseno-de-pcb-online/ LOGISIM  Página web del gobierno de Canarias donde se le hace publicidad al software y se indica para donde fue



pensado

su

uso

y

las

ventajas

del

software

http://www3.gobiernodecanarias.org/medusa/ecoescuela/recursosdigitales/2015/02/09/simulado r-de-puertas-logicas-digitales-logisim/ Página de descarga de LOGISIM http://www.cburch.com/logisim/index_es.html

LOGIC GATE SIMULATOR  Para mayor información respecto al software Logic Gate Simulator https://kolls.net/gatesim/ 

Dirección de descarga del software Logic gate Simulator https://osdn.net/projects/sfnet_gatesim/downloads/1.4/Logic%20Gate%20Simulator-1.4.zip/

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018



Mayor información sobre la licencia GPL https://es.wikipedia.org/wiki/GNU_General_Public_License

DESIGNSOFT  Página web de Design Soft fabricante de TINA software de simulación de Circuitos eléctricos y electrónicos http://www.designsoftware.com/home/demos/demo_tina  Página web de Texas Instruments www.ti.com PROTEUS  En esta dirección https://www.labcenter.com/downloads/ se baja el ejecutable que engancha la descarga directamente desde los servidores de LabCenter y el resto es cuestión de tiempo porque el software se instala completamente solo. FPGA  Introducción alos PLDs http://www.intesc.mx/2017/04/introduccion-a-los-dispositivos-logicos-programables/  Descripciones en VHDL de Flip - Flops https://allaboutfpga.com/vhdl-code-flipflop-d-t-jk-sr/  FPGA Libres http://www.jornadassarteco.org/js2017/documents/Keynote3.pdf  Grupo Español que trabaja con FPGA Libres http://fpgawars.github.io/  Las FPGAs Libres en la educación https://juegosrobotica.es/icezum-alhambra-educacion/  Software HDL del ecosistema PYTHON http://www.myhdl.org/ .

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

Apéndice A: ¿de dónde salen las ideas? Se comienza haciendo una lluvia de ideas donde se escriben todos los tópicos que podrían interesar, los que he visto en Internet, los que he leído en libros y los que logro asociar en base a mi conocimiento previo de electrónica y de microcontroladores Se lanzan estimaciones de fecha para tener un aproximado de fechas para cada publicación Lluvia de ideas planteada para el Artículo Nº 4 donde se toca el tema de los Flip – Flops pensado para agosto 2018

Nota: la parte correspondiente a Temas de Lógica se refiere a los proyectos que se han hecho hasta ahora y también se colocan los proyectos que se piensan hacer según el libro de la serie Schaum

Apéndice B: ¿Tema elegido? Se eligió el de Flip - Flops El tema principal es el de Flip - Flops pero trae consigo otros temas que deben ser tocados. Por ejemplo, el del tipo de circuitos secuenciales, el software simulación electrónica para el código VHDL y el software de simulación del circuito digital, El nuevo nombre de la empresa ALTERA luego de ser comprada por INTEL y hay que hacer alguna mención a las aplicaciones de los circuitos secuenciales y Maquinas de estado Finitas. Cada subtema tiene un color particular en el diagrama de ideas.

Apéndice C: ¿Qué significa FPGA?, Field Programmable Gate Array………es algo así como que 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, Lattice, Atmel o

Hecho por el Prof Pedro Landaeta. UPT de Aragua y Aspirante a MSc en la UCV de Venezuela. Material Introductorio de FPGA, Agosto 2018

cualquier otra. En mi caso estoy trabajando con INTEL FPGA. No fue nada especial su elección, 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, y que en el año 2016 adquirió ALTERA por más de 16 700 millones de US$ (ver https://www.xataka.com/componentes/intel-concluye-su-mayoradquisicion-hasta-la-fecha-la-compra-de-altera-por-16-700-mdd ).

Apéndice D: Propuesta de Maestría, se está proponiendo como tema para presentarlo de trabajo de maestría la construcción de un módulo para la enseñanza de electrónica digital usando la tecnología FPGA. Lo que implica tener a la mano un equipo para enseñar VHDL ( Very High Speed Integrated Circuit Hardware Description Language). Y conocer el software QUARTUS II que es la base para poder emprender cualquier proyecto con los FPGA de ALTERA, ahora INTEL FPGA. Todo acompañado con su manual y una guía de prácticas dirigidas para dar los primeros pasos de la mano de un material hecho en nuestro idioma.

Apéndice E: ¿Qué temas de Electrónica Digital serán tratados en la investigación? a) b) c) d) e)

Comenzando con las compuertas básicas Pasando por lógica combinatoria Sistemas de numeración: Decimal, binario, BCD, hexadecimal y otros Convertidores de código BCD a 7 segmentos Flip-Flops Temas que serán tratados en las próximas investigaciones. Depende de la dinámica serán estudiados individualmente o en grupos

Libro de referencia en la investigación

a) Contadores b) Registros c) Máquina de Estado Finito [FSM, por sus siglas en Inglés]

Libro de referencia de donde fueron sacados los temas. Se trata del libro de la serie Schaum Principios Digitales de Roger Tokheim. Es un libro de 1988 y que sea de ese año no le quita importancia a la investigación ya que la electrónica digital en esencia es la misma desde esos años hasta la fecha, ¿qué es lo nuevo?, que usando la tecnología FPGA uno puede describir un circuito con compuertas y trabajar con cientos de ellas en un único IC haciendo su respectiva descripción en VHDL. Y se aclara, no es que las FPGAs sean nuevas (vea el apéndice C) sino que ahora están más a nuestro alcance. También hay a la mano herramientas software y otros IC para estudiar Electrónica Digital