2 figura a.1. utilizacion y generacion de archivos por el ... · diseño de los dispositivos...

52
1 APENDICE A DISPOSITIVOS LOGICOS PROGRAMABLES .................................... A-1 A.1 INTRODUCCION ............................................... A-2 A.2 SISTEMA CUPL ............................................... A-3 A.2.1 CARACTERISTICAS ....................................... A-4 A.2.2 ARCHIVOS .............................................. A-5 A.2.3 UTILIZACION ........................................... A-7 A.3 ARCHIVO DE DESCRIPCION ..................................... A-8 A.3.1 SECCION DE IDENTIFICACION ............................. A-9 A.3.2 SECCION DE DEFINICION ................................ A-10 A.3.3 SECCION DE ECUACIONES ................................ A-11 A.3.3.1 EXPRESIONES ..................................... A-13 A.3.3.2 OPERACIONES EN CONJUNTOS ........................ A-14 (a) CAMPOS ........................................... A-14 (b) OPERADOR DE IGUALDAD ............................. A-15 (c) RANGO ............................................ A-16 A.3.3.3 TABLA DE VERDAD ................................. A-16 A.3.3.4 COMANDO CONDITION ............................... A-17 A.3.3.5 MAQUINAS DE ESTADO .............................. A-18 A.4 SIMULADOR ................................................. A-21 A.4.1 SECCION DE IDENTIFICACION ............................ A-21 A.4.2 SECCION DE ORDENAMIENTO .............................. A-22 A.4.3 SECCION DE VECTORES .................................. A-22 A.4.4 OPCIONES ............................................. A-24 A.5 PROCEDIMIENTO ............................................. A-27 A.6 DISEÑOS ................................................... A-28 A.6.1 TARJETA PRINCIPAL .................................... A-28 A.6.1.1 IODECODE ........................................ A-29 (a) DESCRIPCION LOGICA DE IODECODE ................... A-31 (b) ARCHIVO DE SIMULACION DE IODECODE ................ A-33 (c) RESULTADOS DE IODECODE ........................... A-34 A.6.1.2 WAIT2 ........................................... A-35 (a) DESCRIPCION LOGICA DE WAIT2 ...................... A-37 (b) ARCHIVO DE SIMULACION DE WAIT2 ................... A-39 (c) RESULTADOS DE WAIT2 .............................. A-41 A.6.2 TARJETA DE EXPANSION ................................. A-43 A.6.2.1 EXP_DEC ......................................... A-44 (a) DESCRIPCION LOGICA DE EXP_DEC .................... A-45 (b) ARCHIVO DE SIMULACION DE EXP_DEC ................. A-47 (c) RESULTADOS DE EXP_DEC ............................ A-48 A.6.2.2 EXP_GLUE ........................................ A-49 (a) DESCRIPCION LOGICA DE EXP_GLUE ................... A-51 (b) ARCHIVO DE SIMULACION DE EXP_GLUE ................ A-53 (c) RESULTADOS DE EXP_GLUE ........................... A-54 A.6.3 EXPANSION DE MEMORIA ................................. A-55 A.6.3.1 DESCRIPCION LOGICA DE RAM_EXP ................... A-56 A.6.3.2 ARCHIVO DE SIMULACION DE RAM_EXP ................ A-58 A.6.3.3 RESULTADOS DE RAM_EXP ........................... A-59 A.7 CONCLUSIONES .............................................. A-60 A.8 REFERENCIAS ............................................... A-61

Upload: lamquynh

Post on 12-Feb-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

1

APENDICE ADISPOSITIVOS LOGICOS PROGRAMABLES .................................... A-1

A.1 INTRODUCCION ............................................... A-2A.2 SISTEMA CUPL ............................................... A-3

A.2.1 CARACTERISTICAS ....................................... A-4A.2.2 ARCHIVOS .............................................. A-5A.2.3 UTILIZACION ........................................... A-7

A.3 ARCHIVO DE DESCRIPCION ..................................... A-8A.3.1 SECCION DE IDENTIFICACION ............................. A-9A.3.2 SECCION DE DEFINICION ................................ A-10A.3.3 SECCION DE ECUACIONES ................................ A-11

A.3.3.1 EXPRESIONES ..................................... A-13A.3.3.2 OPERACIONES EN CONJUNTOS ........................ A-14

(a) CAMPOS........................................... A-14(b) OPERADOR DE IGUALDAD............................. A-15(c) RANGO............................................ A-16

A.3.3.3 TABLA DE VERDAD ................................. A-16A.3.3.4 COMANDO CONDITION ............................... A-17A.3.3.5 MAQUINAS DE ESTADO .............................. A-18

A.4 SIMULADOR ................................................. A-21A.4.1 SECCION DE IDENTIFICACION ............................ A-21A.4.2 SECCION DE ORDENAMIENTO .............................. A-22A.4.3 SECCION DE VECTORES .................................. A-22A.4.4 OPCIONES ............................................. A-24

A.5 PROCEDIMIENTO ............................................. A-27A.6 DISEÑOS ................................................... A-28

A.6.1 TARJETA PRINCIPAL .................................... A-28A.6.1.1 IODECODE ........................................ A-29

(a) DESCRIPCION LOGICA DE IODECODE................... A-31(b) ARCHIVO DE SIMULACION DE IODECODE................ A-33(c) RESULTADOS DE IODECODE........................... A-34

A.6.1.2 WAIT2 ........................................... A-35(a) DESCRIPCION LOGICA DE WAIT2...................... A-37(b) ARCHIVO DE SIMULACION DE WAIT2................... A-39(c) RESULTADOS DE WAIT2.............................. A-41

A.6.2 TARJETA DE EXPANSION ................................. A-43A.6.2.1 EXP_DEC ......................................... A-44

(a) DESCRIPCION LOGICA DE EXP_DEC.................... A-45(b) ARCHIVO DE SIMULACION DE EXP_DEC................. A-47(c) RESULTADOS DE EXP_DEC............................ A-48

A.6.2.2 EXP_GLUE ........................................ A-49(a) DESCRIPCION LOGICA DE EXP_GLUE................... A-51(b) ARCHIVO DE SIMULACION DE EXP_GLUE................ A-53(c) RESULTADOS DE EXP_GLUE........................... A-54

A.6.3 EXPANSION DE MEMORIA ................................. A-55A.6.3.1 DESCRIPCION LOGICA DE RAM_EXP ................... A-56A.6.3.2 ARCHIVO DE SIMULACION DE RAM_EXP ................ A-58A.6.3.3 RESULTADOS DE RAM_EXP ........................... A-59

A.7 CONCLUSIONES .............................................. A-60A.8 REFERENCIAS ............................................... A-61

Page 2: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

2

Figura A.1. Utilizacion y generacion de archivos por el sistemaCUPL. .......................................................... A-6

Figura A.2. Diagrama de flujo del procedimiento para diseñar unPLD. .......................................................... A-27

Figura A.3. Diagrama esquematico equivalente de IODECODE ........... A-30Figura A.4. Diagrama esquematico equivalente de WAIT2 .............. A-37Figura A.5. Diagrama esquematico equivalente de EXP_DEC ............ A-44Figura A.6. Diagrama esquematico equivalente de EXP_GLUE ........... A-51Figura A.7. Diagrama esquematico equivalente de RAM_EXP ............ A-56

Page 3: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

3

Tabla A.1. Caracteres reservados de CUPL ............................ A-9Tabla A.2. Palabras reservadas de CUPL .............................. A-9Tabla A.3. Operadores Booleanos del programa CUPL por orden de

precedencia. .................................................. A-12Tabla A.4. Extensiones de variables ................................ A-13Tabla A.5. Valores para probar las distintas variables en el

simulador. .................................................... A-23Tabla A.6. Caracteristicas de los PLD, programables por la version

de CUPL. ...................................................... A-29Tabla A.7. Mapa de direcciones del dispositivo IODECODE ............ A-31Tabla A.8. Mapa de direcciones del dispositivo WAIT2 ............... A-36Tabla A.9. Mapa de direcciones del dispositivo EXP_DEC. ............ A-45Tabla A.10. Mapa de direcciones del dispositivo RAM_EXP ............ A-56

Page 4: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

APENDICE A

DISPOSITIVOS LOGICOS PROGRAMABLES

Page 5: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-2

A.1 INTRODUCCION

En el diseño de sistemas computarizados siempre se necesitan

dispositivos como decodificadores de direcciones, generadores de estados

de espera y circuitos logicos generales. Generalmente estos circuitos

son construidos con compuertas discretas de las familias TTL1 (74xx) o

CMOS2 (40xx).

La utilización de dispositivos de estas familias tiene sus ventajas

y desventajas. Ventajas como la seguridad de los repuestos, bajo costo y

bajo consumo3. Desventajas como la gran utilización de espacio en el

circuito impreso y complejidad en el diseño.

Como alternativa a las desventajas producidas por la utilización de

compuertas discretas, surgen los Dispositivos Lógicos Programable, (PLD4)

estos son circuitos integrados, los cuales son programables, que constan

de múltiples compuertas y/o basculadores (Flip/Flops), interconectados

entre si.

Para programar los mismos, el usuario crea una descripción lógica

del circuito (en un archivo de texto) la cual es convertida en un mapa de

fusibles5 con la ayuda de un programa compilador. Este mapa de fusibles

es programado dentro del circuito integrado, tal como se programa una

memoria tipo PROM o EEPROM (dependiendo de la construcción del

dispositivo). De esta manera solo quedan conectados a las compuertas,

los términos que se necesitan para realizar la función booleana y el

1TTL = Transistor Transistor Logic

2CMOS = Complementary Metal Oxide Semiconductor

3Un PLD consume un promedio de 100mA @ 5V, mientras que tres dispositivosde la familia TTL consumen un promedio de xxxmA @ 5V.

4PLD = Programable Logic Device

5Se le llama mapa de fusibles como el de las memorias PROM, aunque suconstrucción no utilice fusibles (luz ultravioleta UV-PLD o eléctricamenteborrable EE-PLD).

Page 6: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-3

dispositivo se convierte en una nueva parte completamente hecha a la

medida.

En este apéndice se explica la utilización del programa que

convierte la descripción lógica en el mapa de fusibles, se explica la

utilización del programa que simula la descripción lógica y se explica el

diseño de los dispositivos lógicos programables utilizados en el Sistema

Didáctico SD-88.

A.2 SISTEMA CUPL

El sistema CUPL6 es uno de los estandares de la industria

electronica. El mismo es utilizado para generar el mapa de fusibles de

un dispositivo logico programable atraves de una descripcion logica de

alto nivel. CUPL es un programa desarrollado por Logical Devices, Inc. y

consiste basicamente de tres programas:

CUPL : Compilador Universal de lógica programable.

CUPL le permite escribir y compilar descripciones lógicas

para asignar a dispositivos lógicos programables (PLD), a

través de programadores de dispositivos.

CSIM : Simulador de CUPL

CSIM le permite simular su diseño antes de empezar la

producción. Usted crea un archivo describiendo el

funcionamiento esperado del PLD en términos de valores de

entrada y salida. CSIM compara los valores esperados con los

calculados en la operación de CUPL.

CBLD : Manejador de librerías

CBLD : Le permite manejar las librerías del programa, para

6CUPL = Universal Compiler for Programable Logic

Page 7: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-4

crear más pequeñas con dispositivos específicos.

A.2.1 CARACTERISTICAS

