Está en la página 1de 9

Escuela Universitaria de Informática

INTEGRACION DE SISTEMAS

Práctica nº 10

Implementación de:

Contador ascendente modulo 6

En un dispositivo GAL22V10

Madrid 09 Marzo 2010 Página 1 / 9


Escuela Universitaria de Informática

1.- Requisitos del sistema.


Diseño, desarrollo, verificación, implementación y programación en la GAL
22V10 o la PALCE22V10, de un circuito contador, ascendente módulo 6, con señal de
inicialización activa a nivel alto.

El desarrollo se hará con WinCUPL y como entrada a la herramienta la misma que


para los circuitos combinacionales, es decir, utilizar la metodología de entrada al diseño
mediante expresiones booleanas.

Definiciones.

Dispositivos

GAL22V10 ATF22V10B ATF22V10


(Lattice) (Atmel - C
DIP Military)
DIP (Atmel)
DIP

Figura 1.

Notas figura nº 1: Las entradas se representan con “I” e “IN”.

Madrid 09 Marzo 2010 Página 2 / 9


Escuela Universitaria de Informática

Se seleccionan los formatos de encapsulado DIP que nos


proporcionan los fabricantes.

Se muestran los dispositivos de Atmel por que utilizamos la


herramienta WinCupl del mismo fabricante y en esta herramienta, no
disponemos de dispositivos genéricos y sólo incluye sus productos.

Macrocelda

Figura 2.

Notas figura nº 2: Se representa el esquema general de la macrocelda, obtenido de los


Data Sheets de Lattice.

La macrocelda puede actuar en dos modos:

1. Modo registrado, se recogen las salidas del biestable


(Multiplexor 4 a 1)

• Activas a nivel bajo  S0 = 0 S1 = 0.


• Activas a nivel alto  S0 = 1 S1 = 0.

El feedback se recogerá de la salida negada del biestable


(Multiplexor 2 a 1).

2. Modo combinacional se obvian las salidas del


biestable (Multiplexor 4 a 1)

• Activas a nivel bajo  S0 = 1 S1 = 0.


• Activas a nivel alto  S0 = 1 S1 = 1.

Madrid 09 Marzo 2010 Página 3 / 9


Escuela Universitaria de Informática

El feedback se recogerá de la salida de la puerta triestado


(Multiplexor 2 a 1).

Cuerpo teórico.
Se va a hacer uso del álgebre de Boole para las ecuaciones canónicas y
de la tabla de verdad para su cálculo.

a. Diagrama de estados.

S0

S0  000
S5 S1 S1  001
S2  010
S3  011
S4  100
S5  101

S4 S2

S3

Las transiciones entre estados se producirán por flanco ascendente de la


señal de reloj.

Por claridad en el diagrama de estados se omite el paso de cualquier estado


al S0 cuando se introduce un “1” por la entrada de inhibición activa a nivel
alto.

Se calcula el nº de biestables necesarios para implementar el contador.

Siendo:
M  Módulo.
n  Número de biestables necesarios para implementar el
contador.

Aplicando la fórmula 

n = 3 biestables

Las macroceldas del dispositivo GAL 22V10 están implementadas con


biestables de tipo D con señal de reloj activa por flanco de subida, con

Madrid 09 Marzo 2010 Página 4 / 9


Escuela Universitaria de Informática

entradas Asynchronous Reset (AR) y Synchronous Preset (SP), por lo tanto


utilizaremos biestables tipo D en el diseño del contador.

Variables del dispositivo.


Las salidas que nos interesan de los biestables son las salidas activa a nivel
alto Q , y como entradas tendremos las D por tanto:

Variables de entrada del sistema:

D0  Entrada D al biestable nº 0.
D1  Entrada D al biestable nº 1.
D2  Entrada D al biestable nº 2.
ini  Señal de inicialización del dispositivo activa a nivel alto.

Variables de salida del sistema:

Q0  Salida Q del biestable nº 0.


Q1  Salida Q del biestable nº 1.
Q2  Salida Q del biestable nº 2.

Tabla de Verdad.
Para simplificar la exposición vamos a unir las tablas de transición
entre estados con la de excitación de las entradas.

Al tratarse de biestables de tipo D, coincidirán los valores de la tabla


de transición de t + 1 con la de excitación para alcanzar dichos valores.

Tabla de transición de estados Tabla de excitación


E stado actual E stado siguiente
Entradas
t t+ 1

ini Q2 Q1 Q0 Q2 Q1 Q0 D2 D1 D0
0 0 0 0 0 0 1 0 0 1
0 0 0 1 0 1 0 0 1 0
0 0 1 0 0 1 1 0 1 1
0 0 1 1 1 0 0 1 0 0
0 1 0 0 1 0 1 1 0 1
0 1 0 1 0 0 0 0 0 0
0 1 1 0 X X X X X X
0 1 1 1 X X X X X X
1 X X X 0 0 0 0 0 0
 Estado prohibido
 Estado prohibido

Madrid 09 Marzo 2010 Página 5 / 9


Escuela Universitaria de Informática

Ecuación Canónica.
Entrada D0:

Entrada D1:

Entrada D2:

Implementación.

Madrid 09 Marzo 2010 Página 6 / 9


Escuela Universitaria de Informática

Se realiza mediante el programa WinCUPL.

Mediante este programa se generará el fichero .pld correspondiente y se


creará el fichero .si con los datos de entrada de simulación.

Finalmente obtendremos la salida gráfica para la función introducida en


el .pld.

Gráficamente el dispositivo quedaría conectado como se muestra


en la figura siguiente:

CLK  Q2

E  Q1

 Q0

Madrid 09 Marzo 2010 Página 7 / 9


Escuela Universitaria de Informática

El fichero .pld mencionado es el mostrado en la siguiente figura:

La salida es:

field salidas = [q2..q0];

salidas.ar = 'b'000;

salidas.sp = 'b'000;

q2.d = (!i & q2 & !q1 & !q0) # (!i & !q2 & q1 & q0);

q1.d = (!i & !q2 & !q1 & q0) # (!i & !q2 & q1 & !q0);

q0.d = (!i & !q2 & !q0) # (!i & !q1 & !q0);

Madrid 09 Marzo 2010 Página 8 / 9


Escuela Universitaria de Informática

El código del fichero simulación es el siguiente:

La salida gráfica obtenida tras la simulación es la siguiente:

en la figura se puede comprobar que las salidas coinciden con el código introducido
en el fichero de simulación: cuando E vale 1 todas las variables aparecen a cero; en el
resto de valores se puede apreciar E a 0 y el comienzo de la cuenta (de 1 a 4), después
se activa de nuevo E y en el siguiente pulso hacemos la cuenta completa (hasta 5).

Madrid 09 Marzo 2010 Página 9 / 9

También podría gustarte