practica 1 secuencia dores

3
1 UAM I - SECUENCIADORES & MICROPROCESADORES PRÁCTICA No. 1- ResumenEn la presente práctica se buscó afirmar los conocimientos adquiridos sobre las máquinas de estado a partir de un contador síncrono de 2 bits en código gray. Se describe el procedimiento teórico y práctico para la implementación en la tarjeta de desarrollo Nexys 2. Palabras clavesContador síncrono, máquinas de estado finito, mealy, moore, VHDL, I. INTRODUCCIÓN Las Máquinas de estados Finito, nos sirven para realizar procesos bien definidos en un tiempo discreto. Reciben una entrada, hacen un proceso y nos entregan una salida. En éste caso se realiza el diseño de un contador secuencial básico a través de una Máquina de Estado, mismo que se implementará a través de código VHDL en la tarjeta de desarrollo Nexys 2 por medio del software Xilinx ISE Webpack. II. DESARROLLO TEÓRICO L os circuitos lógicos se clasifican en dos tipos: Combinacionales, aquellos cuyas salidas sólo dependen de las entradas actuales. Secuenciales, aquellos cuyas salidas dependen no sólo de sus entradas actuales, sino también de sus entradas anteriores. Esta “información” de las entradas anteriores, debe preservarse en el circuito y se denomina estado interno, secundario, o simplemente estado del circuito. Es necesario distinguir el valor presente de una señal del que poseía en un instante inmediatamente anterior, y éste del anterior; por ello habrá una intervención explícita del tiempo. Un sistema secuencial posee 2 n estados de entrada para n entradas (X 1 ... X n ). Poseen además 2 p estados de salida para p salidas (Z 1 ... Z p ) y un número finito de estados internos (y 1 ...y m ) de ahí que sean conocidos como máquinas de estado finito o autómatas finitos. Según la relación entre las salidas y los estados internos podemos distinguir: Máquina de Mealy, las salidas se obtienen en función de las entradas y los estados internos. (Figura 1) Fig. 1 Diagrama a bloques de una Máquina de Mealy Máquina de Moore, las salidas coinciden o dependen solo de los estados internos. (Figura 2) Fig. 2 Diagrama a bloques de una Máquina de Moore Sistemas secuenciales Síncronos Según la forma de realizar el elemento de memoria nos podemos encontrar distintos tipos de sistemas secuenciales, principalmente dos: Sistemas Secuenciales Síncronos, en los que su comportamiento puede definirse en instantes de discretos de tiempo, se necesita una sincronización de los elementos del sistema mediante una señal de reloj, que no es más que un tren de pulsos periódico. Las variables internas no cambian hasta que no llega un pulso del reloj. Sistemas Secuenciales Asíncronos, actúan de forma continua en el tiempo, un cambio de las entradas provoca cambios en las variables internas sin esperar a la intervención de un reloj. Práctica de laboratorio No.1: Contador Síncrono de 4 bits. Astivia C. Dara, UAM-I, Guzman E. Natali, UAM-I, & Pérez H. Laura, UAM-I,

Upload: nimsi-astivia

Post on 20-Oct-2015

22 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Practica 1 Secuencia Dores

1

UAM I - SECUENCIADORES & MICROPROCESADORES – PRÁCTICA No. 1-

Resumen— En la presente práctica se buscó afirmar los

conocimientos adquiridos sobre las máquinas de estado a partir

de un contador síncrono de 2 bits en código gray. Se describe el

procedimiento teórico y práctico para la implementación en la

tarjeta de desarrollo Nexys 2.

Palabras claves— Contador síncrono, máquinas de estado

finito, mealy, moore, VHDL,

I. INTRODUCCIÓN

Las Máquinas de estados Finito, nos sirven para realizar

procesos bien definidos en un tiempo discreto. Reciben una

entrada, hacen un proceso y nos entregan una salida. En éste

caso se realiza el diseño de un contador secuencial básico a

través de una Máquina de Estado, mismo que se implementará

a través de código VHDL en la tarjeta de desarrollo Nexys 2

por medio del software Xilinx ISE Webpack.

II. DESARROLLO TEÓRICO

Los circuitos lógicos se clasifican en dos tipos:

Combinacionales, aquellos cuyas salidas sólo

dependen de las entradas actuales.

Secuenciales, aquellos cuyas salidas dependen no

sólo de sus entradas actuales, sino también de sus

entradas anteriores.

Esta “información” de las entradas anteriores, debe

preservarse en el circuito y se denomina estado interno,

secundario, o simplemente estado del circuito. Es necesario

distinguir el valor presente de una señal del que poseía en un

instante inmediatamente anterior, y éste del anterior; por ello

habrá una intervención explícita del tiempo. Un sistema

secuencial posee 2n estados de entrada para n entradas (X1...

Xn). Poseen además 2p estados de salida para p salidas (Z1...

Zp) y un número finito de estados internos (y1...ym) de ahí que

sean conocidos como máquinas de estado finito o autómatas

finitos.

Según la relación entre las salidas y los estados internos

podemos distinguir:

Máquina de Mealy, las salidas se obtienen en

función de las entradas y los estados internos.

(Figura 1)