Las caracteristicas basicas con que consta la implementacion de

CUPL de Logical Devices, Inc. son:

-Aplicabilidad Universal

CUPL soporta los productos de todos las casas fabricantes de PLD, y

le permite a usted poner la misma funcionabilidad lógica, en

distintos dispositivos.

-Lenguaje de Alto Nivel

Substitución de expresiones por ecuaciones, notación abreviada para

listas, rango de direcciones (addr. range), campos de bits, etc. le

ahorraran tiempo en su diseño. La sintaxis de las máquinas de

estado le proveen de un medio poderoso de implementar cualquier

aplicación sincrona (synchronous) usando los modelos de máquinas de

estado de MEALY7 o MOORE8.

-Documentación Flexible

CUPL le permite documentar extensamente su diseño, además que la

detección de errores se hace de una manera detallada, diseñada para

guiarlo rápidamente a la fuente del mismo.

-Simplificador y Simulador

CUPL le proporciona cuatro niveles de simplificación de ecuaciones

7Un circuito donde la salida es funcion del estado de la maquina y lasentradas del circuito.

8Un circuito donde la salida es funcion solamente del estado de la maquina.

Page 8: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-5

booleanas. El simulador le permite simular su diseño antes de

utilizar un PLD. Esta característica previene la perdida de PLDs y

le ayuda a encontrar problemas a nivel de diseño. Los vectores

verificados por CSIM pueden ser enviados al programador para la

verificación de los mismos en el dispositivo.

A.2.2 ARCHIVOS

Básicamente solo es necesario crear un archivo (*.PLD) para generar

el mapa de fusibles de un dispositivo logico programable. Si el

diseñador desea simular el diseño, entonces es necesario crear otro

archivo más (*.SI).

Con el archivo de la descripcion logica (*.PLD), y/o el archivo de

simulacion (*.SI), el programa CUPL, crea el mapa de fusibles (*.JED

*.HEX, *.HL), y archivos de listado (*.LST) y documentacion (*.DOC). En

la figura A.1, se muestra un diagrama de la utilizacion de archivos del

sistema CUPL.

Page 9: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-6

Archivos de Entrada.*.PLD Archivo con las descripciones lógicas.*.SI Archivo con valores esperados (para simulador).

Archivos Intermedios*.ABS Archivo generado por CUPL, para ser usado por CSIM.

Archivos de Salida*.LST Archivo con listado de errores*.DOC Archivo con documentación

*.SO Archivo con resultado de la simulación

*.JED(1) Archivo con mapa de fusible en formato JEDEC*.JED(2) Archivo con mapa de fusible y vectores de prueba en formato JEDEC*.HL Archivo con mapa de fusible en formato HL*.HEX Archivo con mapa de fusible en formato HEX

Los archivos de mapa de fusibles (*.JED *.HEX, *.HL), contienen la

informacion especifica sobre que fusibles programar dentro del

dispositivo. El archivo de listado contiene el archivo de entrada

(*.PLD) con los error encontrados en la compilacion. El archivo de

documentacion contiene, todas las ecuaciones logicas expandidas, asi como

una representacion fisica del dispositivo (numero de pin acompañado por

nombre).

Figura A.1. Utilizacion y generacion de archivos por el sistema CUPL.

Page 10: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-7

A.2.3 UTILIZACION

El programa CUPL puede ser ejecutado desde la linea de comando de

DOS (prompt) o desde un archivo de procesamiento en lotes (Batch File).

Cualquiera sea el caso, el programa CUPL.EXE posee las siguientes

opciones a la hora de su utilización.

cupl [-flags] [library] [device] source

donde flags, son las distintas opciones que soporta el programa.

-j Formato de salida JEDEC-h Formato de salida ASCII-HEX-i Formato de salida HL-a Crear archivo absoluto-l Crear archivo de documentacion-x Expandir los terminos en el archivo de documentacion-f Crear el diagrama del dispositivo y el mapa de fusibles-d Desactivar los terminos OR no usados-r Desabilitar la union de terminos-g Programar el fusible de seguridad-u Utilizar la libreria especificada para la compilacion-s Ejecutar la simulacion despues de la compilacion-m0 Sin simplificacion-m1 Simplificacion rapida-m2..m4 Otros niveles de simplificacion

library:

Nombre de archivo de la libreria a utilizar. Solo cuando se

utiliza la opcion -u.

device:

Nombre del dispositivo a utilizar. Solo cuando no se especifica el

dispositivo, en el archivo *.PLD .

source:

Nombre del archivo a compilarse (*.PLD) .

El autor recomienda se compile la descripción (*.PLD) con la

siguiente línea de comando, para depurar los errores, ya que su ejecucion

es sumamente rapida, por no especificar simplificaciones avanzadas de la

Page 11: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-8

descripcion logica.

C:>cupl -j test

Luego de esto cuando no se encuentran más errores se simule y

minimize la descripcion logica con la siguiente línea de comando.

C:>cupl -j -f -x -l -s -m4 test

A.3 ARCHIVO DE DESCRIPCION

CUPL es un lenguaje de alto nivel, similar en cierta forma al

lenguaje 'C'. El mismo consta de comandos y funciones. El archivo

fuente es creado con cualquier editor de texto de DOS y contiene una

extension *.PLD. Las lineas de comando, como en 'C', son separadas por

punto y coma ';' y los nombres de variables, no pueden empezar con

numeros, ni contener caracteres reservados o palabras reservadas. En la

tabla A.1 y la tabla A.2, se muestran los caracteres y palabras

reservadas.

Tabla A.1. Caracteres reservados de CUPL

& # ( ) -* + [ ] /: . .. /* */; , ! ' =@ $ ^

Tabla A.2. Palabras reservadas de CUPL

APPEND FLD NEXTASSEMBLY FORMAT NODEASSY FUNCTION OUTCOMPANY IF PARTNOCONDITION JUMP PINDATE LOC PRESENTDEFAULT LOCATION REVDESIGNER MACRO REVISIONDEVICE MIN SEQUENCEELSE NAME TABLEFIELD

Page 12: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-9

El archivo de entrada de CUPL consta básicamente de tres secciones.

-Sección de Identificación del producto

-Sección de definición de pines

-Sección de ecuaciones lógicas

A.3.1 SECCION DE IDENTIFICACION

Esta seccion es utilizada para identificar el producto y esta

compuesta por hasta nueve datos como el nombre del diseño, número de

parte, fecha, número de revision, compañía, etc.. Todos estos datos

pueden ser omitidos menos el que define el tipo de dispositivo. El

proposito de esta seccion, es la de brindar un cierto grado de

documentacion al diseño y definir el tipo de dispositivo a utilizarse en

el diseño.

También es importante notar que esta seccion tiene que ser

exactamente igual en el archivo de simulación, de lo contrario CUPL

generara un error de inconsistencia en el encabezado.

Ejemplo:

Name IODECODE;Partno None;Date 03/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly PC Memory;Location U11;Device P16L8; <=== Indica que se esta utilizando un PAL16L8

A.3.2 SECCION DE DEFINICION

En esta seccion se asigna el pin del dispositivo a un nombre de

variable. Ademas de la asignacion, se define el nivel logico activo. El

nivel logico activo significa, el estado logico que asumira el pin,

cuando se acierte a una condicion. Por ejemplo: la funcion logica AND es

cierta cuando, sus dos variables son ciertas (notese que nos referimos a

ciertas y no a uno '1'). Para que una variable sea cierta, su nivel

Page 13: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-10

logico ('0' ó '1') debe coincidir con su nivel activo definido. ('0' para

activo bajo y '1'para activo alto). El formato de la declaracion PIN, es

el siguiente:

PIN pin_n = [!]var;

Donde:

PIN Comando que declara el numero de pin y lo asigna a una

variable.

pin_n Numero del pin en decimal o una lista de numeros de pin

utilizando la notacion de lista.

[pin_n1...pin_nx]

= Operador de igualdad

! Simbolo de exclamacion opcional, utilizado para definir la

polaridad de la señal (activo bajo).

var Nombre de variable o una lista de nombres de variables

utilizando la notacion de lista.

[var1...varx]

Ejemplo:

/** Entradas **/ <=== Solo comentarios

PIN [1..8] = [A4..11] ; <=== Utilización de 'shorthand'PIN 9 = IO ; <=== Pin activo altoPIN 11 = !wr ; <=== Pin activo bajo

/** Salidas **/ <=== Solo comentarios

PIN 12 = !cs_8259; <=== Pin activo bajoPIN 13 = !cs_8253; <=== Pin activo bajoPIN 14 = !cs_8255; <=== Pin activo bajoPIN 15 = !cs_8251; <=== Pin activo bajoPIN 16 = !cs_923; <=== Pin activo bajoPIN 17 = cs_8116; <=== Pin activo altoPIN 18 = !io_wr; <=== Pin activo bajoPIN 19 = !mem_wr; <=== Pin activo bajo

A.3.3 SECCION DE ECUACIONES

En esta seccion se escriben las ecuaciones lógicas que seran

programadas en el dispositivo. Los operadores lógicos disponibles al

programador son los presentados en la tabla A.3.

Page 14: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-11

El formato de una ecuacion es el siguiente:

[!]var[.ext] = exp;

Donde:

! Operador de complemento.

var Nombre de la variable (generalmente pines de salida).

.ext Extension opcional, cuando los dispositivos constan con nodos

internos (vea tabla A.4).

= Operador de igualdad.

exp Expresion; es una combinacion de variables y operadores.

Tabla A.3. Operadores Booleanos del programa CUPL por ordende precedencia.

Función Símbolo Ejemplo

Not ! B = !A

OR # C = A # B

AND & C = A & B

XOR $ C = A $ B

Page 15: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-12

Ejemplo:

/** Declaracion de Variables Intermedias **/

Field memadr = [A11..4] ; <== Variable intermedia

/** Ecuaciones Logicas **/

mem_wr = !IO & wr; <== Ecuacion de la señal MEM_WRio_wr = IO & wr; <== Ecuacion de la señal IO_WRcs_8259 = IO & memadr:[020..02F] ; <== Chip Select del 8259cs_8253 = IO & memadr:[040..04F] ; <== Chip Select del 8253cs_8255 = IO & memadr:[060..06F] ; <== Chip Select del 8255cs_8251 = IO & memadr:[3F0..3FF] ; <== Chip Select del 8251cs_923 = IO & memadr:[F40..F4F] ; <== Chip Select del 74C923cs_8116 = IO & memadr:[F80..FFF] & wr; <== Chip Select del 8116

A.3.3.1 EXPRESIONES

Las expresiones son una combinacion de variables y operadores que

producen un resultado cuando son evaluadas por el compilador. Una

expresion puede estar compuesta de cualquier numero de sub-expresiones.

Tabla A.4. Extensiones de variables

.D Entrada D de basculador tipo D

.L Entrada D de basculador tipo D transparente

.J Entrada J de basculador tipo JK

.K Entrada K de basculador tipo JK

.S Entrada S de basculador tipo SR

.R Entrada R de basculador tipo SR

.T Entrada T de basculador tipo T

.DQ Salida Q de basculador tipo D

.LQ Salida Q de basculador tipo D transparente

.AP Preset asincronico de basculadores

.AR Reset asincronico de basculadores

.SP Preset sincronico de basculadores

.SR Reset sincronico de basculadores

.CK Entrada de reloj de basculadores

.OE Habilitador de salidas programable (Output Enable)

