Contador 4 Bits

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA Facultad de Ciencias de la Electrónica Licenciatura en Electrónica Sistemas Di

Views 259 Downloads 70 File size 895KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA Facultad de Ciencias de la Electrónica Licenciatura en Electrónica Sistemas Digitales Secuenciales Práctica 3: "Contador" Alumnos: Nora Estefanía González Ramírez José Eduardo Miranda Díaz Miguel Pérez González Mauricio Velázquez Díaz Maestro: Carlos García Lucero

A los 8 días del mes de Octubre de 2015.

Contenido Introducción............................................3 Objetivos.................................................3 Objetivo general.........................................3 Objetivos específicos....................................3 Planteamiento del Problema....................4 Marco teórico y Estado del Arte...............4 Máquina de estados......................................4 Desarrollo del Sistema.............................7 Análisis de Resultados...........................10 Conclusiones.........................................11 Referencias............................................11 Apéndices..............................................12 Transistor 2N2222.....................................12 Display de 7 segmentos,..............................13 Flip Flop D..............................................14 Código implementado en la FPGA.................15

2

Introducción. Los sistemas digitales secuenciales se visualizan con una gama de problemas a resolver mucho más amplia en comparación a los sistemas combinacionales. Esta propiedad de los sistemas secuenciales se debe a que estos sistemas constan de dos partes básicas, elementos combinacionales y elementos de memoria. Y una de las mayores aplicaciones de dichos elementos de memoria son las Maquinas de Estado, están son conformadas por combinaciones de sistemas combinacionales y secuenciales. Para este caso se utilizaron 2 máquinas de estado, puesto que tendríamos dos salidas que compartirían el mismo bus de datos y estas irían a diferentes display's. Se debe conocer muy bien el funcionamiento de cómo realizar el diseño de cada máquina de estado para que cada una desempeñe la función que tu deseas.

Objetivos. Objetivo general. Diseñar e implementar un contador Ascendente/Descendente con un botón de pausa y un botón de Reset cuyas salidas sean visualizadas en 2 display's de 7 segmentos los cuales deben compartir el mismo bus de datos.

Objetivos específicos. Desarrollar dos máquinas de estado independientes las cuales no estarán sincronizadas al mismo reloj. Emitir los estados del contador en dos display's de 7 segmentos los cuales compartirán el mismo bus de datos.

3

Planteamiento del Problema. Se tiene que desarrollar un contador de 4 bits Ascendente/Descendente con un botón de pausa y Reset cuyos estados (números emitidos durante la cuenta) se puedan visualizar en 2 display's de 7 segmentos los cuales comparten el mismo bus de datos, para esto se deberá usar una máquina de estados aparte del contador principal para determinar que display encenderá en cada momento.

Marco teórico y Estado del Arte. Máquina de estados. Máquinas de estado es el nombre con el que se conocen los métodos de Análisis y Diseño de Circuitos Secuenciales Sincrónicos, son circuitos secuenciales que se encuentran constituidos por una etapa combinacional y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algún propósito especial. Los registros y contadores con entradas asincrónicas son ejemplos de este tipo de sistemas secuenciales. MÁQUINA DE ESTADO DE MEALY En esta máquina de estados las salidas se encuentran determinadas por el estado interno del sistema y por las entradas no sincronizadas con el circuito. El diagrama de bloques representativo de esta máquina se muestra en la figura. Donde se observa que las salidas del sistema son tanto sincrónicas como asincrónicas.

MÁQUINA DE ESTADO DE MOORE Las salidas solo dependen del estado interno y de cualquier entrada sincronizada con el circuito, como se observa en la figura, donde las salidas del sistema son únicamente sincrónicas. Un ejemplo de este tipo de máquinas de estado son los contadores.

4

Diagramas de Estado Un diagrama de estados es una representación gráfica que indica la secuencia de los estados que se presentan en un circuito secuencial, teniendo en cuenta las entradas y salidas. El diagrama se forma con círculos y líneas. Los círculos representan los estados del circuito secuencial de ellos contiene un número que identifica su estado. Las líneas indican las transiciones entre estados y se marcan con dos números separados por un (/), estos dos números corresponden a la entrada y salida presentes antes de la transición.

Tablas de Estado Una tabla de estado es un listado que contiene la secuencia de los estados de entradas, estados internos y salidas del sistema, considerando todas las posibles combinaciones de estados actuales y entradas. Las tablas de estado por lo general se dividen en tres partes: estados actuales, estados siguientes y salidas.

Mapas de Karnaugh

5

