SISTEMAS DIGITALES

LABORATORIO VI


PUBLIK

Para este Laboratorio aplicamos los conocimientos adquiridos en clase anteriormente, con ello la elaboración del DECO y la implementación del display de 7, en este caso utilizaremos un display pero de 16 segmentos. La idea principal es mostrar como hemos utilizado   dicho  disay , en el cual  visualizamos el abecedario y los números del 0 al 9, también, un mensaje que es el nombre de cada uno de los integrantes de nuestro grupo, a través de una tarjeta FPGA (Diligent Basys 2), donde se acondicionó el código .VHD que nos genera la tabla de verdad elaborada en Boole, solicitado para el desarrollo de esta  actividad.    

                                                       Tabla de verdad deco alfanumérico

Montaje Circuito Alfanumérico avalado

Ya después de este montaje y las ventajas de memoria que nos genero el deco alfanumérico procedemos a la elaboración  de la tabla de verdad en la cual ya saldrá el mensaje con cada uno de nuestros nombres, las siglas de la universidad y el año 20013, bajo los mismos parámetros  que las tablas anteriores. Para la realización de esta tabla ya es mas fácil ya que incluimos los códigos de cada una de las letras, en la medida en la que vayan apareciendo para la construcción del mensaje con nuestros nombres, solamente copiar el código de cada letra y ya.






LABORATORIO V