.CA Arreglo complementario

Page 16: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-13

Las expresiones son evaluadas dependiendo de la precedencia de los

operadores utilizados. Cuando operadores con igual precedencia aparecen

en una expresion, el orden de la evaluacion es de izquierda a derecha.

Se pueden utilizar parentesis para afectar el orden de evaluacion de una

expresion. Cuando se utilizan parentesis, la expresion en el conjunto

más interno de parentesis se evalua primero.

A.3.3.2 OPERACIONES EN CONJUNTOS

Todas las operaciones que se realizan sobre un bit de informacion,

por ejemplo un pin de entrada o salida, pueden ser aplicadas a multiples

bits agrupados como conjuntos (SET). Las operaciones de conjuntos pueden

ser entre un conjunto y una variable, o entre dos conjuntos. Por ejemplo:

[D0,D1,D2] & read;

Es igual a:

[D0 & read, D1 & read, D2 & read]

Cuando una operacion es realizada entre dos conjuntos, los conjuntos

deben de ser del mismo tamaño. Por ejemplo:

[D0, D1, D2] & [A0, A1, A2]

Es igual a:

[D0 & A0, D1 & A1, D2 & A2]

(a) CAMPOS

Una declaracion de campos asigna a una variable de varios bits un

grupo de variables de un bit. Su sintaxis se presenta a continuacion.

FIELD var = [var1, var2, ...varn];

Donde:

FIELD Comando de declaracion de campos.

Page 17: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-14

var Nombre de la variable de multiples bits.

= Operador de igualdad.

varn Variables de un bit, que van a ser asignadas.

Ejemplo:

FIELD CUENTA = [Q0,Q1,Q2,Q3];

FIELD CUENTA = [Q0..3];

FIELD DIR = [A4..9];

La declaracion de un conjunto de variables como un campo (FIELD),

es muy utilizada cuando las variables guardan entre si una estrecha

relacion toales como, salidas de contadores, entradas de direcciones,

etc.

(b) OPERADOR DE IGUALDAD

A diferencia de los otros operadores de conjuntos, el operador de

igualdad, evalua la expresion a un solo valor booleano (1bit). El mismo

crea una comparacion bit por bit, entre un conjunto de variables y una

constante. Su sintaxis se presenta a continuacion.

[var1, var2, ...varn]:constante;

field_var:constante;

Donde:

varn Variables de un bit, que van a ser comparadas.

field_var Nombre de una variable de multiples bits.

: Operador de igualdad para conjuntos.

constante Constante contra la cual van a ser comparadas las

variables (hexadecimal).

Ejemplo:

OK = [Q0,Q1,Q2,Q3]:9;

CS = DIR:3F;

Page 18: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-15

(c) RANGO

La operacion de rango es similar a la operacion de igualdad, exepto

que la constante es ahora un rango de valores. Su sintaxis se presenta a

continuacion.

[var1, var2, ...varn]:[cons1...cons2];

field_var:[cons1...cons2];

Donde:

var1, ...varn Variables de un bit, que van a ser comparadas.

field_var Nombre de una variable de multiples bits.

: Operador de igualdad para conjuntos.

[cons1...cons2] Rango contra la cual van a ser comparadas las

variables (hexadecimal).

Ejemplo

OK = [Q0,Q1,Q2,Q3]:[9..C];

CS = DIR:[30..3F];

A.3.3.3 TABLA DE VERDAD

Algunas veces la forma más clara de expresar una descripcion

logica, es en tablas. CUPL provee el comando TABLE, para crear tablas de

verdad, la cuales relacionan variables de entrada con variables de

salida. Su sintaxis se presenta a continuacion.

TABLE var_list_1 => var_list_2 {

input_1 => output_1;

input_2 => output_2;

...

input_n => output_n;

}

Donde:

var_list1 Define las variables de entrada.

var_list2 Define las variables de salida.

input_n Valor en hexadecimal que representa el valor

Page 19: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-16

decodificado de las variables var_list1.

output_n Valor en hexadecimal que representa el valor

decodificado de las variables var_list2.

Ejemplo:

FIELD entrada = [IN2..0];FIELD salida = [OUT7..0];TABLE entrada => salida {0 => 0F;1 => F0;2 => 34;3 => 1F;4 => F1;5 => 34;6 => F2;7 => 34;}

A.3.3.4 COMANDO CONDITION

El comando CONDITION, provee al usuario de una manera mucho más

adecuada, de especificar funciones logicas en vez de escribir ecuaciones

booleanas clasicas. Su sintaxis es como sigue:

CONDITION {

IF expr OUT [!]var1 OUT [!]var2;

...

IF expr OUT [!]var3 OUT [!]var4;

DEFAULT OUT [!]var5 OUT [!]var6;

}

Donde:

CONDITION Define la utilizacion de este comando.

IF Define una operacion condicional

expr Expresion a ser evaluada por el IF.

OUT Comando para acertar o negar(!) una variable cualquiera

de salida.

DEFAULT Ejecutara si ninguno de los IF es acertado.

Ejemplo: Control de valvulas.

CONDITION {

Page 20: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-17

IF BAJO2 OUT VALVULA1 OUT VALVULA2;

IF BAJO1 OUT VALVULA1 OUT !VALVULA2;

DEFAULT OUT !VALVULA1 OUT !VALVULA2;

}

A.3.3.5 MAQUINAS DE ESTADO

El lenguaje de las maquinas de estado, utilizado en CUPL, permite

al usuario aislarse del diseño a nivel de compuertas o ecuaciones y crear

un diseño desde el nivel la descripcion funcional del circuito.

Una maquina de estado, es un circuito con basculadores, las salidas

de estos circuitos con basculadores, dependen del estado actual y previo

de los mismos. No es objetivo, de este trabajo profundizar en la teoria

de las maquinas de estado, sin embargo aqui presentaremos su sintaxis.

SEQUENCE field_var {

PRESENT state_n1

NEXT state_n2;

PRESENT state_n3

IF expr NEXT state_n4 OUT [!]var1 OUT [!]var2;

...

IF expr NEXT state_n4 OUT [!]var3 OUT [!]var4;

DEFAULT OUT [!]var5 OUT [!]var6;

PRESENT state_n4

...

}

Donde:

SEQUENCE Define la utilizacion de una maquina de estado.

field_var Variable de campo (multiples bits).

state_nx Valor codificado, que asume o asumira la variable de

campo field_var.

NEXT Define que el siguiente numero, sera el estado que

Page 21: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-18

asumira la variable de campo field_var.

IF Define una operacion condicional

expr Expresion a ser evaluada por el IF.

OUT Comando para acertar o negar(!) una variable cualquiera

de salida.

DEFAULT Se ejecutara si ninguno de los IF es acertado.

Como podemos apreciar, la estructura de las maquinas de estado es

muy completa, sin embargo el usuario puede tener problemas al principio y

los siguientes ejemplos deben ayudarlo a comprenderlas mejor.

Ejemplo: contador de 4-bits ascendente.

$Define S0 0$Define S1 1$Define S2 2$Define S3 3

FIELD count = [Q1,Q0];

SEQUENCE count {PRESENT S0 NEXT S1;PRESENT S1 NEXT S2;PRESENT S2 NEXT S3;PRESENT S3 NEXT S0;

}

Ejemplo: contador de 4-bits ascendente/descendente.

$Define S0 0$Define S1 1$Define S2 2$Define S3 3

FIELD count = [Q1,Q0];

SEQUENCE count {PRESENT S0

IF UP NEXT S1;IF !UPNEXT S3;

PRESENT S1IF UP NEXT S2;IF !UPNEXT S0;

PRESENT S2IF UP NEXT S3;IF !UPNEXT S1;

PRESENT S3IF UP NEXT S0;

Page 22: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-19

IF !UPNEXT S2;

}

A.4 SIMULADOR

Luego de que el archivo con las descripciones logicas (*.PLD) ha

sido compilado exitosamente, el mismo puede ser simulado. Para simular

el archivo, es necesario crear un archivo con los valores esperados

(vectores). El archivo es creado con cualquier editor de texto de DOS y

contiene una extension *.SI .

El archivo de simulacion consta con tres secciones:

-Sección de Identificación del producto

-Sección de ordenamiento de variables

-Sección de vectores de prueba

A.4.1 SECCION DE IDENTIFICACION

Esta seccion esta compuesta por datos como el nombre del diseño,

número de parte, fecha, número de revision, compañía, etc.. Todos estos

datos pueden ser omitidos menos el que define el tipo de dispositivo. El

proposito de esta seccion, es la de brindar un cierto grado de

documentacion al diseño y definir el tipo de dispositivo a utilizarse en

el diseño. Es importante notar que esta seccion tiene que ser

exactamente igual en el archivo de descripcion logica (*.PLD), de lo

contrario CUPL generara un error de inconsistencia en el encabezado.

Ejemplo:

Name IODECODE;Partno None;Date 03/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly PC Memory;Location U11;Device P16L8; <=== Indica que se esta utilizando un PAL16L8

A.4.2 SECCION DE ORDENAMIENTO

Page 23: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-20

En esta seccion se definen las variables, el orden y el

espaciamiento entre cada una de ellas. Segun sea el orden definido, se

le asignara el contenido de cada vector a las variables correspondientes.

La sintaxis del comando ORDER es como presentamos:

ORDER:

var1, {%X}, {"comentario"}, var2, ... varn;

Donde

ORDER: Define que lo siguiente es el ordenamiento a utilizarse

en la simulacion.

varx Nombre de la variable igual que en el archivo de la

descripcion logica.

%X Separacion, en espacios en blanco, entre las variables.

comentario Cualquier comentario, que se desea aparezca en el

archivo de salida de la simulacion.

Ejemplo:

ORDER:A11, %2, A10, %2, A9, %2, A8, %2, A7, %2, A6, %2, A5, %2,A4, %2, IO, %2, !wr, %4, !cs_8259, %2, !cs_8253, %2,!cs_8255, %2, !cs_8251, %2, !cs_923, %2, cs_8116, %2,!io_wr, %2, !mem_wr;

A.4.3 SECCION DE VECTORES

En esta seccion, es en donde se encuentran los valores (vectores),

con los cuales se probaran el diseño del PLD. Cada columna, representa

una variable y la misma corresponde a la variable definida en la seccion

de ordenamiento.

Los valores que se pueden colocar en cada columna estan definidos

en la tabla A.5. Si un valor no esperado, aparece en la simulacion, el

programa crea una advertencia en el archivo de salida (*.SO). Sin

embargo, el usuario puede tambien permitir que el programa de simulacion,

calcule los valores y luego compararlos manualmente con los esperados.

Page 24: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-21

Ejemplo:

VECTORS:X X X X X X X X 0 1 * * * * * * * *0 0 0 0 0 0 1 0 1 1 * * * * * * * *0 0 0 0 0 1 0 0 1 1 * * * * * * * *0 0 0 0 0 1 1 0 1 1 * * * * * * * *0 0 1 1 1 1 1 1 1 1 L Z H * * * * *1 1 1 1 0 1 0 0 1 1 * * * * * * * *

A.4.4 OPCIONES

El simulador, provee al usuario de cuatro opciones para facilitar

la simulacion de cualquier diseño. Estas opciones son utilizadas para

documentar la simulacion ($MSG), repetir algun vector ($REPEAT),

verificar estados intermedios ($TRACE) y terminar la simulacion ($EXIT).

