Compilador PLD. GAL22V10. - Departamento de Electrónica

Anuncio
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
9. Uso del Compilador PLD de Orcad, para minimización de Funciones Booleanas.
Se requiere escribir un programa que describa la función a minimizar.
El operador or se escribe usando el símbolo #.
El operador and se escribe empleando el símbolo &.
Una variable complementada se indica con una comilla simple.
La forma de programar se muestra a través de un ejemplo.
Las líneas de programa comienzan con una barra |.
La primera línea es obligada. La programación consiste en escribir las variables específicas que se
emplearán en una aplicación determinada.
Se ilustra el uso de dispositivos genéricos para proceder a la minimización de las ecuaciones.
El dispositivo GEN40RP40 posee un arreglo de 256.000 fusibles en forma simétrica. Esto permite
obtener las ecuaciones reducidas, aún en casos muy complejos.
Ejemplo: Se desea minimizar la función:
f = x’y( z + y’x ) + y’z
Mediante un editor se escribe el siguiente programa, se guarda como ejemplo.pld
|GEN40RP40 io:(f,x,y,z)
|
| f = (x' & y & (z # (y'&x))) # (y' & z)
|
Nótese el uso de paréntesis para delimitar los diferentes términos, y asociarlos correctamente con los
operadores.
Luego se efectúa la compilación, ejecutando:
pld ejemplo
El compilador genera varios archivos. Uno de ellos con extensión lst, contiene las expresiones
resueltas. Cada línea es un implicante primo. Y se expresan como suma de productos.
Prof. Leopoldo Silva Bijit.
14-11-2015
148
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
RESOLVED EXPRESSIONS (Reduction 2)
Signal name
Row
Sum-of-product terms
f
1
2
x' z
y' z
Otro archivo con extensión vec, contiene la expresión escrita usando los operadores del lenguaje.
{ Vector: (f)L,x,y,z,"00000000000000000000000000000000000000NNNNNN";
Object: "JEDEC";
Clock: 41;
f = ((x'&z)#(y'&z));
}
Finalmente la expresión mínima es: f = x’z + y’z
9.1 Minimización basada en mintérminos.
Ejemplo.
El siguiente caso muestra el uso de comentarios, y cómo se escriben los mintérminos para que el
texto resulte legible.
También puede usarse como molde para minimizaciones, en base a mintérminos para 4, 5 o 6
variables, mediante la extracción mediante las operaciones cortar-pegar del editor de textos.
Nótese que pueden minimizarse varias funciones a la vez.
OrCAD/PLD COMPILER V1.20E 5/31/90 (Source file APUNTES2.PLD)
Solución de los ejemplos planteados en los apuntes
|GEN40RP40 io:(A,B,C,D,E,F,f1,f2,f3,f4,f5)
|
|f1=m(0,1,3,8,9,11,13,14)
comentario
| f1 =(A'&B'&C'&D' )#
|varias líneas de una expresión.
|
(A'&B'&C'&D )#
|
(A'&B'&C &D )#
|
(A &B'&C'&D' )#
|
(A &B'&C'&D )#
|
(A &B'&C &D )#
|
(A &B &C'&D )# (A &B &C &D')
f2=m(0,1,2,7,8, 9,10,15)
también es comentario
| f2 =(A'&B'&C'&D')#(A'&B'&C'&D )#(A'&B'&C &D')#(A'&B &C &D)#(A&B'&C'&D')#
| (A &B'&C'&D )#(A &B'&C &D')#(A &B &C &D ) |varias términos en una línea.
Prof. Leopoldo Silva Bijit.
14-11-2015
149
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
f3=m(0,2,4,7,10,12,13,18,23,26,28,29)
| f3 =(A'&B'&C'&D'&E')#
| (A'&B'&C'&D &E')#
| (A'&B'&C &D'&E')#
| (A'&B'&C &D &E )#
| (A'&B &C'&D &E')#
| (A'&B &C &D'&E')#
| (A'&B &C &D'&E )#
| (A &B'&C'&D &E')#
| (A &B'&C &D &E )#
| (A &B &C'&D &E')#
| (A &B &C &D'&E')#
| (A &B &C &D'&E )
f4=m(4,5,7,8,10,11,12,13,15)
| f4 =(A'&B &C'&D')#
| (A'&B &C'&D )#
| (A'&B &C &D )#
| (A &B'&C'&D')#
| (A &B'&C &D')#
| (A &B'&C &D )#
| (A &B &C'&D')#
| (A &B &C'&D )#
| (A &B &C &D )
f5=m(0,2,6,7,8,10,12,14,15,41)
| f5 =(A'&B'&C'&D'&E'&F')# |m0
| (A'&B'&C'&D'&E &F')#
| (A'&B'&C'&D &E &F')#
| (A'&B'&C'&D &E &F )#
| (A'&B'&C &D'&E'&F')#
| (A'&B'&C &D'&E &F')#
| (A'&B'&C &D &E'&F')#
| (A'&B'&C &D &E &F')#
| (A'&B'&C &D &E &F )#
| (A &B'&C &D'&E'&F )
|m2
|m6
|m7
|m8
|m10
|m12
|m14
|m15
|m41
El resultado se encuentra en apuntes2.lst
RESOLVED EXPRESSIONS (Reduction 3)
Signal name Row Sum-of-product terms
f1
481
A B C D'
482
A C' D
483
B' C'
484
B' D
f2
561
B C D
Prof. Leopoldo Silva Bijit.
14-11-2015
150
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
f3
f4
f5
562
563
641
642
643
644
721
722
723
724
801
802
803
804
B' C'
B' D'
A' B' D' E'
B' C D E
B C D'
C' D E'
A B' C
A B' D'
B C'
B D
A B' C D' E' F
A' B' C F'
A' B' D' F'
A' B' D E
O alternativamente en apuntes2.vec:
f1 = ((A&B&C&D')#(A&C'&D)#(B'&C')#(B'&D));
f2 = ((B&C&D)#(B'&C')#(B'&D'));
f3 = ((A'&B'&D'&E')#(B'&C&D&E)#(B&C&D')#(C'&D&E'));
f4 = ((A&B'&C)#(A&B'&D')#(B&C')#(B&D));
f5 = ((A&B'&C&D'&E'&F)#(A'&B'&C&F')#(A'&B'&D'&F')#(A'&B'&D&E));
O empleando la notación de los apuntes:
f1= m(0,1,3,8,9,11,13,14) = ABCD’+AC’D+B’C’+B’D
f2= m(0,1,2,7,8, 9,10,15) = BCD+B’C’+B’D’
f3= m(0,2,4,7,10,12,13,18,23,26,28,29) = A’B’D’E’+B’CDE+BCD’+C’DE’
f4= m(4,5,7,8,10,11,12,13,15) = AB’C+AB’D’+BC’+BD
f5= m(0,2,6,7,8,10,12,14,15,41) = AB’CD’E’F+A’B’CF’+A’B’D’F’+A’B’DE
Solución de los ejemplos planteados en los apuntes.
Alternativa eficiente para programar en base a mintérminos. Empleando el comando Table.
El cual permite describir una tabla de verdad. Se trata el mismo ejemplo anterior para f5.
|GEN40RP40 io:(A,B,C,D,E,F,g)
g = m(0,2,6,7,8,10,12,14,15,41)
| table: a,b,c,d,e,f ->g
|{0-> 1
| 2-> 1
| 6-> 1
| 7-> 1
| 8-> 1
|10-> 1
|12-> 1
|14-> 1
|15-> 1
Prof. Leopoldo Silva Bijit.
14-11-2015
151
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
|41-> 1}
| Vectors:
| { D (a,b,c,d,e,f)d,g
| test a,b,c,d,e,f
| End }
Ejemplo.
El siguiente ejemplo muestra la minimización en forma de sumas de productos y productos de
sumas.
Nótese que los dos programas son prácticamente idénticos, excepto una letra en el nombre del
dispositivo. Las salidas se colocan en sublista con prefijo out; las entradas en lista con prefijo in.
9.2 Diseño de ecuaciones lógicas con mintérminos en forma de sumas de productos.
|PAL12H6 in:(A,B,C,D), out:(f4)
|Title: "Sistemas Digitales"
"Universidad Técnica Federico Santa María"
"Departamento de Electrónica"
f4=m(4,5,7,8,10,11,12,13,15)
| f4 =(A'&B &C'&D')#
| (A'&B &C'&D )#
| (A'&B &C &D )#
| (A &B'&C'&D')#
| (A &B'&C &D')#
| (A &B'&C &D )#
| (A &B &C'&D')#
| (A &B &C'&D )#
| (A &B &C &D )
RESOLVED EXPRESSIONS (Reduction 2)
Signal name Row Sum-of-product terms
f4
0
A B' D'
1
A C D
2
B C'
3
B D
El resultado puede expresarse como: f4 = AB’D’ + ACD + BC’ + BD
9.3 Diseño de ecuaciones lógicas con mintérminos en forma de productos de sumas.
|PAL12L6 in:(A,B,C,D), out:(f4)
|
f4=m(4,5,7,8,10,11,12,13,15)
| f4 =(A'&B &C'&D')#
Prof. Leopoldo Silva Bijit.
14-11-2015
152
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
|
|
|
|
|
|
|
|
(A'&B &C'&D )#
(A'&B &C &D )#
(A &B'&C'&D')#
(A &B'&C &D')#
(A &B'&C &D )#
(A &B &C'&D')#
(A &B &C'&D )#
(A &B &C &D )
Signal name Row Sum-of-product terms
f4'
0
B' C' D
1
B C D'
2
A' B'
Pero nótese, que por la elección del tipo de dispositivo (con lógica negativa), que muestra la
expresión para f4’.
Entonces, resulta:
f4 = (B+C+D’)(B’+C’+D)(A+B)
9.4 Solución de problemas combinacionales usando PLD.
|GEN40RP40 io:(A,B,C,D,E,F,G,f1,f2,f3,f4,f5,f6,f7)
a) Minimizar f1=AB+A'C'+AC+A'D+B'E
| f1 = (A&B)#(A'&C')#(A'&D)#(B'&E)
b) Minimizar f2=A+A'B'+B'(C+DE)
| f2 = (A)#(A'&B')#(B' & (C#(D&E)) )
c) Complementar la funcion A +B'(C+D(E+F'G'))
| f3 = (A#(B'&(C#(D&(E#(F'&G'))))))'
d) Demostrar la identidad (A+B)(A'+C)(B+C+D) = (A+B)(A'+C)
| f4 = (A#B)&(A'#C)&(B#C#D)
| f5 = (A#B)&(A'#C)
la equivalencia de a con b es : a'b'+ab
| f6 = ((((A#B)&(A'#C)&(B#C#D))')&(((A#B)&(A'#C))')) #
| ( ((A#B)&(A'#C)&(B#C#D)) & ((A#B)&(A'#C)) )
e) Determinar, empleando compuertas NOR circuito minimo para
f= (B'+C')(A'D'+BD'+C'D)
| f7 = ((B'#C')&( (A'&D')#(B&D')#(C'&D) ) )'
Observaciones.
En el ejemplo c), se complementa la función dada. De este modo f3 es lo pedido.
Prof. Leopoldo Silva Bijit.
14-11-2015
153
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
En d) hay dos formas de solución. Primero se genera f4 y f5 y se comparan sus implicantes primos.
Como son iguales se tiene demostrada la identidad.
La segunda forma de solución es mediante la operación equivalencia lógica, ésta se plantea en f6, y
se observa que la expresión resuelta es una tautología.
En el problema e), se obtienen los implicantes, en forma de productos de sumas, de la función
negada. La expresión resuelta para f7 son los ceros de f, agrupados como mintérminos; de este
modo sólo resta formar los productos de sumas por complementación.
RESOLVED EXPRESSIONS (Reduction 3)
Signal name Row Sum-of-product terms
f1
561
562
563
564
A' C'
A' D
A B
B' E
f2
641
642
A
B'
f3
721
722
723
724
A' C' E' F
A' C' E' G
A' C' D'
A' B
f4
801
802
A' B
A C
f5
881
882
A' B
A C
f6
961
1
f7
1041
1042
1043
A B' D'
B C
C D
f1 = ((A'&C')#(A'&D)#(A&B)#(B'&E));
f2 = ((A)#(B'));
f3 = ((A'&C'&E'&F)#(A'&C'&E'&G)#(A'&C'&D')#(A'&B));
f4 = ((A'&B)#(A&C));
f5 = ((A'&B)#(A&C));
f6 = (1);
f7 = ((A&B'&D')#(B&C)#(C&D));
Prof. Leopoldo Silva Bijit.
14-11-2015
154
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Para e), se tiene que f = (A’+B+D)(B’+C’)(C’+D’) que puede expresarse directamente con
compuertas NOR.
Uso de PLD, para grabar EEPROM.
Diseños combinacionales pueden ser implementados en EPROM, generando el archivo binario con
el mapa de memoria.
Se dispone de memorias genéricas, que se denominan de acuerdo al número de líneas de dirección y
al del número de bits del contenido.
Por ejemplo el dispositivo PROM32B8 especifica una eprom de 32 palabras de 8 bits cada una.
Cuando se especifican dispositivos PROM, el compilador genera un archivo hexadecimal en formato
INTEL, el cual puede grabarse fácilmente.
Para enfrentar estos diseños, primero se elige un dispositivo eprom adecuado. El compilador asigna
las entradas como direcciones, la más significativa primero. Entonces, la primera variable de entrada
es asociada al bit de dirección más significativo. La primera salida está asociada al bit de dato más
significativo.
Puede ser necesario definir entradas y salidas nulas, para asegurar las posiciones de las direcciones
y datos en que se tendrán las entradas y salidas, respectivamente. Luego pueden borrarse las zonas
que no se empleen.
Se desea diseñar un conversor de una cifra hex a código de 7 segmentos. Se requieren 4 líneas
de dirección y 7 bits de largo de palabra. El dispositivo existente más cercano en PROM32B8. En
el cual se tienen 5 líneas de dirección y 8 bits de datos. En el código se agregan una entrada nula e,
y una salida nula, denominada nulo.
Entonces la zona desde 10h hasta 1fh, que se logra con la línea de dirección más significativa igual a
uno, no será utilizada. Tampoco la línea de dato más significativa.
|PROM32B8 in:(e,a,b,c,d), out:(nulo,seg[6..0])
|
|nulo=0
|table: e,a,b,c,d -> nulo,seg[6..0]
|{0h-> 3fh
|01h-> 06h
|02h-> 5bh
|03h-> 4fh
|04h-> 66h
|05h-> 6dh
|06h-> 7dh
|07h-> 07h
|08h-> 7fh
|09h-> 67h
|0ah-> 77h
|0bh-> 7ch
|0ch-> 39h
|0dh-> 5eh
|0eh-> 79h
Prof. Leopoldo Silva Bijit.
14-11-2015
155
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
|0fh-> 71h}
| Vectors:
| { D (a,b,c,d)h,(seg[6..0])h
| test a,b,c,d
| End }
La ejecución del programa genera un archivo, con extensión hex, que puede emplearse para grabar
la EEPROM.
El texto del archivo Intel es:
:100000003F065B4F666D7D077F67777C395E797150
:1000100000000000000000000000000000000000E0
:00000001FF
Notar que el programa genera las sumas de chequeo.
En el ejemplo debe borrarse la segunda línea que está asociada a las direcciones que van desde 10h
hasta 1fh.
Otro ejemplo:
|PROM32B8 in:(addrs[5..0] ), out:(data[7..0])
|table: addrs[4..0] -> data[7..0]
|{0h-> 00h
|01h-> 01h
|02h-> 02h
|03h-> 03h
|04h-> 04h
|05h-> 05h
|06h-> 06h
|07h-> 07h
|08h-> 08h
|09h-> 09h
|0ah-> 0ah
|0bh-> 0bh
|0ch-> 0ch
|0dh-> 0dh
|0eh-> 0eh
|0fh-> 0fh
|10h-> 10h
|11h-> 11h
|12h-> 12h
|13h-> 13h
|14h-> 14h
|15h-> 15h
|16h-> 16h
|17h-> 17h
|18h-> 18h
|19h-> 19h
Prof. Leopoldo Silva Bijit.
14-11-2015
156
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
|1ah-> 1ah
|1bh-> 1bh
|1ch-> 1ch
|1dh-> 1dh
|1eh-> 1eh
|1fh-> 1fh }
| Vectors:
| { D (addrs[4..0])h,(data[7..0])h
| test addrs[4..0]
| End }
La asignación de señales muestra en orden que se eligen las entradas y salidas
SIGNAL ASSIGNMENT
Pin
Signal name Address Data Activity
bit
bit
2.
3.
4.
5.
6.
16.
17.
18.
19.
20.
21.
22.
23.
addrs4
addrs3
addrs2
addrs1
addrs0
data0
data1
data2
data3
data4
data5
data6
data7
4
3
2
1
0
-
0
1
2
3
4
5
6
7
High
High
High
High
High
High
High
High
High
High
High
High
High
También genera en lst. una descripción del mapa de memoria.
HEXADECIMAL OBJECT FILE
Addr
0 1 2 3 4 5 6 7 8 9 A B C D E F
0000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0010 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
Y en un archivo con extensión hex, el archivo en formato Intel.
:10000000000102030405060708090A0B0C0D0E0F78
:10001000101112131415161718191A1B1C1D1E1F68
:00000001FF
Prof. Leopoldo Silva Bijit.
14-11-2015
157
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Quizz 07
Solución . Laboratorio de Sistemas Digitales. Exp. 07
2. Se tiene el siguiente programa:
|GAL22V10 in:(A,B,C), io:(D,E)
|table: A,B,C -> D,E
|{0-> 3
| 1-> 2
| 2-> 2
| 3-> 0
| 4-> 3
| 5-> 0
| 6-> 3
| 7-> 3
|}
|Vectors:
| { Display (A,B,C)d,D,E
| test a,b,c
| End }
01/2000
AB
00
C
0 11
1
10
01
0
1
10
00
11
2
3
11
11
10
6
7
11
00
4
5
D, E
a) Determinar las ecuaciones que representa el programa:
Escribiendo la información de la tabla en un mapa, se logra:
D = A' B' + A B + C'
E = A B + B' C'
50 puntos.
b) Determinar la salida al ejecutar el programa vectors. ¿Cuál es la finalidad de ejecutar el
programa vectors?
| { Display (a,b,c)d,d,e Desplegar abc en decimal, luego d y finalmente e.(por defecto en decimal)
| test a,b,c
Forma el producto cartesiano, con a, b y c tomando valores 0 y 1.
011
Considera a A la cifra más significativa.
110
210
300
411
500
611
711
| End }
La salida anterior se muestra en pantalla, y se registra en un archivo con extensión .log. 25 puntos.
El comando display muestra los valores que se especifiquen y en el formato que se desee, para cada
uno de las combinaciones que genere el comando test. Lo cual permite revisar las salidas del
programa para las entradas que se especifican en test.
El comando test además genera un vector para cada de las combinaciones de valores que produzca.
La ejecución del programa vectors agrega al final del archivo jedec los vectores que se generan con
el comando test, que permite verificar la grabación de la gal. 25 puntos.
Prof. Leopoldo Silva Bijit.
14-11-2015
158
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Hasta aquí la solución del quizz. Se agrega más información sobre el tema:
Mediante esta información es posible verificar funcionalmente la grabación de la GAL. Esto se
efectúa usando un programa que viene con el grabador de GAL: PLD test. El cual pide ingresar los
vectores, a lo que debe responderse que están en el archivo jedec correspondiente. Y luego puede
someterse a prueba con cada uno de los vectores.
La estructura del vector tiene 24 carácteres por línea.
Vector: "0",A,B,C,"0000000N000000000",(E,D)L,"N"
Comenzando en 1. Tierra y VCC no tienen especificación y se anotan con una N.
Donde no se efectúa pruebas ni se mide las salidas se marca con 0.
Luego el nombre lógico de las entradas y salidas. Éstas últimas se marcan con L, para indicar que en
estos pines debe medirse un valor. En las salidas en los vectores se coloca L (low) y H (high). En las
entradas se colocan 0 ó 1s. El compilador calcula los valores lógicos que deben tener las salidas, de
acuerdo a las ecuaciones del diseño y coloca L o H según corresponda. En las entradas coloca unos
o ceros de acuerdo con los valores que vaya generando la sentencia test.
Un vector cualquiera, por ejemplo el 5
V00005 01000000000N000000000HHN*
Se interpreta así:
Vector: "0",A,B,C,"0000000N000000000",(E,D)L,"N"
V00005 0 1 0 0 0000000N000000000 HH
N*
Es decir se aplica 5 volts en pin 2 (A), 0 en pines 3 y 4 ( B y C) y debe medirse voltajes altos en
pines 22 y 23 (E y D). En caso que lo medido sea distinto de lo especificado en el vector se genera
una condición de error.
El archivo jedec, con los vectores agregados es como sigue:
Type:
PAL22V10
*
QP24* QF5828* QV1024*
F0*
L0044 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0088 11 11 10 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0132 11 11 01 11 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0176 11 11 11 11 11 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0440 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0484 11 11 01 11 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0528 11 11 11 11 10 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L5808 11 11 11 11 11 11 11 11 11 11 *
C2770*
Prof. Leopoldo Silva Bijit.
14-11-2015
fusibles
159
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
V00001 00000000000N000000000HHN*
V00002 00010000000N000000000LHN*
V00003 00100000000N000000000LHN*
V00004 00110000000N000000000LLN*
V00005 01000000000N000000000HHN*
V00006 01010000000N000000000LLN*
V00007 01100000000N000000000HHN*
V00008 01110000000N000000000HHN*
A289
vectores
A continuación se desarrolla más sobre la información que provee el compilador y otros aspectos de
detalles sobre la arquitectura de dispositivos programables:
Relación entre la información que suministra el compilador y la arquitectura de la GAL.
Se muestra sólo la parte necesaria de la estructura.
Existen 11 entradas y 10 salidas realimentadas que son las columnas de la matriz. Como se tiene la
señal y su complemento, existen 44 columnas. En el archivo Jedec se numeran las líneas de
productos, con el número del fusible inicial de la línea. Estos comienzan en cero (el producto de
reset), luego en 44 comienza el producto que habilita la primera macrocelda y luego 88 y así
sucesivamente. En 5784 está el producto de preset. En 5808 comienzan los que programan la salida
combinacional o de registro. Del 5828 a 5891 los para la firma electrónica. Se marcan en el arreglo
de fusibles los diodos que quedan en las líneas de productos.
Prof. Leopoldo Silva Bijit.
14-11-2015
160
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Señales. Muestra los pines asignados y el tipo de salida.
Rows
Pin Signal name Column
-------------Activity
Beg Avail Used
1.
0
2.
A
4
High
3.
B
8
High
4.
C
12
High
22.
E
6
10
11
2
High
23.
D
2
1
9
3
High
8
8
(Clock)
(Three-state)
(Three-state)
13
2
A
D
E
B
C
Prof. Leopoldo Silva Bijit.
14-11-2015
161
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Ecuaciones: Muestran los productos.
RESOLVED EXPRESSIONS (Reduction 3)
Signal name Row Sum-of-product terms
D
2
A' B'
queda asociado al producto que comienza en 88.
3
A B producto que comienza en fusible 132.
4
C'
producto que comienza en fusible 176
E
11
A B
12
B' C'
Archivo JEDEC. Muestra los fusibles que quedan con un cero.
L0088 11 11 10 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0132 11 11 01 11 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0176 11 11 11 11 11 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0484 11 11 01 11 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0528 11 11 11 11 10 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
Los fusibles se han marcado en el arreglo de la gal.
Los productos que habilitan el tercer estado están todos abiertos (L0044 y L0440)
L0044 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0440 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
Los fusibles que controlan si la macrocelda tendrá salida combinacional o registrada comienzan
en la línea de fusibles L5808.
L5808 11 11 11 11 11 11 11 11 11 11 *
S0 y S1 para la macrocelda con salida por el pin 23 son el 5808 y 5809.
S0 y S1 para la macrocelda con salida por el pin 22 son el 5810 y 5811.
Prof. Leopoldo Silva Bijit.
14-11-2015
162
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
La arquitectura para controlar las salidas se ilustra en el diagrama anterior.
Prof. Leopoldo Silva Bijit.
14-11-2015
163
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
El siguiente ejemplo muestra la programación de las señales globales de reloj, preset y reset.
|GAL22V10 in:externa,io:q0,clock:reloj,reset:interna25,preset:interna26
|
| Registers: reloj // q0
|
| q0 = externa & q0
| interna25 = externa & q0
| interna26 = q0
|Signature: 0123h
OrCAD/PLD COMPILER V1.20E 5/31/90 (Source file CNT5)
|GAL22V10 in:externa,io:q0,clock:reloj,reset:interna25,preset:interna26
|
| Registers: reloj // q0
|
| q0 = externa & q0
Entrada D del flip-flop Q0.
| interna25 = externa & q0
Se programa un producto para reset.
| interna26 = q0
Se programa un producto para preset
| Signature: 0123h
Ecuaciones:
Signal name
q0
interna25
interna26
Row Sum-of-product terms
2
externa q0
0
externa q0
131
q0
Entrada D del flip-flop Q0.
producto reset
producto set
Señales:
Pin
Signal name Column
1. reloj
2. externa
23. q0
25. interna25
26. interna26
0
4
3
-
Prof. Leopoldo Silva Bijit.
Rows
-------------Activity
Beg Avail Used
- High (Clock)
- High
1 9
1
High (Registered)
0 1
1
High
131 1
1
High
14-11-2015
164
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Archivo Jedec:
L0000 11 10 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0044 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0088 11 10 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L5764 11 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L5808 10 11 11 11 11 11 11 11 11 11 *
producto
reset
Programa D0
producto
preset
S1
El siguiente programa muestra la programación de la lógica de salida de la macrocelda, y la
habilitación de tercer estado de una macrocelda:
|PAL22V10 in:externa,io:q0,clock:reloj
|
| habilita1 = externa&q0
| Registers: habilita1 ?? reloj // q0
|
|Active-High: q0,externa,reloj
| q0 = externa & q0
OrCAD/PLD COMPILER V1.20E 5/31/90 (Source file CNT4)
|PAL22V10 in:externa,io:q0,clock:reloj
|
| habilita1 = externa&q0
| Registers: habilita1 ?? reloj // q0
|
|Active-High: q0,externa,reloj
| q0 = externa & q0
Ecuaciones:
Signal name
q0
Row Sum-of-product terms
1
externa q0
2
externa q0
Prof. Leopoldo Silva Bijit.
14-11-2015
165
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO211 Sistemas Digitales
Señales:
Pin
1.
2.
23.
Rows
Signal name Column -------------- Activity
Beg Avail Used
reloj
0
- High (Clock)
externa
4
- High
q0
3
1 9
2
High (Registered)
Archivo Jedec.
Type:
PAL22V10
Tercer Estado Macrocelda
*
Salida en pin 23.
QP24* QF5828* QV1024*
Producto: habilita1
F0*
L0044 11 10 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L0088 11 10 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 *
L5808 10 11 11 11 11 11 11 11 11 11 *
C0C67*
S1 en 0, salida registrada
Prof. Leopoldo Silva Bijit.
14-11-2015
166
Descargar