Un mapa de Karnaugh es una representación gráfica de una función lógica a partir de una tabla de verdad. El número de celdas del mapa es igual al número de combinaciones que se pueden obtener con las variables de entrada. Los mapas se pueden utilizar para 2, 3, 4 y 5 variables.

Ecuaciones de estado. Una ecuación de estado (también llamada ecuación de transición) especifica el siguiente estado en función del estado actual y las entradas. Una ecuación de estados es una expresión algebraica que especifica la condición para una transición de estado de un flip-flop. Diseño, máquina de estado. Es la implementación de las ecuaciones de estados en esquemático simbólico.

6

Desarrollo del Sistema. 1.- Primero se visualizó que para esta práctica se necesitarían 2 máquinas de estado las cuales se diseñarían por separado, una máquina de estado para el contador y otra para definir la velocidad con la que los display's encenderían y apagarían. 2.- Se diseñó un diagrama esquemático en el cual se representan el circuito completo considerando las 2 máquinas de estado independientes, obviamente para cada máquina de estado se utilizó un registro diferente lo cual causo que no estuvieran sincronizadas.

Ilustración 1. Esquema del contador general.

3.- Una vez teniendo visualizado exactamente qué se nos pedía, se comenzó con el diseño de cada máquina de estado individualmente, es decir la máquina de estados para el contador de 0.5 segundos y el contador de 10 milisegundos. Para realizar esto se siguen los pasos indicados en el marco teórico, primero se realiza un diagrama de estados, luego una tabla de estados, y todos los pasos siguientes.

7

a) Diseño del contador de 0.5 segundos. Diagrama de estados

Tabla de estados

8

Mapas de Karnaugh En este caso se realizaron mapas para cada variable de entrada, esto es desde Q0 hasta Q3

Ecuaciones de estado

b) Diseño del contador de 10 milisegundos

9

Diagrama de estados

Para este ejemplo se consideró obsoleto realizar una tabla de estados, se notó que era posible pasar directo al mapa de Karnaugh. Mapa de Karnaugh

Ecuaciones de estado

Sobra decir que para ninguna de nuestras máquinas de estado se realizó el diseño con esquemas simbólicos ya que carecían de relevancia para la implementación en VHDL. 4.- Una vez teniendo todo el diseño de las dos máquinas de estado, realizar la programación en VHDL resulto sumamente sencillo ya que lo único que se tuvo que hacer fue introducir nuestras ecuaciones de estado en lenguaje VHDL y seleccionar los casos para la salida de cada display. 5.- Para complementar el funcionamiento de la segunda máquina de estado (10 milisegundos) se utilizaron 2 transistores los cuales abrían la salida para cada display, esta salida era regulada por nuestro segundo contador.

Análisis de Resultados. El diseño de nuestro sistema a través de máquinas de estado nos permitió diseñar un contador de cuatro bits y controlarlo de manera ascendente o descendente además de incluir un Reset que inicializaba la cuenta nuevamente, mostrando los resultados en dos display's de 7 segmentos conectados a través de un bus. Esto significa que tanto las ecuaciones obtenidas en el diseño de ambos contadores, así como la implementación correcta de las salidas, hicieron posible el funcionamiento adecuado del sistema, por lo cual el contador operaba de acuerdo a los resultados esperados.

10

Conclusiones. Los objetivos principales de nuestras maquinas fueron cumplidos, logro sincronizarse el funcionamiento de cada máquina de estado para cumplir con la especificación de que los display's que nos servirían para visualizar los estados del contador compartieran el mismo bus de datos.

Referencias.  Introducción a la Programación en VHDL. Marcos Sánchez Élez. Facultad de Informática. Universidad Complutense de Madrid.  CircuitDesignwith VHDL. Volnei A. Pedroni MIT Press 2004

11

Apéndices. Transistor 2N2222

12

Display de 7 segmentos,

13

Flip Flop D

14

Código implementado en la FPGA library IEEE; use IEEE.STD_LOGIC_1164.ALL; entitycodigo is Port ( AD : in STD_LOGIC; R : in STD_LOGIC; Q : in STD_LOGIC_VECTOR (3 downto 0); C : in STD_LOGIC; D : out STD_LOGIC_VECTOR (3 downto 0); Display : out STD_LOGIC_VECTOR (6 downto 0); B0 : out STD_LOGIC; B1 : out STD_LOGIC); endcodigo; architecture Behavioral of codigo is signal Dis0: std_logic_vector(6 downto 0); signal Dis1: std_logic_vector(6 downto 0); begin D(0)