$MSG $REPEAT $TRACE $EXIT

Tabla A.5. Valores para probar las distintas variables en elsimulador.

Valor Descripcion

0 Entrada baja (0 voltios)

1 Entrada Alta (5 voltios)

C Entrada de reloj (bajo-alto-bajo)

K Entrada de reloj (alto-bajo-alto)

L Probar salida baja (0 voltios)

H Probar salida alta (5 voltios)

Z Probar alta impedancia

X Entrada alta o baja. Salida alta o baja.

N No probar salida

P Inicializar registros internos (aplicado asalida !Q)

* Determinar el valor por el simulador

Page 25: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-22

$MSG:

Esta opcion permite incluir en el archivo de salida (*.SO),

cualquier mensaje, con propositos de documentacion o aclaracion.

Ejemplo:

VECTOR:

$MSG "Probando el CS del 8253";

0 0 0 0 0 1 0 0 1 1 * * * * * * * *

$REPEAT n:

Esta opcion causa la repeticion n-veces del siguiente vector

despues de la instruccion REPEAT.

Ejemplo:

VECTOR:

$MSG "Probando el CS del 8253";

$REPEAT 3;

0 0 0 0 0 1 0 0 1 1 * * * * * * * *

$TRACE n:

Este comando ajusta la cantidad de informacion que el simulador

incluira en el archivo de salida (*.SO) . El valor de N, va desde 0

hasta 3 y su definicion es la siguiente.

Nivel N = 0: (normal)

Solamente incluye el resultado de la prueba de los vectores. Este

es el nivel que normalmente se utiliza, a menos que se encuentren errores

y se desee verificar valores intermedios en el pulso del reloj (antes,

durante y despues del pulso).

Nivel N = 1:

Cuando se utiliza, retroalimentacion de circuitos combinatorios (no

basculadores) el valor retroalimentado es desconocido en la primera

evaluacion del vector. Si el nuevo valor retroalimentado cambia, alguna

Page 26: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-23

de las variables de salida, el vector es evaluado nuevamente. Todos los

valores deben ser identicos por dos evaluaciones, para determinar que el

vector es estable. El valor de N = 1, incluira en el archivo de salida,

los valores intermedios para cada vector que requiera de más de una

evaluacion para convertirse en estable. Si algun vector requiere de más

de veinte evaluaciones, el vector se considera insetable.

Nivel N = 2:

El nivel N = 2, identifica tres faces de simulacion para diseños

que utilizan basculadores. La primera fase es "antes del reloj", donde

vectores intermedios son evaluados en los circuitos combinatorios. La

segunda fase es "en el reloj", donde los valores de los basculadores son

asignados. La tercera fase es "despues del reloj", donde las salidas

utilizando retroalimentacion son evaluadas utilizando el nivel N = 1.

Nivel N = 3:

Este nivel provee la maxima informacion del simulador. Cada fase

de la simulacion "antes del reloj", "en el reloj" y "despues del reloj"

son incluidas ademas de los productos individuales de cada variable. El

valor de salida de la compuerta AND y los valores de entrada a la misma

tambien son incluidos.

Ejemplo:

VECTOR:

$MSG "Probando el CS del 8253";

$TRACE 2;

0 0 0 0 0 1 0 0 1 1 * * * * * * * *

$EXIT:

Esta instruccion termina la simulacion, en cualquier punto. Los

Page 27: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-24

vectores que aparecen debajo de esta instruccion son ingnorados por el

simulador. Esta instruccion es utilizada en la depuracion de vectores

para aislar algunos vectores en el archivo de simulacion sin tener que

borrarlos o encerrarlos entre comentarios.

Ejemplo:

VECTOR:

0 0 0 0 0 1 0 0 1 1 * * * * * * * *

$EXIT;

0 0 0 0 0 1 0 1 0 1 * * * * * * * *

0 1 0 1 0 1 0 1 0 1 * Z * * * H * *

Page 28: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-25

A.5 PROCEDIMIENTO

El procedimiento para el diseño y

programacion de un PLD, depende mucho del

diseñador, sin embargo aqui presentaremos

el procedimiento utilizado por el autor

para el diseño de los PLDs utilizados en el

Sistema Didactico.

Existen basicamente dos ciclos de

depuracion en este procedimiento. El

primero depura errores generados por el

compilador (errores de sintaxis) y el

segundo depura errores de funcionamiento.

En la figura A.2, se muestra el

diagrama de flujo del procedimiento, y

basicamente se resume en crear y editar el

archivo *.PLD, hasta que el compilador no

genere errores.

Luego de esto, se somete el diseño al

simulador y se evaluan los valores

obtenidos con los valores esperados. Una

vez se obtienes los valores esperados, el

dispositivo es programado.

A.6 DISEÑOS

En esta seccion, explicaremos el

diseño de los cinco, dispositivos logicos

programables, utilizados en el sistema Figura A.2. Diagrama deflujo del procedimiento paradiseñar un PLD.

Page 29: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-26

didactico SD-88.

Presentaremos el diagrama equivalente, los archivos de descripcion

(*.PLD), los archivos de simulacion (*.SI), el resultado de la simulacion

y el diagrama del dispositivo.

A.6.1 TARJETA PRINCIPAL

Las necesidades de la tarjeta principal se podian agrupar en:

1. Seleccion de 8, dispositivos (6-perifericos, 2-memoria).

2. Generacion de cuatro señales (io_rd, io_wr, mem_rd & mem_wr).

a partir de tres señales (IO/m, rd & wr).

3. Generacion de dos estados de espera, para acesso de

perifericos.

La generacion de las cuatro señales y la seleccion de los ocho (8)

dispositivos no requiere de basculadores, solo circuitos combinatorios,

sin embargo la generacion de dos estados de espera requiere de tres

basculadores tipo 'D'.

Con esta informacion podemos establecer la cantidad de salidas y

basculadores que necesitamos, para asi poder elegir los dispositivos a

utilizar. Como podemos observar se necesitan 12 salidas (8 selecciones,

4 señales), ademas de 3 basculadores.

Tabla A.6. Caracteristicas de los PLD, programables por la version deCUPL.

Dispositivo Entradas Dedicadas Salidas conbasculadores

Sin basculadores

E/S Salidas

PAL16L8 10 --- 6 2

PAL16R4 8 4 4 ---

PAL16R6 8 6 2 ---

PAL16R8 8 8 --- ---

Page 30: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-27

Los dispositivos logicos programables que pueden ser utilizados con

la version de Logical Devices, Inc. de CUPL se encuentran en la tabla

A.6, como se puede observar ninguno cuentan con tantas salidas y

basculadores, por lo que nuestro diseño, se realizara en dos partes. Una

sera la decodificacion de los perifericos y la generacion de dos señales

(io_wr & mem_wr) con el dispositivo PAL16L8, y la otra sera la

decodificacion de las memorias, generacion de estados de espera y

generacion de las otras dos señales (io_rd & mem_rd) con el dispositivo

PAL16R4.

A.6.1.1 IODECODE

Las especificaciones para este dispositivo son las siguientes:

1. Generacion de seis (6) señales de seleccion, con resolucion

de 16bytes.

2. Generacion de las señales io_wr & mem_wr.

Esta cantidad de señales de salida suman ocho (8) señales, que es

el maximo numero de salidas con que consta el PAL16L8, por lo tanto nos

quedan solo diez (10) pines de entrada que debemos utilizar. De los diez

(10) pines de entrada, tomamos dos (2), para generar las señales io_wr &

mem_wr, con las señales IO/m & wr. Los otros ocho pines de entrada los

utilizamos para el bus de direcciones, de A11 a A4, los que nos permite

seleccionar cualquier localidad desde X000H hasta XFFFh, con una

resolucion de 16Bytes osea, un banco puede ser 000h-00Fh y el otro

010h-01Fh, sin coincidir.

La descripcion logica (*.PLD), de este circuito resulta trivial,

sin embargo surgio un pequeño problema con la señal CS_8116, como se

puede apreciar en la descripcion logica, el banco del mismo es de

128bytes (FFFh - F80h = 080h). Este problema surgio porque esta señal es

activa alta y el PLD, no tenia suficiente terminos para la decodificacion

unida a la señal wr (write).

Page 31: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-28

Esta señal debe estar sincronizada a la señal write, del

microprocesador, ya que el dispositivo 8116, no contiene señal de

habilitacion de escritura y la habilitacion del dispositivo habilita

inmediatamente la lectura de la informacion del bus de datos.

En la figura A.3, se muestra el diagrama esquematico equivalente

del dispositivo IODECODE.

El mapa de direcciones

seleccionado para este

dispositivo se presenta en la

tabla A.7, y el mismo fue

diseñado de tal manera que fuera

lo más similar posible al mapa de

direcciones de una IBM-PC/XT.

(a) DESCRIPCION LOGICA DE

IODECODE

Figura A.3. Diagrama esquematico equivalente de IODECODE

Tabla A.7. Mapa de direcciones deldispositivo IODECODE

Dispositivo Localidades Banco

8259 020..021 020..02F

8253 040..043 040..04F

8255 060..063 060..06F

8251 3F0..3F1 3F0..3FF

74C923 F40..F40 F40..F4F

8116 F80..F80 F80..FFF

Page 32: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-29

A continuacion presentamos el contenido del archivo IODECODE.PLD,

con el objetivo de dejar documentacion de su descripcion logica.

Name IODECODE;Partno None;Date 03/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88;Location U11;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* 8253, 8255, 8251, 74C923, 8116, 8259 ademas de las *//* senales io_wr, mem_wr *//* IO AND wr ==> io_wr *//* !IO AND wr ==> mem_wr *//* *//*********************************************************/

/*********************************************************//* *//* Pines de entrada *//* *//*********************************************************/

PIN [1..8] = [A4..11] ; /* Bus de direcciones */PIN 9 = IO ; /* Senal IO/m */PIN 11 = !wr ; /* Senal wr */

/*********************************************************//* *//* Pines de Salida *//* *//*********************************************************/

PIN 12 = !cs_8259; /* Seleccion del 8259 */PIN 13 = !cs_8253; /* Seleccion del 8253 */PIN 14 = !cs_8255; /* Seleccion del 8255 */PIN 15 = !cs_8251; /* Seleccion del 8251 */PIN 16 = !cs_923; /* Seleccion del 74C923 */PIN 17 = cs_8116; /* Seleccion del 8116 */PIN 18 = !io_wr; /* Senal de io_wr */PIN 19 = !mem_wr; /* Senal de mem_wr */

/*********************************************************//* *//* Variables Intermedias *//* *//*********************************************************/

Field bus_dir = [A11..4]; /* Dar el nombre "bus_dir" */ /* a las variables A11..A4 */

/*********************************************************//* *//* Ecuaciones Logicas *//* *//*********************************************************/

mem_wr = !IO & wr;

io_wr = IO & wr;

cs_8259 = IO & bus_dir:[020..02F] ;

cs_8253 = IO & bus_dir:[040..04F] ;

cs_8255 = IO & bus_dir:[060..06F] ;

cs_8251 = IO & bus_dir:[3F0..3FF] ;

cs_923 = IO & bus_dir:[F40..F4F] ;

cs_8116 = IO & bus_dir:[F80..FFF] & wr;

(b) ARCHIVO DE SIMULACION DE IODECODE

A continuacion presentamos el contenido del archivo IODECODE.SI,

con el objetivo de dejar documentacion de su archivo de simulacion.

