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