Diagrama del circuito esquemático utilizado para el contador de 4 bit`s con combinaciones numéricas de 0 a 9 y cambios generados por señal de reloj de un 1Hz atreves de oscilador.


Aplicación del reloj en la FPGA 

La FPGA posee una entrada conectada a un reloj de 50 MHz en el pin B8. Este reloj puede ser utilizado para el diseño de circuitos secuenciales síncronos. En este ejemplo utilizaremos el reloj para dividir su frecuencia mediante un contador. Con cada flanco activo se incrementará un contador.  Se utilizarán igualmente dos ficheros, uno VHDL y otro de asociaciones.
En esta programación se modifico el intervalo de tiempo de la oscilación en Hz, de 6000000 a 25000000 para que quedara el conteo a 1 segundo:


Se agregó el reloj a nuestro diagrama y se nombraron las entradas, se eliminó Clear y se condiciono con una AND:


                                                                                                                       Diagrama circuito contador automático

                                                                                                                                                 Asignación de pines

                                                                                                                                                  Contador automático








LABOROTORIO IV

CONTADOR

Un contador binario es un circuito lógico secuencial que se utiliza para contar, el número de pulsos binarios aplicados a su entrada de clock.
Normalmente posee solo una entrada, sin embargo posee un número diferente de salidas que, generalmente, se incrementan un valor numérico por incrementos binarios.
Un contador binario con 4 salidas puede producir patrones de salida representando a los números binarios desde 0000 al 1111.
Ahora con la ayuda de la tarjeta Basys 2 y programación elaboraremos este contador.


Descripción general de la tarjeta BASYS 2


                                                                                         Tarjeta Basys 2 

La tarjeta BASYS 2 es una tarjeta de desarrollo fabricada por la cmpanía DIGILENT que contiene una FPGA modelo Spartan 3E de XILINX. Está diseñada para el aprendizaje de la síntesis de circuitos de complejidad media utilizando un entorno de desarrollo profesional. Además de la citada FPGA, esta tarjeta contiene una serie de recursos que pueden ser utilizadas en los diseños de los circuitos. Concretamente contiene:
  •  4 pulsadores
  •  8 conmutadores
  •  8 LEDS
  •  4 displays de 7 segmentos
  •  Un conector de teclado de PC
  •  Una salida de vídeo VGA
Todos estos recursos se encuentran conectados a las plantillas de la FPGA de la forma que se indica en la siguiente figura:
Además de los recursos integrados en la tarjeta, existe la posibilidad de utilizar entradas y
salidas externas, las cuales también se encuentran conectadas a las patillas de la FPGA y que se encuentran disponibles en los conectores externos del entrenador presente en cada puesto
del laboratorio (conectores marcados como ENTRADAS DIGITALES y SALIDAS DIGITALES). En el enunciado de cada práctica se indicarán las patillas concretas de la FPGA que se corresponden con estas entradas y salidas.

Síntesis de circuitos mediante la tarjeta BASYS 2

La síntesis de circuitos se realizará mediante el lenguaje de descripción hardware VHDL. Se
compilará utilizando el entorno ISE de XILINX que se encontrará disponible en el ordenador de cada puesto del laboratorio. Este entorno es capaz de crear un archivo para la configuración de la FPGA a partir del código VHDL que se escriba (archivo de “bit stream” con extensión .bit). Dicho archivo debe ser cargado en la tarjeta BASYS 2. Esto hace que el hardware interno de la FPGA se configure para seguir las especificaciones hardware descritas. Para volcar el contenido del archivo en la FPGA y configurarla es necesario utilizar el programa ADEPT de DIGILENT, el cual también estará disponible en el ordenador de cada puesto. 
La estructura básica de un diseño VHDL

Un diseño VHDL consiste en la especificación de un hardware concreto que se quiere sintetizar en el interior de la FPGA. Para escribir el código VHDL se utilizará el editor del entorno ISE, y serán necesarios obligatoriamente los siguientes archivos:

1. Uno o varios archivos conteniendo el código VHDL, (dependiendo de su complejidad aveces es más sencillo separar el código en varios ficheros independientes). En estos archivos se declararán entidades (“entity”) cuyas entradas y salidas tendrán nombres arbitrarios elegidos por el desarrollador.

2. Un archivo de asociaciones donde se le dice al compilador qué patillas de la FPGA se corresponden con cada entrada y salida declaradas en las entidades que componen el circuito. Este fichero es IMPRESCINDIBLE para generar el “bit stream”. La sintaxis empleada en este fichero es muy sencilla y se describe en el ejemplo siguiente:

Encendido de un LED mediante un conmutador.

El objetivo de este ejemplo es demostrar cómo se sintetiza un circuito que sea capaz de reflejar en un LED el valor lógico proporcionado por un conmutador. Se utilizarán los recursos de la tarjeta BASYS 2.
Se realizará con dos ficheros: uno de código VHDL y otro de asociaciones.

FICHERO PRUEBA_LED.VHD (fichero de código VHDL)

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity circuito is
port (
CONMUT : in STD_LOGIC; -- Conmutador conectado a una entrada
LED : out STD_LOGIC -- LED conectado a una salida
);
end circuito;
architecture a_circuito of circuito is
begin
LED<=CONMUT;

end a_circuito;


FICHERO DE ASOCIACIONES: ASOCIACIONES.UCF

NET "CONMUT" LOC = "P11"; # Conmutador 0
NET "LED" LOC = "M5"; # LED0

Con estos dos ficheros se puede ya compilar el código y obtener un “bit stream”. En el fichero

VHDL declaramos una entidad llamada “circuito” con una entrada llamada CONMUT y una
salida llamada LED. En su descripción funcional, decimos que dicha salida se corresponde con
la entrada (de esta manera el valor del LED variará según el valor digital del conmutador). Es
por tanto un circuito combinacional. En el fichero de asociaciones indicamos cuáles son las
patillas de la FPGA que se asocian físicamente con la entrada y la salida de la entidad. Fíjese
que se asocian exactamente con las patillas donde se encuentran conectados los recursos de la tarjeta BASYS 2.

                                                                                                                         Diagrama Contador en ISE


                                                                                                                                               Archivo .UCF



                                                                                                    Montaje Contador con pulsador de"0" a "9" y de "a" a "f" .












LABORATORIO II

INTRODUCCIÓN 
Hemos visto que en la lógica combinacional las salidas están determinadas sólo por los estados existentes en las entradas. En la lógica secuencial sin embargo, las salidas están determinadas no sólo por las entradas sino también por la secuencia de entradas que condujeron al estado existente, las que precedieron. En otras palabras el circuito posee memoria. 
La Figura 1. muestra un sistema secuencial general, la salida en cualquier momento está determinada por las entradas presentes y por la información almacenada en los elementos de memoria. La información almacenada en la memoria determina el estado del circuito. 
La mayoría de los sistemas digitales requieren la función de almacenamiento, cuyo objetivo es mantener los datos binarios durante un periodo de tiempo. Algunos dispositivos de almacenamiento se usan para almacenamiento temporal y otros para almacenamiento permanente y pueden memorizar un bit o un grupo de bits.
                                                             Figura 1. Esquema general de un sistema secuencial. 

Algunos tipos comunes de dispositivos de almacenamiento son: flip-flops, registros, memorias semiconductoras, discos magnéticos, cintas magnéticas y discos ópticos. En este capítulo estudiaremos los circuitos biestables (flip-flops, latches y registros)

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 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.
Un registro se forma combinando varios flip-flops de manera que se puedan almacenar 
grupos de bits. Por ejemplo un registro de 8 bits se construye a partir de 8 flip-flops. Además de almacenar bits los registros se pueden emplear para desplazar los bits de una posición a otra dentro del propio registro o fuera del mismo. Estos dispositivos reciben el nombre de registros de desplazamiento y los veremos en secciones posteriores. 
Los circuitos secuenciales se pueden dividir en síncronos y asíncronos.
1. Síncronos: las entradas, salidas y los estados internos se muestrean en instantes 
de tiempo definidos que son controlados por una señal de reloj. 
2. Asíncronos: los circuitos responden a cambios en las entradas que se pueden 

producir en cualquier momento.
  • Biestables sensibles por nivel o latch's
El latch es un tipo de dispositivo de almacenamiento temporal de dos estados (biestable). 

Entre ellos se encuentran:
  • Biestable R-S con puertas NOR. 
  • Biestable R-S con puertas NAND.
  • Latch R-S con entrada de habilitación. 
  • Latch D con entrada de habilitación.
"La diferencia básica entre latches y flip-flops es la manera  en que cambian de un estado a otro".


                                                  Montajes dispositivos Latch^s Tipo D y S R

                                                Visualización señal Dispositivo Latch
CONTADORES
Son circuitos digitales lógicos secuenciales de salida binaria o cuenta binaria, característica de temporización y de memoria, por lo cual están constituidos a base de flip-flops.

CARACTERÍSTICAS IMPORTANTES
  1. Un número máximo de cuentas (módulo del contador)
  2. Cuenta ascendente o descendente.
  3. Operación síncrona o asíncrona.
  4. Autónomos o de autodetención.

UTILIDAD
Se utilizan para contar eventos.
Ejemplos:
  1. número de pulsos de reloj.
  2. medir frecuencias.
  3. Se utilizan como divisores de frecuencia y para almacenar datos. Ejemplo: en un reloj digital.
  4. Se utilizan para direccionamiento secuencial y algunos circuitos aritméticos
Este contador se encuentra constituido por flip-flop JK en modo de conmutación al mantener presente en las entradas J y K un 1 lógico y conectados entre si de forma asíncrona, es decir, que la salida del flip-flop 1 (FF1) está conectada de forma directa a la entrada de reloj del siguiente flip-flop 2 (FF2). 
                                                            Diagrama de Transición del contador

                                                                   Montaje contador 


LABORATORIO I

INTRODUCCIÓN 

En este laboratorio vamos a utilizar las Compuertas Lógicas.
Existen dos tipos básicos de circuitos en electrónica digital circuitos de toma de decisiones y circuitos de memoria. El circuito básico de toma de decisiones se denomina Compuerta Lógica. Una compuerta posee dos o mas entradas y una única salida. La salida de la compuerta está determinada por la combinación de entradas High y low y sus características particulares de operación -su función Lógica.
La TABLA DE VERDAD provee un modo conveniente de resumir todas las posibles combinaciones de entrada y salida para una compuerta lógica particular. Puede escribirse la tabla de verdad utilizando cualquier notación de dos estados, como verdadero y falso, high y low, o el binario 1 y 0. A menudo se prefieren high y low porque se asemejan de cerca a la operación real del circuito de compuerta.