Page 33: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-30

Name IODECODE;Partno None;Date 03/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88;Location U11;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* 8253, 8255, 8251, 74C923, 8116, 8259 ademas de las *//* senales io_wr, mem_wr *//* IO AND wr ==> io_wr *//* !IO AND wr ==> mem_wr *//* *//*********************************************************/

/*********************************************************//* *//* Definicion del Ordenamiento *//* *//*********************************************************/

ORDER:A11, %2, A10, %2, A9, %2, A8, %2, A7, %2, A6, %2, A5, %2,A4, %2, IO, %2, !wr, %4, !cs_8259, %2, !cs_8253, %2,!cs_8255, %2, !cs_8251, %2, !cs_923, %2, cs_8116, %2,!io_wr, %2, !mem_wr;

/*********************************************************//* *//* Vectores de prueba *//* *//*********************************************************/

VECTORS: /* 123456-Dejar seis espacios para los numeros de linea *.SO */$msg " ! ! ! ! ";$msg " 8 8 8 8 ! 8 !";$msg " 2 2 2 2 9 1 ! m";$msg " 5 5 5 5 2 1 i e";$msg " 9_ 3 5 1 3 6 o m";$msg " A A A A A A A A ! _ _ _ _ _ _ _ _";$msg " 1 1 0 0 0 0 0 0 I w c c c c c c w w";$msg " 1 0 9 8 7 6 5 4 O r s s s s s s r r";$msg " ____________________________ ______________________";$msg " Encendido "; X X X X X X X X 0 1 * * * * * * * *$msg " 8259 "; 0 0 0 0 0 0 1 0 1 1 * * * * * * * *$msg " 8253 "; 0 0 0 0 0 1 0 0 1 1 * * * * * * * *$msg " 8255 "; 0 0 0 0 0 1 1 0 1 1 * * * * * * * *$msg " 8251 "; 0 0 1 1 1 1 1 1 1 1 * * * * * * * *$msg " 74C923 "; 1 1 1 1 0 1 0 0 1 1 * * * * * * * *$msg " 8116 "; 1 1 1 1 1 X X X 1 1 * * * * * * * * 1 1 1 1 1 X X X 1 0 * * * * * * * * 1 1 1 1 1 X X X 1 1 * * * * * * * *$msg " !io_wr "; X X X X X X X X 1 0 * * * * * * * *$msg " !mem_wr "; X X X X X X X X 0 0 * * * * * * * *

(c) RESULTADOS DE IODECODE

=============================================================================== Chip Diagram===============================================================================

______________ | IODECODE | A4 x---|1 20|---x Vcc A5 x---|2 19|---x !mem_wr A6 x---|3 18|---x !io_wr A7 x---|4 17|---x cs_8116 A8 x---|5 16|---x !cs_923 A9 x---|6 15|---x !cs_8251 A10 x---|7 14|---x !cs_8255 A11 x---|8 13|---x !cs_8253 IO x---|9 12|---x !cs_8259 GND x---|10 11|---x !wr |______________|

=============================================================================== Simulation Results===============================================================================

Page 34: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-31

! ! ! ! 8 8 8 8 ! 8 ! 2 2 2 2 9 1 ! m 5 5 5 5 2 1 i e 9_ 3 5 1 3 6 o m A A A A A A A A ! _ _ _ _ _ _ _ _ 1 1 0 0 0 0 0 0 I w c c c c c c w w 1 0 9 8 7 6 5 4 O r s s s s s s r r ____________________________ ______________________ Encendido 0001: X X X X X X X X 0 1 H H H H H L H H 8259 0002: 0 0 0 0 0 0 1 0 1 1 L H H H H L H H 8253 0003: 0 0 0 0 0 1 0 0 1 1 H L H H H L H H 8255 0004: 0 0 0 0 0 1 1 0 1 1 H H L H H L H H 8251 0005: 0 0 1 1 1 1 1 1 1 1 H H H L H L H H 74C923 0006: 1 1 1 1 0 1 0 0 1 1 H H H H L L H H 8116 0007: 1 1 1 1 1 X X X 1 1 H H H H H L H H0008: 1 1 1 1 1 X X X 1 0 H H H H H H L H0009: 1 1 1 1 1 X X X 1 1 H H H H H L H H !io_wr 0010: X X X X X X X X 1 0 X X X X X X L H !mem_wr 0011: X X X X X X X X 0 0 H H H H H L H L

A.6.1.2 WAIT2

Las especificaciones para este dispositivo son las siguientes:

1. Generacion de dos (2) señales de seleccion, con resolucion de

32Kbytes.

2. Generacion de las señales io_rd & mem_rd.

3. Generacion de dos estados de espera.

Esta cantidad de señales de salida suman cuatro (4) señales, que es

el maximo numero de salidas (combinatorias) con que consta el PAL16R4,

por lo tanto nos quedan solo diez (10) pines de entrada que debemos

utilizar.

De los diez (10) pines de entrada, tomamos dos (2), para generar

las señales io_rd & mem_rd, con las señales IO/m & rd. De los otros ocho

pines de entrada utilizamos cinco (5) para el bus de direcciones, de A19

a A15, los que nos permite seleccionar cualquier localidad desde 00000H

hasta FFFFFh, con una resolucion de 32KBytes osea, un banco puede ser

00000h-07FFFh y el otro 08000h-0FFFFh, sin coincidir. De las tres

entradas restantes utilizamos una para el reloj del micro, una para

IO_RDY y la ultima para la habilitacion de salida (oe).

La descripcion logica (*.PLD), de este circuito resulta bastante

Page 35: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-32

sencilla, la generacion de los estados de espera, se realizo convirtiendo

directamente el diagrama esquematico figura A.4(a), a operaciones

booleanas. La utilizacion de las maquinas de estado hubiera resultado en

una descripcion logica más facil de comprender, sin embargo, se tenia ya

a la mano, el diagrama esquematico, probado, por lo que no se trato de

alterar el mismo.

En la figura A.4, se muestra el diagrama esquematico equivalente

del dispositivo IODECODE.

El mapa de direcciones seleccionado para este dispositivo se

presenta en la tabla A.8, y el mismo fue diseñado de la unica manera en

que se podian conectar ambos dispositivos, ya que la memoria RAM, es

necesaria en las localidades 00000h (para vectores de interrupcion) y la

Figura A.4. Diagrama esquematico equivalente de WAIT2

Tabla A.8. Mapa de direcciones deldispositivo WAIT2

Dispositivo Localidades Banco

RAM 00000-07FFF 00000-07FFF

EPROM F0000-FFFFF F0000-FFFFF

Page 36: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-33

memoria EPROM, es necesria en las localidades FFFF0 (para vector de

arranque).

(a) DESCRIPCION LOGICA DE WAIT2

A continuacion presentamos el contenido del archivo WAIT2.PLD, con

el objetivo de dejar documentacion de su descripcion logica.

Name WAIT2;Partno None;Date 03/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88;Location U10;Device P16R4;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* el RAM y EPROM. Incerta dos estados de espera cuando *//* se seleccionan dispositivos perifericos (IO/m = 1) y *//* genera las senales io_rd y mem_rd. *//* IO AND wr ==> io_wr *//* !IO AND wr ==> mem_wr *//* *//*********************************************************/

/*********************************************************//* *//* Pines de entrada *//* *//*********************************************************/

PIN 1 = CPU_CLK ; /* Reloj del CPU */PIN [2..6] = [A15..19] ; /* Bus de direcciones */PIN 7 = !rd ; /* Senal de rd */PIN 8 = IO_RDY ; /* Senal IO_RDY */PIN 9 = IO ; /* Senal IO/m */PIN 11 = !oe ; /* Output Enable */

/*********************************************************//* *//* Pines de Salida *//* *//*********************************************************/

PIN 12 = !rom_cs ; /* Seleccion del EPROM */PIN 13 = !ram_cs ; /* Seleccion del RAM */

PIN 14 = WAIT1 ; /* Bascu. de sincronizacion*/PIN 15 = WAIT2 ; /* Bascu. de 1er estado */PIN 16 = RDY ; /* Senal de READY */

PIN 18 = !io_rd ; /* Senal de io_rd */PIN 19 = !mem_rd ; /* Senal de mem_rd */

/*********************************************************//* *//* Variables Intermedias *//* *//*********************************************************/

Field bus_dir = [A19..15]; /* Dar el nombre "bus_dir" */ /* a las variables A19..A15*/

/*********************************************************//* *//* Ecuaciones Logicas *//* *//*********************************************************/

mem_rd = !IO & rd;

io_rd = IO & rd;

rom_cs = !IO & bus_dir:[F0000..FFFFF] ;

ram_cs = !IO & bus_dir:[00000..07FFF] ;