Fig. 1 Diagrama a bloques de una Máquina de Mealy

Máquina de Moore, las salidas coinciden o

dependen solo de los estados internos. (Figura 2)

Fig. 2 Diagrama a bloques de una Máquina de Moore

Sistemas secuenciales Síncronos

Según la forma de realizar el elemento de memoria nos

podemos encontrar distintos tipos de sistemas secuenciales,

principalmente dos:

Sistemas Secuenciales Síncronos, en los que su

comportamiento puede definirse en instantes de

discretos de tiempo, se necesita una sincronización de

los elementos del sistema mediante una señal de

reloj, que no es más que un tren de pulsos periódico.

Las variables internas no cambian hasta que no llega

un pulso del reloj.

Sistemas Secuenciales Asíncronos, actúan de forma

continua en el tiempo, un cambio de las entradas

provoca cambios en las variables internas sin esperar

a la intervención de un reloj.

Práctica de laboratorio No.1: Contador Síncrono

de 4 bits.

Astivia C. Dara, UAM-I, Guzman E. Natali, UAM-I, & Pérez H. Laura, UAM-I,

Page 2: Practica 1 Secuencia Dores

2

UAM I - SECUENCIADORES & MICROPROCESADORES – PRÁCTICA No. 1-

III. DESARROLLO PRÁCTICO

Para la comprobación práctica de una Máquina de Estados

Finitos se implementó un contador síncrono de 2 bits, en el

cual también se incluyen salidas para indicar dos estados

específicos.

El contador está descrito por la Máquina de Estado de la

Figura 3; y la tabla número 1.

Fig. 3 Máquina de Estados para un contador Síncrono

ST Q1 Q0 Z1 Z0 Q*1 Q*0

0 0 0 0 1 0 1

0 0 1 0 0 1 1

0 1 0 0 0 0 0

0 1 1 1 0 1 0

1 0 0 0 1 0 0

1 0 1 0 0 0 1

1 1 0 0 0 1 0

1 1 1 1 0 1 1

Tabla. 1 Tabla de verdad.

IV. PROGRAMACIÓN EN VHDL E IMPLEMENTACIÓN EN LA

TARJETA NEXYS 2

A. Se realizó la descripción en forma tabular del

comportamiento del contador síncrono en lenguaje

VHDL. A continuación se adjunta el código.

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

entity Contador2B is

Port ( STP : in STD_LOGIC;

RST : in STD_LOGIC;

CLK : in STD_LOGIC;

Z : out STD_LOGIC_VECTOR (1 downto 0);

Q : inout STD_LOGIC_VECTOR (1 downto

0));

end Contador2B;

architecture Behavioral of Contador2B is

begin

process (CLK, RST, STP) begin

if (RST='1') then

Q<="00";

Z<="01";

elsif rising_edge (CLK) then

if ( STP='0') then

case Q is

when "00" => Q <="01";

Z<="00";

when "01" => Q <="11";

Z<="10";

when "11" => Q <="10";

Z<="00";

when "10" => Q <="00";

Z<="01";

when others => null;

end case;

else

case Q is

when "00" => Q <="00";

Z<="01";

when "01" => Q <="01";

Z<="00";

when "11" => Q <="11";

Z<="10";

when "10" => Q <="10";

Z<="00";

when others => null;

end case;

end if;

end if;

end process;

end Behavioral;

B. Posteriormente se realizó la simulación

correspondiente para verificar que la descripción

en VHDL coincidiera con la tabla de verdad del

contador. Se muestra la simulación en las figuras 4

y 5.

Figura 4.Simulación con STP=0 donde el contador se mueve en forma

ascendente.

Nótese que la salida Z= (0,1) se enciende en el estado A=(0,0)

mientras que Z=(1,0) se enciende en el estado C=(1,1); para

otros estados la salida Z permanece apagada.

Page 3: Practica 1 Secuencia Dores

3

UAM I - SECUENCIADORES & MICROPROCESADORES – PRÁCTICA No. 1-

Figura 5.Simulación con STP =1, donde el contador permanece en su

estado presente.

V. CONCLUSIONES

Se realizó el diseño de una máquina de estado en la cual

identificamos la diferencia entre una máquina de Mealy y una

máquina de Moore, en éste caso se observó que se trata de una

Máquina de Moore, cuya salida únicamente depende del

estado actual.

Por otro lado, éste diseño es controlado por medio de una

señal de reloj, por lo que también se trata de un circuito

síncrono, en el cual en cada flanco positivo hay un cambio de

estado.

Finalmente para la implementación del circuito en VHDL, se

observa que existen diversas formas para la descripción del

comportamiento, una de ellas, y la utilizada en ésta práctica es

el método tabular, en el que únicamente se describen los

estados posibles. Éste método resulta práctico cuando el

número de estados es relativamente pequeño, además nos

permite identificar con claridad cada uno de los estados con

sus salidas respectivas.

REFERENCIAS

1. R. López A., “Fundamentos de Computadores.Sistemas secuenciales,” [en línea] Abril 2012, [Enero 20 de 2014]. Disponible en la web

http://www.uhu.es/rafael.lopezahumada/descargas/tema7_fund_0405.pdf

.