domingo, 25 de marzo de 2012

Circuito combinatorio con GAL mediante ABEL-HDL

EJERCICIO: Se requiere diseñar e implementar con una GAL22V10 un circuito lógico que detecte los números PRIMOS y los MÜLTIPLOS DE TRES para los números decimales del 0 al 15.
Las entradas D,C,B,A correspondientes a las entradas binarias, con D como el bit más significativo, deben estar respectivamente en los pines 1,2,3 y 4 de la GAL. Las salidas PR y MU deben estar respectivamente en las salidas 15 y 16 para que 2 LEDs con cátodo común, enciendan en cada caso. 

SOLUCIÓN: 
Se procede a obtener las tres ecuaciones Booleanas por medio de Mapas de Karnaugh, las cuales pueden ser verificadas con el programa LOGICAID.

Veamos inicialmente el Mapa de karnaugh para los Primos , que son los mintérminos 2,3,5,7,11,y 13.
La ecuación en ABEL es:

PR = !D & !C & B  #  !C & B & A # C & !B & A # !D & C & A 

Así mismo obtenemos la ecuación para los Múltiplos de 3, o sea los mintérminos 0,3,6,9,12 y 15.
Observamos que  no se pueden formar grupos. Para este caso podemos expresar la función Booleana como: MU = D' C'(B'A' + B A) + D C (B'A' + B A) + D' C B A' + D C' B' A = (D' C' + D C) ( B'A' + BA) + D'C B A'+DC'B'A 

En ABEL: MU = !(D $ C) & !(B $ A) # !D & C & B & !A  # D & !C & !B & A.

Luego pasamos al ispLEVER de Lattice Semiconductor, configuramos la GAL22V10 como el dispositivo a utilizar, y elaboramos en el Editor de Texto el módulo en ABEL-HDL, para introducir las 2 ecuaciones Booleanas:

Para estar seguros que el circuito funciona perfectamente elaboramos la simulación por medio del estímulo de formas de onda, tal como se muestra

Una vez que sabemos que el circuito responde a lo exigido, creamos el Mapa de Fusibles, verificando con el Chip Report que la configuración de pines también es tal como la deseábamos. Solo resta programar la Gal e implementar en la práctica el circuito con los Dip Switchs y los Leds. 













1 comentario:

  1. buenas noches ingeniero, el programa no me permite compilar, terminadas las ecuaciones presentar un error que no he logrado identificar, que puedo hacer?
    ATT: Gina P

    ResponderEliminar