WAIT1.d = (IO # !IO_RDY);

Page 37: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-34

WAIT2.d = WAIT1 & RDY;

RDY.d = !WAIT2 # !IO & IO_RDY;

(b) ARCHIVO DE SIMULACION DE WAIT2

A continuacion presentamos el contenido del archivo WAIT2.SI, con

el objetivo de dejar documentacion de su archivo de simulacion.

Name WAIT2;Partno None;Date 03/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88;Location U10;Device P16R4;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* el RAM y EPROM. Incerta dos estados de espera cuando *//* se seleccionan dispositivos perifericos (IO/m = 1) y *//* genera las senales io_rd y mem_rd. *//* IO AND wr ==> io_wr *//* !IO AND wr ==> mem_wr *//* *//*********************************************************/

/*********************************************************//* *//* Definicion del Ordenamiento *//* *//*********************************************************/

ORDER: CPU_CLK, %2, A19, %2, A18, %2, A17, %2, A16, %2, A15, %2,

!rd, %2, IO_RDY, %2, IO, %2, !oe, %4, !rom_cs, %2, !ram_cs, %2, WAIT1, %2, WAIT2,

%2, RDY, %2, !mem_rd, %2, !io_rd;

/*********************************************************//* *//* Vectores de prueba *//* *//*********************************************************/

VECTORS: /* 123456-Dejar seis espacios para los numeros de linea *.SO */$msg " ";$msg " c ! ! ";$msg " p I r r m ";$msg " u O o a W W e i";$msg " _ _ m m A A m o";$msg " c a a a a a ! R ! _ _ I I R _ _";$msg " l 1 1 1 1 1 r D I o c c T T D r r";$msg " k 9 8 7 6 5 d Y O e s s 1 2 Y d d";$msg " ____________________________ ___________________";$msg " Encendido "; 0 X X X X X 1 1 0 0 * * * * * * *$msg " Establecimiento de basculadores ";$repeat 3; C X X X X X 1 1 0 0 * * * * * * *$msg " 32 Bancos de memoria del 00000h, 08000h al FFFFFh "; C 0 0 0 0 0 1 1 0 0 * * * * * * * C 0 0 0 0 1 1 1 0 0 * * * * * * * C 0 0 0 1 0 1 1 0 0 * * * * * * * C 0 0 0 1 1 1 1 0 0 * * * * * * * C 0 0 1 0 0 1 1 0 0 * * * * * * * C 0 0 1 0 1 1 1 0 0 * * * * * * * C 0 0 1 1 0 1 1 0 0 * * * * * * * C 0 0 1 1 1 1 1 0 0 * * * * * * * C 0 1 0 0 0 1 1 0 0 * * * * * * * C 0 1 0 0 1 1 1 0 0 * * * * * * * C 0 1 0 1 0 1 1 0 0 * * * * * * * C 0 1 0 1 1 1 1 0 0 * * * * * * * C 0 1 1 0 0 1 1 0 0 * * * * * * * C 0 1 1 0 1 1 1 0 0 * * * * * * * C 0 1 1 1 0 1 1 0 0 * * * * * * * C 0 1 1 1 1 1 1 0 0 * * * * * * * C 1 0 0 0 0 1 1 0 0 * * * * * * * C 1 0 0 0 1 1 1 0 0 * * * * * * * C 1 0 0 1 0 1 1 0 0 * * * * * * * C 1 0 0 1 1 1 1 0 0 * * * * * * * C 1 0 1 0 0 1 1 0 0 * * * * * * * C 1 0 1 0 1 1 1 0 0 * * * * * * * C 1 0 1 1 0 1 1 0 0 * * * * * * * C 1 0 1 1 1 1 1 0 0 * * * * * * *

Page 38: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-35

C 1 1 0 0 0 1 1 0 0 * * * * * * * C 1 1 0 0 1 1 1 0 0 * * * * * * * C 1 1 0 1 0 1 1 0 0 * * * * * * * C 1 1 0 1 1 1 1 0 0 * * * * * * * C 1 1 1 0 0 1 1 0 0 * * * * * * * C 1 1 1 0 1 1 1 0 0 * * * * * * * C 1 1 1 1 0 1 1 0 0 * * * * * * * C 1 1 1 1 1 1 1 0 0 * * * * * * *$msg " Estados de espera para perifericos ";$repeat 8; C X X X X X 1 1 1 0 * * * * * * *$msg " Estados de espera para dispositivos del BUS IBM-XT ";$repeat 8; C X X X X X 1 0 0 0 * * * * * * *$msg " mem_rd "; 0 X X X X X 0 1 0 0 * * * * * * *$msg " io_rd "; 0 X X X X X 0 1 1 0 * * * * * * *

(c) RESULTADOS DE WAIT2

=============================================================================== Chip Diagram===============================================================================

______________ | WAIT2 | CPU_CLK x---|1 20|---x Vcc A15 x---|2 19|---x !mem_rd A16 x---|3 18|---x !io_rd A17 x---|4 17|---x A18 x---|5 16|---x RDY A19 x---|6 15|---x WAIT2 !rd x---|7 14|---x WAIT1 IO_RDY x---|8 13|---x !ram_cs IO x---|9 12|---x !rom_cs GND x---|10 11|---x !oe |______________|

=============================================================================== Simulation Results=============================================================================== c ! ! p I r r m u O o a W W e i _ _ m m A A m o c a a a a a ! R ! _ _ I I R _ _ l 1 1 1 1 1 r D I o c c T T D r r k 9 8 7 6 5 d Y O e s s 1 2 Y d d ____________________________ ___________________ Encendido 0001: 0 X X X X X 1 1 0 0 X X X X X H H Establecimiento de basculadores 0002: C X X X X X 1 1 0 0 X X L X H H H0003: C X X X X X 1 1 0 0 X X L L H H H0004: C X X X X X 1 1 0 0 X X L L H H H 32 Bancos de memoria del 00000h, 08000h al FFFFFh 0005: C 0 0 0 0 0 1 1 0 0 H L L L H H H0006: C 0 0 0 0 1 1 1 0 0 H H L L H H H0007: C 0 0 0 1 0 1 1 0 0 H H L L H H H0008: C 0 0 0 1 1 1 1 0 0 H H L L H H H0009: C 0 0 1 0 0 1 1 0 0 H H L L H H H0010: C 0 0 1 0 1 1 1 0 0 H H L L H H H0011: C 0 0 1 1 0 1 1 0 0 H H L L H H H0012: C 0 0 1 1 1 1 1 0 0 H H L L H H H0013: C 0 1 0 0 0 1 1 0 0 H H L L H H H0014: C 0 1 0 0 1 1 1 0 0 H H L L H H H0015: C 0 1 0 1 0 1 1 0 0 H H L L H H H0016: C 0 1 0 1 1 1 1 0 0 H H L L H H H0017: C 0 1 1 0 0 1 1 0 0 H H L L H H H0018: C 0 1 1 0 1 1 1 0 0 H H L L H H H0019: C 0 1 1 1 0 1 1 0 0 H H L L H H H0020: C 0 1 1 1 1 1 1 0 0 H H L L H H H0021: C 1 0 0 0 0 1 1 0 0 H H L L H H H0022: C 1 0 0 0 1 1 1 0 0 H H L L H H H0023: C 1 0 0 1 0 1 1 0 0 H H L L H H H0024: C 1 0 0 1 1 1 1 0 0 H H L L H H H0025: C 1 0 1 0 0 1 1 0 0 H H L L H H H0026: C 1 0 1 0 1 1 1 0 0 H H L L H H H0027: C 1 0 1 1 0 1 1 0 0 H H L L H H H0028: C 1 0 1 1 1 1 1 0 0 H H L L H H H0029: C 1 1 0 0 0 1 1 0 0 H H L L H H H0030: C 1 1 0 0 1 1 1 0 0 H H L L H H H0031: C 1 1 0 1 0 1 1 0 0 H H L L H H H0032: C 1 1 0 1 1 1 1 0 0 H H L L H H H0033: C 1 1 1 0 0 1 1 0 0 H H L L H H H0034: C 1 1 1 0 1 1 1 0 0 H H L L H H H0035: C 1 1 1 1 0 1 1 0 0 L H L L H H H0036: C 1 1 1 1 1 1 1 0 0 L H L L H H H Estados de espera para perifericos 0037: C X X X X X 1 1 1 0 H H H L H H H0038: C X X X X X 1 1 1 0 H H H H H H H

Page 39: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-36

0039: C X X X X X 1 1 1 0 H H H H L H H0040: C X X X X X 1 1 1 0 H H H L L H H0041: C X X X X X 1 1 1 0 H H H L H H H0042: C X X X X X 1 1 1 0 H H H H H H H0043: C X X X X X 1 1 1 0 H H H H L H H0044: C X X X X X 1 1 1 0 H H H L L H H Estados de espera para dispositivos del BUS IBM-XT 0045: C X X X X X 1 0 0 0 X X H L H H H0046: C X X X X X 1 0 0 0 X X H H H H H0047: C X X X X X 1 0 0 0 X X H H L H H0048: C X X X X X 1 0 0 0 X X H L L H H0049: C X X X X X 1 0 0 0 X X H L H H H0050: C X X X X X 1 0 0 0 X X H H H H H0051: C X X X X X 1 0 0 0 X X H H L H H0052: C X X X X X 1 0 0 0 X X H L L H H mem_rd 0053: 0 X X X X X 0 1 0 0 X X H L L L H io_rd 0054: 0 X X X X X 0 1 1 0 H H H L L H L

A.6.2 TARJETA DE EXPANSION

Las necesidades de la tarjeta de expansion se pueden agrupar en:

1. Seleccion de 8, dispositivos (5-perifericos, 3-para

experimentacion).

2. Generacion de seis señales (cso, wro, rdo, INT1, INT2 & SQT).

a partir de nueve señales (CONV, csi, wri, rdi, int, ring,

RXRDY, cd & O/a).

La generacion de todas estas señales no requiere de basculadores,

solo circuitos combinatorios.

Ahora podemos establecer la cantidad de salidas y entradas que

necesitamos, para asi poder elegir los dispositivos a utilizar. Se

necesitaran 14 salidas (8 selecciones, 6 señales).

Los dispositivos logicos programables que pueden ser utilizados con

la version de Logical Devices, Inc. de CUPL, no cuentan con tantas

salidas, por lo que nuestro diseño, se realizara en dos partes. Una sera

la decodificacion de los perifericos con el dispositivo PAL16L8, y la

otra sera la generacion de las seis señales con otro dispositivo PAL16L8.

A.6.2.1 EXP_DEC

Las especificaciones para este dispositivo son las siguientes:

1. Generacion de ocho (8) señales de seleccion, con resolucion

de 16bytes.

Page 40: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-37

Esta cantidad de señales de salida suman ocho (8) señales, que es

el maximo numero de salidas con que consta el PAL16L8, por lo tanto nos

quedan solo diez (10) pines de entrada que debemos utilizar. De los diez

(10) pines de entrada, tomamos ocho (8) para el bus de direcciones, de

A11 a A4, los que nos permite seleccionar cualquier localidad desde X000H

hasta XFFFh, con una resolucion de 16Bytes osea, un banco puede ser

X000h-X00Fh y el otro X010h-X01Fh, sin coincidir. De las dos entradas

restantes utilizamos una para la señal IO/m del microprocesador y la otra

la dejamos sin utilizar.

La descripcion logica (*.PLD), de este circuito resulta bastante

sencilla, la misma involucra solamente decodificacion de direcciones.

Esto es manejado por CUPL de una manera sencilla.

En la figura A.5, se muestra el

diagrama esquematico equivalente del

dispositivo EXP_DEC.

El mapa de direcciones seleccionado

para este dispositivo se presenta en la

tabla A.9, y el mismo fue diseñado

utilizando todas las localidades continuas

empezando desde la localidad 500H hasta la

localidad 57FH, ya que estos dispositivos no se encuentran en una

computadora IBM-PC/XT.

Figura A.5. Diagramaesquematico equivalente deEXP_DEC

Page 41: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-38

(a) DESCRIPCION LOGICA DE EXP_DEC

A continuacion presentamos

el contenido del archivo

EXP_DEC.PLD, con el objetivo de

dejar documentacion de su

descripcion logica.

Name EXP_DEC;Partno None;Date 17/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88 TARJETA DE EXPANSION;Location U11;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* 8251, 8253, 8255, ADC, DAC, USER1, USER2, USER3 *//* *//*********************************************************/

/*********************************************************//* *//* Pines de entrada *//* *//*********************************************************/

PIN [1..8] = [A4..11] ; /* Bus de direcciones */PIN 9 = IO ; /* Senal IO/m */

/*********************************************************//* *//* Pines de Salida *//* *//*********************************************************/

PIN 12 = !cs_51; /* Seleccion del 8251 */PIN 13 = !cs_53; /* Seleccion del 8253 */PIN 14 = !cs_55; /* Seleccion del 8255 */PIN 15 = !cs_AD; /* Seleccion del ADC */PIN 16 = !cs_DA; /* Seleccion del DAC */PIN 17 = !cs_usr1; /* Seleccion del USER1 */PIN 18 = !cs_usr2; /* Seleccion del USER2 */PIN 19 = !cs_usr3; /* Seleccion del USER3 */

/*********************************************************//* *//* Variables Intermedias *//* *//*********************************************************/

Field bus_dir = [A11..4]; /* Dar el nombre "bus_dir" */ /* a las variables A11..A4 */

/*********************************************************//* *//* Ecuaciones Logicas *//* *//*********************************************************/

Tabla A.9. Mapa de direcciones deldispositivo EXP_DEC.

Dispositivo Localidades Banco

8251 500..501 500..50F

8253 510..513 510..51F

8255 520..523 520..52F

ADC 530..530 530..53F

DAC 541..541 540..54F

USR1 550..55F 550..55F

USR2 560..56F 560..56F

USR3 570..57F 570..57F

Page 42: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-39

cs_51 = IO & bus_dir:[500..50F] ;

cs_53 = IO & bus_dir:[510..51F] ;

cs_55 = IO & bus_dir:[520..52F] ;

cs_AD = IO & bus_dir:[530..53F] ;

cs_DA = IO & bus_dir:[540..54F] ;

cs_usr1 = IO & bus_dir:[550..55F] ;

cs_usr2 = IO & bus_dir:[560..56F] ;

cs_usr3 = IO & bus_dir:[570..57F] ;

(b) ARCHIVO DE SIMULACION DE EXP_DEC

A continuacion presentamos el contenido del archivo EXP_DEC.SI, con

el objetivo de dejar documentacion de su archivo de simulacion.

Name EXP_DEC;Partno None;Date 17/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88 TARJETA DE EXPANSION;Location U11;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* 8251, 8253, 8255, ADC, DAC, USER1, USER2, USER3 *//* *//*********************************************************/

/*********************************************************//* *//* Definicion del Ordenamiento *//* *//*********************************************************/

ORDER:A11, %2, A10, %2, A9, %2, A8, %2, A7, %2, A6, %2, A5, %2,A4, %2, IO, %4, !cs_51, %2, !cs_53, %2,!cs_55, %2, !cs_AD,%2, !cs_DA, %2, !cs_usr1, %2, !cs_usr2, %2, !cs_usr3;

/*********************************************************//* *//* Vectores de prueba *//* *//*********************************************************/

VECTORS: /* 123456-Dejar seis espacios para los numeros de linea *.SO */$msg " ! ! !";$msg " c c c";$msg " ! ! ! ! ! s s s";$msg " c c c c c _ _ _";$msg " s s s s s u u u";$msg " A A A A A A A A _ _ _ _ _ s s s";$msg " 1 1 0 0 0 0 0 0 I 5 5 5 A D r r r";$msg " 1 0 9 8 7 6 5 4 O 1 3 5 D A 1 2 3";$msg " _________________________ ______________________";$msg " Probar las localidades del 500h al 57Fh "; 0 1 0 1 0 0 0 0 1 * * * * * * * * 0 1 0 1 0 0 0 1 1 * * * * * * * * 0 1 0 1 0 0 1 0 1 * * * * * * * * 0 1 0 1 0 0 1 1 1 * * * * * * * * 0 1 0 1 0 1 0 0 1 * * * * * * * * 0 1 0 1 0 1 0 1 1 * * * * * * * * 0 1 0 1 0 1 1 0 1 * * * * * * * * 0 1 0 1 0 1 1 1 1 * * * * * * * *

(c) RESULTADOS DE EXP_DEC

===============================================================================

Page 43: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-40

Chip Diagram===============================================================================

______________ | EXP_DEC | A4 x---|1 20|---x Vcc A5 x---|2 19|---x !cs_usr3 A6 x---|3 18|---x !cs_usr2 A7 x---|4 17|---x !cs_usr1 A8 x---|5 16|---x !cs_DA A9 x---|6 15|---x !cs_AD A10 x---|7 14|---x !cs_55 A11 x---|8 13|---x !cs_53 IO x---|9 12|---x !cs_51 GND x---|10 11|---x |______________|

=============================================================================== Simulation Results=============================================================================== ! ! ! c c c ! ! ! ! ! s s s c c c c c _ _ _ s s s s s u u u A A A A A A A A _ _ _ _ _ s s s 1 1 0 0 0 0 0 0 I 5 5 5 A D r r r 1 0 9 8 7 6 5 4 O 1 3 5 D A 1 2 3 _________________________ ______________________ Probar las localidades del 500h al 57Fh 0001: 0 1 0 1 0 0 0 0 1 L H H H H H H H0002: 0 1 0 1 0 0 0 1 1 H L H H H H H H0003: 0 1 0 1 0 0 1 0 1 H H L H H H H H0004: 0 1 0 1 0 0 1 1 1 H H H L H H H H0005: 0 1 0 1 0 1 0 0 1 H H H H L H H H0006: 0 1 0 1 0 1 0 1 1 H H H H H L H H0007: 0 1 0 1 0 1 1 0 1 H H H H H H L H0008: 0 1 0 1 0 1 1 1 1 H H H H H H H L

A.6.2.2 EXP_GLUE

Las especificaciones para este dispositivo son las siguientes:

1. Generacion de tres (3) señales cso, wro & rdo a partir de

cuatro (4) señales CONV, csi, wri & rdi.

2. Generacion de la señal INT1 a partir de int.

3. Generacion de la señal INT2 a partir de las señales ring &

RXRDY;

4. Generacion de la señal SQT a partir de las señales cd & ORIG.

Esta cantidad de señales de salida suman seis (6) señales, lo que

nos permite (de ser necesario) utilizar las otras dos salidas del

dispositivo como entradas. De los diez (10) pines de entrada, tomamos

cuatro (4), para las señales (CONV, csi, wri & rdi); una (1) para la

señal (int); dos (2) para las señales (ring & RXRDY) y dos (2) para las

señales (cd & O/A). Esto nos da un total de nueve (9), entredas dejando

de utilizar en este dispositivo tres (3) pines.

Este dispositivo, realiza basicamente cuatro funciones, dos

Page 44: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-41

funciones para el conversor analogo/digital y dos funciones para el

modem.

Las funciones que realiza para el conversor analogo/digital es la

de invertir la señal int (activa bajo) y convertirla en la señal INT1

(activa alto), y la de proporcionar al sistema con un ADC, que puede

realizar sus conversiones aisladas (uP escribe para comenzar la

conversion) o equiespaciadas en el tiempo (timer escribe para comenzar la

conversion).

Esto ultimo es realizado, permitiendo que las señales cso, wro &

rdo sean exatamente iguales que las señales csi, wri & rdi

(respectivamente), cuando la señal CONV = 1. Cuando la señal CONV = 0,

las señales asumen los siguientes valores, cso = 0, wro = 0 y rdi = 1,

emulando una escritura del microprocesador y asi comenzando la

conversion.

Las funciones que realiza para el MODEM es la de asociar la señal

ring (activa baja) con la señal RXRDY (activa alta), para generar la

señal INT2 (activa alta), cuando cualquiera de estas señales este en su

estado activo, de esta manera se generara una interrupcion cuando el

MODEM, este recibiendo un caracter o una llamada, y sera funcion del

programa analizar la fuente de la interrupcion.

La otra funcion que realiza para el MODEM es la de asociar la señal

cd (carrier detect) (activa baja) con la señal O/a (Originate/answer)

para generar la señal SQT (Squelch Transmiter) (activa alta).

Cuando la señal SQT = 1, el integrado (MODEM), desabilita la

transmision; cuando cd = 0, significa que ha detectado la señal portadora

del otro MODEM; cuando O/a = 1, significa que el MODEM local esta

originando la transmision. El unico momento en que se desea tener

desabilitado el transmisor (para recibir mejor la portadora del otro

MODEM) es cuando el MODEM local, esta originando la llamada O/a = 1 y no

se detecta la portadora cd = 1. De tal manera que la señal SQT debe ser

el AND logico de las señales O/a y cd.

Page 45: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-42

En la figura A.6, se muestra el diagrama esquematico equivalente

del dispositivo EXP_GLUE.

(a) DESCRIPCION LOGICA DE EXP_GLUE

A continuacion presentamos el contenido del archivo EXP_GLUE.PLD,

con el objetivo de dejar documentacion de su descripcion logica.

Name EXP_GLUE;Partno None;Date 17/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88 TARJETA DE EXPANSION;Location U5;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las siguientes senales *//* *//* CONV + csi + wri + rdi ==> cso + wro + rdo *//* int ==> INT1 *//* ring + RXRDY ==> INT2 *//* cd + O/a ==> SQT *//* */

Figura A.6. Diagrama esquematico equivalente de EXP_GLUE

Page 46: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-43

/*********************************************************/

/*********************************************************//* *//* Pines de entrada *//* *//*********************************************************/

PIN 1 = CONV ; /* Senal CONV (convertir) */PIN 2 = csi ; /* Senal csi (cs entrada) */PIN 3 = wri ; /* Senal wri (wr entrada) */PIN 4 = rdi ; /* Senal rdi (rd entrada) */PIN 5 = int ; /* Senal int */PIN 6 = ring ; /* Senal ring */PIN 7 = RXRDY ; /* Senal RXRDY */PIN 8 = cd ; /* Senal cd */PIN 9 = ORIG ; /* Senal ORIG */

/*********************************************************//* *//* Pines de Salida *//* *//*********************************************************/

PIN 12 = cso ; /* Senal cso (cs salida) */PIN 14 = wro ; /* Senal wro (wr salida) */PIN 15 = rdo ; /* Senal rdo (rd salida) */PIN 16 = INT1 ; /* Senal INT1 */PIN 17 = INT2 ; /* Senal INT2 */PIN 19 = SQT ; /* Senal SQT */

/*********************************************************//* *//* Ecuaciones Logicas *//* *//*********************************************************/

INT1 = !int;

INT2 = !ring # RXRDY;

SQT = cd & ORIG;

cso = csi & CONV;

wro = wri & CONV;

rdo = rdi # !CONV;

(b) ARCHIVO DE SIMULACION DE EXP_GLUE

A continuacion presentamos el contenido del archivo EXP_GLUE.SI,

con el objetivo de dejar documentacion de su archivo de simulacion.

Name EXP_GLUE;Partno None;Date 17/09/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88 TARJETA DE EXPANSION;Location U5;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las siguientes senales *//* *//* CONV + csi + wri + rdi ==> cso + wro + rdo *//* int ==> INT1 *//* ring + RXRDY ==> INT2 *//* cd + O/a ==> SQT *//* *//*********************************************************/

/*********************************************************//* *//* Definicion del Ordenamiento *//* *//*********************************************************/

ORDER:CONV, %2, csi, %2, wri, %2, rdi, %2, int, %2, ring, %2, RXRDY, %2, cd, %2, ORIG, %4, cso, %2, wro, %2, rdo, %2, INT1, %2,INT2, %2, SQT;

/*********************************************************//* *//* Vectores de prueba *//* *//*********************************************************/

Page 47: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-44

VECTORS: /* 123456-Dejar seis espacios para los numeros de linea *.SO */$msg " ";$msg " R ";$msg " C r X O I I ";$msg " O c w r i i R R c w r N N S";$msg " N s r d n n D c I s r d T T Q";$msg " V i i i t g Y d G o o o 1 2 T";$msg " _________________________ ________________";$msg " Probar cso, wro, rdo, con csi, wr1, rd1 "; 1 1 1 1 1 1 0 1 1 * * * * * * 1 0 1 1 1 1 0 1 1 * * * * * * 1 1 0 1 1 1 0 1 1 * * * * * * 1 1 1 0 1 1 0 1 1 * * * * * * 1 1 1 1 1 1 0 1 1 * * * * * *$msg " Probar cso, wro, rdo, con CONV "; 1 1 1 1 1 1 0 1 1 * * * * * * 0 1 1 1 1 1 0 1 1 * * * * * * 1 1 1 1 1 1 0 1 1 * * * * * *$msg " Probar INT1 "; 1 1 1 1 1 1 0 1 1 * * * * * * 1 1 1 1 0 1 0 1 1 * * * * * * 1 1 1 1 1 1 0 1 1 * * * * * *$msg " Probar INT2 "; 1 1 1 1 1 1 0 1 1 * * * * * * 1 1 1 1 1 0 0 1 1 * * * * * * 1 1 1 1 1 1 0 1 1 * * * * * * 1 1 1 1 1 1 1 1 1 * * * * * * 1 1 1 1 1 1 0 1 1 * * * * * *$msg " Probar SQT "; 1 1 1 1 1 1 0 0 0 * * * * * * 1 1 1 1 1 1 0 0 1 * * * * * * 1 1 1 1 1 1 0 1 0 * * * * * * 1 1 1 1 1 1 0 1 1 * * * * * *

(c) RESULTADOS DE EXP_GLUE

=============================================================================== Chip Diagram===============================================================================

______________ | EXP_GLUE | CONV x---|1 20|---x Vcc csi x---|2 19|---x SQT wri x---|3 18|---x rdi x---|4 17|---x INT2 int x---|5 16|---x INT1 ring x---|6 15|---x rdo RXRDY x---|7 14|---x wro cd x---|8 13|---x ORIG x---|9 12|---x cso GND x---|10 11|---x |______________|

=============================================================================== Simulation Results=============================================================================== R C r X O I I O c w r i i R R c w r N N S N s r d n n D c I s r d T T Q V i i i t g Y d G o o o 1 2 T _________________________ ________________ Probar cso, wro, rdo, con csi, wr1, rd1 0001: 1 1 1 1 1 1 0 1 1 H H H L L H0002: 1 0 1 1 1 1 0 1 1 L H H L L H0003: 1 1 0 1 1 1 0 1 1 H L H L L H0004: 1 1 1 0 1 1 0 1 1 H H L L L H0005: 1 1 1 1 1 1 0 1 1 H H H L L H Probar cso, wro, rdo, con CONV 0006: 1 1 1 1 1 1 0 1 1 H H H L L H0007: 0 1 1 1 1 1 0 1 1 L L H L L H0008: 1 1 1 1 1 1 0 1 1 H H H L L H Probar INT1 0009: 1 1 1 1 1 1 0 1 1 H H H L L H0010: 1 1 1 1 0 1 0 1 1 H H H H L H0011: 1 1 1 1 1 1 0 1 1 H H H L L H Probar INT2 0012: 1 1 1 1 1 1 0 1 1 H H H L L H0013: 1 1 1 1 1 0 0 1 1 H H H L H H0014: 1 1 1 1 1 1 0 1 1 H H H L L H0015: 1 1 1 1 1 1 1 1 1 H H H L H H0016: 1 1 1 1 1 1 0 1 1 H H H L L H Probar SQT 0017: 1 1 1 1 1 1 0 0 0 H H H L L L0018: 1 1 1 1 1 1 0 0 1 H H H L L L0019: 1 1 1 1 1 1 0 1 0 H H H L L L0020: 1 1 1 1 1 1 0 1 1 H H H L L H

Page 48: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-45

A.6.3 EXPANSION DE MEMORIA

Las especificaciones para este dispositivo son las siguientes:

1. Generacion de ocho (8) señales de seleccion, con resolucion

de 32Kbytes.

Esta cantidad de señales de salida

suman ocho (8) señales, que es el maximo

numero de salidas con que consta el

PAL16L8, por lo tanto nos ]quedan solo diez

