Contador 4 Bits
Contador 4 Bits
Contador 4 Bits
AUTNOMA DE PUEBLA
Facultad de Ciencias de la Electrnica
Licenciatura en Electrnica
Sistemas Digitales Secuenciales
Prctica 3:
"Contador"
Alumnos:
Nora Estefana Gonzlez Ramrez
Jos Eduardo Miranda Daz
Miguel Prez Gonzlez
Mauricio Velzquez Daz
Maestro:
Carlos Garca Lucero
Contenido
Introduccin............................................3
Objetivos.................................................3
Objetivo general.........................................3
Objetivos especficos....................................3
Planteamiento del Problema....................4
Marco terico y Estado del Arte...............4
Mquina de estados......................................4
Desarrollo del Sistema.............................7
Anlisis de Resultados...........................10
Conclusiones.........................................11
Referencias............................................11
Apndices..............................................12
Transistor 2N2222.....................................12
Display de 7 segmentos,..............................13
Flip Flop D..............................................14
Cdigo implementado en la FPGA.................15
Introduccin.
Los sistemas digitales secuenciales se visualizan con una gama de problemas a resolver
mucho ms amplia en comparacin a los sistemas combinacionales.
Esta propiedad de los sistemas secuenciales se debe a que estos sistemas constan de dos
partes bsicas, elementos combinacionales y elementos de memoria. Y una de las
mayores aplicaciones de dichos elementos de memoria son las Maquinas de Estado,
estn son conformadas por combinaciones de sistemas combinacionales y secuenciales.
Para este caso se utilizaron 2 mquinas de estado, puesto que tendramos dos salidas que
compartiran el mismo bus de datos y estas iran a diferentes display's.
Se debe conocer muy bien el funcionamiento de cmo realizar el diseo de cada
mquina de estado para que cada una desempee la funcin que tu deseas.
Objetivos.
Objetivo general.
Disear e implementar un contador Ascendente/Descendente con un botn de pausa y
un botn de Reset cuyas salidas sean visualizadas en 2 display's de 7 segmentos los
cuales deben compartir el mismo bus de datos.
Objetivos especficos.
Desarrollar dos mquinas de estado independientes las cuales no estarn sincronizadas
al mismo reloj.
Emitir los estados del contador en dos display's de 7 segmentos los cuales compartirn
el mismo bus de datos.
Diagramas de Estado
Un diagrama de estados es una representacin grfica 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 crculos y lneas. Los crculos representan los estados
del circuito secuencial de ellos contiene un nmero que identifica su estado.
Las lneas indican las transiciones entre estados y se marcan con dos nmeros separados
por un (/), estos dos nmeros corresponden a la entrada y salida presentes antes de la
transicin.
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
Ecuaciones de estado.
Una ecuacin de estado (tambin llamada ecuacin de transicin) especifica el siguiente
estado en funcin del estado actual y las entradas. Una ecuacin de estados es una
expresin algebraica que especifica la condicin para una transicin de estado de un
flip-flop.
Diseo, mquina de estado.
Es la implementacin de las ecuaciones de estados en esquemtico simblico.
3.- Una vez teniendo visualizado exactamente qu se nos peda, se comenz con el
diseo de cada mquina de estado individualmente, es decir la mquina 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 terico, primero se realiza un diagrama de
estados, luego una tabla de estados, y todos los pasos siguientes.
Tabla de estados
Mapas de Karnaugh
En este caso se realizaron mapas para cada variable de entrada, esto es
desde Q0 hasta Q3
Ecuaciones de estado
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 mquinas de estado se realiz el diseo con
esquemas simblicos ya que carecan de relevancia para la implementacin en VHDL.
4.- Una vez teniendo todo el diseo de las dos mquinas de estado, realizar la
programacin 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 mquina de estado (10
milisegundos) se utilizaron 2 transistores los cuales abran la salida para cada display,
esta salida era regulada por nuestro segundo contador.
Anlisis de Resultados.
El diseo de nuestro sistema a travs de mquinas de estado nos permiti disear un
contador de cuatro bits y controlarlo de manera ascendente o descendente adems de
incluir un Reset que inicializaba la cuenta nuevamente, mostrando los resultados en dos
display's de 7 segmentos conectados a travs de un bus.
Esto significa que tanto las ecuaciones obtenidas en el diseo de ambos contadores, as
como la implementacin 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 mquina de estado para cumplir con la especificacin de que
los display's que nos serviran para visualizar los estados del contador compartieran el
mismo bus de datos.
Referencias.
Introduccin a la Programacin en VHDL.
Marcos Snchez lez.
Facultad de Informtica.
Universidad Complutense de Madrid.
CircuitDesignwith VHDL.
Volnei A. Pedroni
MIT Press
2004
11
Apndices.
Transistor 2N2222
12
Display de 7 segmentos,
13
Flip Flop D
14
15
with Q select
Dis0 <=
"1111110" when "0000" ,
"0110000" when "0001" ,
"1101101" when "0010" ,
"1111001" when "0011" ,
"0110011" when "0100" ,
"1011011" when "0101" ,
"1011111" when "0110" ,
"1110000" when "0111" ,
"1111111" when "1000" ,
"1110011" when "1001" ,
"1111110" when "1010" ,
"0110000" when "1011" ,
"1101101" when "1100" ,
"1111001" when "1101" ,
"0110011" when "1110" ,
"1011011" when "1111" ;
B0 <= not C;
B1 <= C;
process (C, Dis0, Dis1)
begin
if C = '0' then
Display <= Dis0;
else
Display <= Dis1;
end if;
endprocess;
endBehavioral;
16
with Q select
Dis1 <=
"1111110" when "0000" ,
"1111110" when "0001" ,
"1111110" when "0010" ,
"1111110" when "0011" ,
"1111110" when "0100" ,
"1111110" when "0101" ,
"1111110" when "0110" ,
"1111110" when "0111" ,
"1111110" when "1000" ,
"1111110" when "1001" ,
"0110000" when "1010" ,
"0110000" when "1011" ,
"0110000" when "1100" ,
"0110000" when "1101" ,
"0110000" when "1110" ,
"0110000" when "1111" ;