(10) pines de entrada que debemos utilizar.

De los diez (10) pines de entrada, solo

necesitamos cinco (5) para el bus de

direcciones A19 hasta A15 y una para la

señal IO/m.

La descripcion logica (*.PLD), de este circuito resulta bastante

sencilla, ya que lo unico que el mismo hace es una decodificacion de

direcciones.

En la figura A.7, se muestra el diagrama esquematico equivalente

del dispositivo RAM_EXP.

Figura A.7. Diagramaesquematico equivalente deRAM_EXP

Page 49: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-46

El mapa de direcciones

seleccionado para este

dispositivo se presenta en la

tabla A.10, y el mismo fue

diseñado utilizando todas las

localidades continuas empezando

desde la localidad 8000H hasta la

localidad 41FFFH, ya que se desea

que la expansion de memoria cree

un banco continuo de memoria de

lectura y escritura.

A.6.3.1 DESCRIPCION LOGICA DE RAM_EXP

A continuacion presentamos el contenido del archivo RAM_EXP.PLD,

con el objetivo de dejar documentacion de su descripcion logica.

Name RAM_EXP;Partno None;Date 03/19/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88 EXPANSION DE MEMORIA;Location U4;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* siete memorias RAM y una memoria EEPROM. *//* *//*********************************************************/

/*********************************************************//* *//* Pines de entrada *//* *//*********************************************************/

PIN [1..5] = [A15..19] ; /* CPU Address Bus */PIN 6 = IO ; /* IO/m Signal */

/*********************************************************//* *//* Pines de Salida *//* *//*********************************************************/

PIN 12 = !cs1; /* Seleccion del RAM1 */PIN 13 = !cs2; /* Seleccion del RAM2 */PIN 14 = !cs3; /* Seleccion del RAM3 */PIN 15 = !cse; /* Seleccion del EEPROM */PIN 16 = !cs4; /* Seleccion del RAM4 */PIN 17 = !cs5; /* Seleccion del RAM5 */PIN 18 = !cs6; /* Seleccion del RAM6 */PIN 19 = !cs7; /* Seleccion del RAM7 */

/*********************************************************//* *//* Variables Intermedias *//* */

Tabla A.10. Mapa de direcciones deldispositivo RAM_EXP

Dispositivo Localidades Banco

RAM-1 08000..0FFFF 08000..0FFFF

RAM-2 10000..17FFF 10000..17FFF

RAM-3 18000..1FFFF 18000..1FFFF

RAM-4 20000..27FFF 20000..27FFF

RAM-5 28000..2FFFF 28000..2FFFF

RAM-6 30000..37FFF 30000..37FFF

RAM-7 38000..3FFFF 38000..3FFFF

EEPROM 40000..41FFF 40000..41FFF

Page 50: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-47

/*********************************************************/

Field bus_dir = [A19..15]; /* Dar el nombre "bus_dir" */ /* a las variables A19..A15*/

/*********************************************************//* *//* Ecuaciones Logicas *//* *//*********************************************************/

cs1 = !IO & bus_dir:[08000..0FFFF] ;

cs2 = !IO & bus_dir:[10000..17FFF] ;

cs3 = !IO & bus_dir:[18000..1FFFF] ;

cs4 = !IO & bus_dir:[20000..27FFF] ;

cs5 = !IO & bus_dir:[28000..2FFFF] ;

cs6 = !IO & bus_dir:[30000..37FFF] ;

cs7 = !IO & bus_dir:[38000..3FFFF] ;

cse = !IO & bus_dir:[40000..41FFF] ;

A.6.3.2 ARCHIVO DE SIMULACION DE RAM_EXP

A continuacion presentamos el contenido del archivo RAM_EXP.SI, con

el objetivo de dejar documentacion de su archivo de simulacion.

Name RAM_EXP;Partno None;Date 03/19/92;Revision 01;Designer Lambrano;Company LOGITAL;Assembly SD88 EXPANSION DE MEMORIA;Location U4;Device P16L8;

/*********************************************************//* *//* Este dispositivo genera las senales de seleccion para *//* siete memorias RAM y una memoria EEPROM. *//* *//*********************************************************/

/*********************************************************//* *//* Definicion del Ordenamiento *//* *//*********************************************************/

ORDER: A19, %2, A18, %2, A17, %2, A16, %2, A15, %2, IO, %4, !cs1, %2, !cs2, %2, !cs3, %2, !cse, %2,

!cs4, %2, !cs5, %2, !cs6, %2, !cs7;

/*********************************************************//* *//* Vectores de prueba *//* *//*********************************************************/

VECTORS: /* 123456-Dejar seis espacios para los numeros de linea *.SO */$msg " ";$msg " A A A A A c c c c c c c c";$msg " 1 1 1 1 1 I s s s s s s s s";$msg " 9 8 7 6 5 O 1 2 3 e 4 5 6 7";$msg " ________________ ______________________";$msg " Probar las localidades del 00000h al 47FFFh"; 0 0 0 0 0 0 * * * * * * * * 0 0 0 0 1 0 * * * * * * * * 0 0 0 1 0 0 * * * * * * * * 0 0 0 1 1 0 * * * * * * * * 0 0 1 0 0 0 * * * * * * * * 0 0 1 0 1 0 * * * * * * * * 0 0 1 1 0 0 * * * * * * * * 0 0 1 1 1 0 * * * * * * * * 0 1 0 0 0 0 * * * * * * * *

A.6.3.3 RESULTADOS DE RAM_EXP

Page 51: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-48

=============================================================================== Chip Diagram===============================================================================

______________ | RAM_EXP | A15 x---|1 20|---x Vcc A16 x---|2 19|---x !cs7 A17 x---|3 18|---x !cs6 A18 x---|4 17|---x !cs5 A19 x---|5 16|---x !cs4 IO x---|6 15|---x !cse x---|7 14|---x !cs3 x---|8 13|---x !cs2 x---|9 12|---x !cs1 GND x---|10 11|---x |______________|

=============================================================================== Simulation Results=============================================================================== A A A A A c c c c c c c c 1 1 1 1 1 I s s s s s s s s 9 8 7 6 5 O 1 2 3 e 4 5 6 7 ________________ ______________________ Probar las localidades del 00000h al 47FFFh0001: 0 0 0 0 0 0 H H H H H H H H0002: 0 0 0 0 1 0 L H H H H H H H0003: 0 0 0 1 0 0 H L H H H H H H0004: 0 0 0 1 1 0 H H L H H H H H0005: 0 0 1 0 0 0 H H H H L H H H0006: 0 0 1 0 1 0 H H H H H L H H0007: 0 0 1 1 0 0 H H H H H H L H0008: 0 0 1 1 1 0 H H H H H H H L0009: 0 1 0 0 0 0 H H H L H H H H

A.7 CONCLUSIONES

Como pudimos apreciar, los dispositivos logicos programables,

redujeron en gran parte la circuiteria de soporte del Sistema Didactico,

lo que se traduce en un menor inventario de partes, menor area ocupada en

el circuito impreso y mayor flexibilidad del sistema (modificaciones del

sistema sin tener que hacer cambios al circuito impreso). De hecho, la

única desventaja que presentan los dispositivos logicos programables,

utilizados en el Sistema Didactico fue el alto consumo de corriente

(Capitulo I Seccion 1.2.1.3).

La utilizacion de programas compiladores de descripcion logica para

PLD como CUPL, provee al diseñador de herramientas de alto nivel

(alejadas del diseño a nivel de compuertas), que le permiten diseñar un

PLD sin la necesidad de diseñar previamente el circuito a nivel de

compuertas. De hecho, para el diseño de todos los PLD del Sistema

Didactico (menos el WAIT2), el diseñador paso directamente de las

necesidades hacia la descripcion logica del dispositivo.

El diseñador de un circuito con registros (maquina de estado) debe

Page 52: 2 Figura A.1. Utilizacion y generacion de archivos por el ... · diseño de los dispositivos lógicos programables utilizados en el Sistema Didáctico SD-88. A.2 SISTEMA CUPL El sistema

A-49

utilizar los comandos y sintaxis provistos por CUPL para la maquina de

estado, ya que de esta manera el diseño es más facil de documentar,

modificar, implementar en distintos dispositivos y entender por otros

diseñadores.

A.8 REFERENCIAS

Manual de CUPLLogical Devices Inc.Ver 1.001990

NationalProgramable Device Databook....

Faltan...