Lenguaje ABEL

23
1 DPE IES “Juan de la Cierva” (Madrid) Lenguaje ABEL DPE IES “Juan de la Cierva” (Madrid) LENGUAJE ABEL ABEL ( Advanced Boolean Equation Language) es un lenguaje de descripción de harware (HDL, Hardware Descripción Language) que fue diseñado por Data I/O Corporation en 1984 para describir e implementar diseños digitales sobre dispositivos lógicos programables PLD, (Programmable Logia Devices). Posteriormente aparecieron otros lenguajes similares al ABEL como son el CUPL o PALASM y otros de mayor complejidad como el VHDL o Verilog, capaces de describir sistemas de mayor entidad.

Transcript of Lenguaje ABEL

Page 1: Lenguaje ABEL

1

DPE IES “Juan de la Cierva” (Madrid)

Lenguaje ABEL

DPE IES “Juan de la Cierva” (Madrid)

LENGUAJE ABEL• ABEL ( Advanced Boolean Equation Language)

es un lenguaje de descripción de harware (HDL, Hardware Descripción Language) que fue diseñado por Data I/O Corporation en 1984 para describir e implementar diseños digitales sobre dispositivos lógicos programables PLD, (Programmable Logia Devices).

• Posteriormente aparecieron otros lenguajes similares al ABEL como son el CUPL o PALASM y otros de mayor complejidad como el VHDL o Verilog, capaces de describir sistemas de mayor entidad.

Page 2: Lenguaje ABEL

2

DPE IES “Juan de la Cierva” (Madrid)

Herramientas para la programciónde DLP

DPE IES “Juan de la Cierva” (Madrid)

Flujo de diseño

Page 3: Lenguaje ABEL

3

DPE IES “Juan de la Cierva” (Madrid)

Estructura del lenguaje ABEL• Todos los diseños deben tener una cabecera y un final• Todos los diseños empiezan con una sentencia

MODULE y terminan con una sentencia END.• Para evitar errores de compilación, el nombre dado al

módulo debe coincidir con el nombre del fichero *.abl en el que se almacena la información.

• La sentencia TITLE es opcional y se usa para identificar el diseño a efectos de documentación. “Va seguida de una cadena de caracteres ASCII encerrados entre comillas simples”.

• La sentencia END marca el final del módulo. Puede ir seguida por el nombre del módulo, a efectos de documentación.

DPE IES “Juan de la Cierva” (Madrid)

Estructura del lenguaje ABEL

Page 4: Lenguaje ABEL

4

DPE IES “Juan de la Cierva” (Madrid)

Declaraciones• Esta sección incluye :

– La declaración del dispositivo– La declaración de los pines– La declaración de constantes– La declaración de conjuntos

• Declaración de Dispositivo. Es opcional y se utiliza para especificar el PLD que se va a programar. El identificador es simplemente una descripción y puede ser el que se desee. El dispositivo se especifica en la cadena que se pone a continuación, que empieza por P para las PAS y las GAL.

Identificador device cadena ;Ej.:

U1 device ‘P22V10’;(en este programa ????)

DPE IES “Juan de la Cierva” (Madrid)

Declaración de Pines• Declaración de Pines: Define los identificadores

que se usarán en el archivo ABEL para los pines del diseño y los asocia con los números de pines del encapsulado del dispositivo. El asignar números de pines es opcional. Si no se ponen, las herramientas de síntesis elegirán los adecuados.

id_pin1, id_pin2,.... pin nº_pin1, nº_pin2....;Ej.:

A, B, C pin 3, 4, 5 ;

Page 5: Lenguaje ABEL

5

DPE IES “Juan de la Cierva” (Madrid)

Declaración de Pines• Se pueden asociar atributos a los pines de salida con la palabra

clave istype seguida de una cadena de caracteres. Esta cadena de caracteres contiene una o varias palabras clave separadas por comas, que indican a la herramienta de síntesis características especiales de la salida. Los atributos más utilizados son los siguientes:– ‘com’ indica que la salida es combinacional– ‘reg’ indica que la salida es registrada– ‘buffer’ indica que se utiliza la configuración activa en alto de la

estructura de salida, es decir, que tenemos un buffer no inversor conectado a la salida

– ‘inver’ indica que se utiliza la configuración activa a nivel bajo de la estructura de salida, es decir, que tenemos un buffer inversor conectado al pon de salida.

Ej: X,Z pin 27, 26 istype ‘com, invert’

DPE IES “Juan de la Cierva” (Madrid)

Declaración de nodos

• También se pueden declarar señales internas del circuito, no conectadas a ningún pin de salida, mediante la palabra clave node.

• Utiliza la misma sintaxis que para la declaración de pines, pero sin los números de pin.

Page 6: Lenguaje ABEL

6

DPE IES “Juan de la Cierva” (Madrid)

Declaración de constantes y conjuntos

• Se pueden definir constantes y conjuntos para simplificar la descripción ABEL de un diseño

• Ej.:

ASET & BSET [A2&B2], [A1&B1], [A0&B0]ASET & B0 [A2&B0], [A1&B0], [A0&B0]2 & ASET [0&A2], [1&A1], [0&A0]ASET = 2 A2=0; A1=1; A0=0;

ASET = [A2, A1, A0]BSET = [B2, B1, B0]

DPE IES “Juan de la Cierva” (Madrid)

Declaración de constantes y conjuntos

• La declaración de conjuntos permite simplificar la descripción lógica tratando una serie de señales como un grupo.

• Un conjunto es una lista de señales o constantes separadas por comas o por el operador de rango (..), encerrada entre corchetes.

• Ej.: DATO = [D7, D6, D5, D4. D3, D2, D1, D0];Que también puede declararse con el operador de

rangoDATO = [D7..D0]

Page 7: Lenguaje ABEL

7

DPE IES “Juan de la Cierva” (Madrid)

Operadores

• Hay 4 tipos de operadores:– Lógicos– Aritméticos– Relaciónales– Asignación

DPE IES “Juan de la Cierva” (Madrid)

Operadores Lógicos

A

BA + B

A

BA + B

A

BA+B

A

BA+B

A A

!(A$B)NOR-EXCLUSIVA!$

!(A#B)NOR!#

!(A&B)NAND!&

A$BOR-EXLUSIVA$

A#BOR#

A&BAND&

!ANOT!

SímboloEcuación en ABEL_HDL

DescripciónOperador

A

BA.B

A

BA.B

Page 8: Lenguaje ABEL

8

DPE IES “Juan de la Cierva” (Madrid)

Operadores Aritméticos• En expresiones numéricas siempre devuelven un valor

natural.• En el contexto de una descripción lógica, una expresión

con operadores aritméticos se convierte en un circuito combinacional mediante el proceso de síntesis lógica.

• Como en ABEL los números siempre representan enteros positivos, la negación es el complemento a 2, que devuelve un entero positivo.

• Restar dos operandos consiste en sumar el primer operando con el complemento a 2 del segundo.

DPE IES “Juan de la Cierva” (Madrid)

Operadores Aritméticos

(1) Estos operadores no se pueden usar con conjuntos. Están restringidos a operaciones con señales o números.

A>>BDesplazamiento a la derecha>> (1)

A<<BDesplazamiento a la Izquierda<< (1)

A%BMódulo: resto de A/B% (1)

A/BDivisión (Entera)/ (1)

A*BMultiplicación* (1)

A+BSuma+A-BResta--ANegación (complemento a 2)-

Ecuación enABEL_HDLDescripciónOperador

Page 9: Lenguaje ABEL

9

DPE IES “Juan de la Cierva” (Madrid)

Operadores relacionales• Los operandos relacionales se utilizan para comparar

operandos en una expresión. El resultado de la comparación es siempre un único bit, que puede valer 1 (verdadero) o 0 (falso).

A<=BMenor o igual que<=A>=BMayor o igual que>=A<BMenor que<A>BMayor que>A!=BDistinto de!=

A == BIgual a==EjemploDescripciónOperador

DPE IES “Juan de la Cierva” (Madrid)

Operadores de asignación• Se utilizan en ecuaciones para asignar el valor

de una expresión a una señal de salida, sea nodo interno o pin.

Q1:=D1Asignación Secuencial:=Z=B&CAsignación combinacional=EjemploDescripciónOperador

Page 10: Lenguaje ABEL

10

DPE IES “Juan de la Cierva” (Madrid)

Operadores de asignación• La asignación combinacional tiene efecto

inmediatamente sin ningún retraso.• La asignación secuencial se realiza en el

siguiente flanco activo de reloj asociado con la salida, es decir, modela una asignación a través de un biestable síncrono.

• En una sentencia como Q1:= Q1 + 1, Q1 en el lado de la derecha es el valor actual, antes del flanco de reloj, de Q1 y en el lado izquierdo representa el valor futuro, después del flanco.

DPE IES “Juan de la Cierva” (Madrid)

Prioridad en los operadores• La siguiente tabla indica los cuatro niveles de prioridad de los

operadores ABEL, donde los operadores de nivel 1 tienen mayor prioridad.

• Cuando varios operadores del mismo nivel aparecen en la misma expresión, estos se evalúan de izquierda a derecha, a no ser quese utilicen paréntesis para modificar la prioridad de las operaciones

relacionales4+, - (resta), #, $, !$3&, <<, >>, *, /, %2

- (complemento a 2), !1OperadoresPrioridad

Page 11: Lenguaje ABEL

11

DPE IES “Juan de la Cierva” (Madrid)

Descripción Lógica

• ABEL permite definir el comportamiento de un diseño lógico mediante:– Ecuaciones (palabra clave equations).– Tablas de verdad (palabra clave truth_table).– Diagrama de estados (palabra clave state_diagram).

• Las ecuaciones son útiles para circuitos combinacionales y secuenciales, cuando el circuito a describir sigue algún patrón o hay alguna regularidad.

DPE IES “Juan de la Cierva” (Madrid)

Descripción Lógica• Las tablas de verdad se pueden usar para circuitos

combinacionales y secuencales. Son útiles en circuitos sin orden o regularidad aparente, como el caso de un decodificador del tipo BCD-7segmentos. También para funciones parcialmente especificadas, es decir, que tienen condiciones donde no importa su valor.

• Los diagramas de estado sólo permite describir circuitos secuenciales. Suelen resultar descripciones menos compactas que la tabla de verdad o las ecuaciones equivalentes, pero resultan más claros y legibles.

Page 12: Lenguaje ABEL

12

DPE IES “Juan de la Cierva” (Madrid)

Ejemplo de descripción mediante ecuaciones

• Una prensa, ubicada en una línea de producción, se pone en marcha mediante la actuación simultánea de tres pulsadores P1,P2 y P3, de un solo contacto cada uno. Si se pulsan sólo dos cualesquiera, la máquina funciona, pero se activa una señal luminosa que indica una manipulación incorrecta. Por otra parte, cuando se actúe sobre un solo pulsador, también se encenderá el piloto luminoso, pero no se pondrá en marcha la prensa.

01111110

00010111

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

LPA B C

CABCBACBABCACBACBAL

ABCCABCBABCAP

+++++=

+++=

DPE IES “Juan de la Cierva” (Madrid)

CABCBACBABCACBACBAL

ABCCABCBABCAP

+++++=

+++=

Page 13: Lenguaje ABEL

13

DPE IES “Juan de la Cierva” (Madrid)

Vectores de Prueba

• Esta sección es opcional y define los vectores de prueba que se utilizarán para comprobar la correcta funcionalidad del diseño.

• La sintaxis es idéntica a la utilizada en las tablas de verdad combinacionales, salvo por la palabra clave de la cabecera, que en este caso es TEST_VECTORS.

DPE IES “Juan de la Cierva” (Madrid)

Vectores de Prueba

• ABEL posee algunas constantes especiales predefinidas que se utilizan en la sección de vectores de prueba.

Flanco descendente de reloj.D.Flanco ascendente de reloj.U.Pulso de reloj.C.Alta impedancia.Z.Indiferente.X.

Page 14: Lenguaje ABEL

14

DPE IES “Juan de la Cierva” (Madrid)

Vectores de Prueba

DPE IES “Juan de la Cierva” (Madrid)

Funciones simplificadas

01111110

00010111

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

LPA B C00 01 11 10

0

1 0 1

1 0

B

P = AC + AB + BC

CA

0 0

1 1

00 01 11 10

0

1 1 1

1 1

B

L = AB + AC + BC

CA

0 1

1 0

Page 15: Lenguaje ABEL

15

DPE IES “Juan de la Cierva” (Madrid)

Simplificación de las funciones

• Dentro del proceso de compilación efectúa un proceso de minimización de la función partiendo de la Tabla de Verdad, las ecuaciones obtenidas se presentan en el archivo reporte y son las mismas que obtuvimos al simplificar por medio del mapa de Karnaugh.

• L = (!A & B) # (A&!C )#(!B&C);• P = ( A & B ) # (A & C) # (B & C );

DPE IES “Juan de la Cierva” (Madrid)

Simplificación por programa

Page 16: Lenguaje ABEL

16

DPE IES “Juan de la Cierva” (Madrid)

Definición mediante Tablas de verdad

DPE IES “Juan de la Cierva” (Madrid)

Definición mediante Tablas de verdad

Page 17: Lenguaje ABEL

17

DPE IES “Juan de la Cierva” (Madrid)

Directivas Importantes• Las directivas no son órdenes propiamente dicho si no

que son ordenes para la herramienta de compilación del fichero, que tienen influencia en la ecuaciones lógicas resultantes.– @DCSET: Permite utilizar como indiferentes las combinaciones

no expecificadas en las tablas de verdad, etc. al minimizar las ecuaciones lógicas resultantes.

– @DCSTATE: Permite utilizar como indiferentes los estados y las transiciones no especificadas en un grafo de estados, al minimizar las ecuaciones lógicas resultantes. A continuación de esta directiva hay que poner @DCSET para que tenga efecto.

– @ONSET: Anula la dircetiva @DCSET y no permite, por tanto, el uso de las combinaciones indiferentes.

– @RADIX: Cambia la base por defecto. Por ejemplo @RADIX 2 cambia de base decimal a base binaria.

DPE IES “Juan de la Cierva” (Madrid)

Operadores relacionales• Los operandos relacionales se utilizan para comparar

operandos en una expresión. El resultado de la comparación es siempre un único bit, que puede valer 1 (verdadero) o 0 (falso).

A<=BMenor o igual que<=A>=BMayor o igual que>=A<BMenor que<A>BMayor que>A!=BDistinto de!=

A == BIgual a==EjemploDescripciónOperador

Page 18: Lenguaje ABEL

18

DPE IES “Juan de la Cierva” (Madrid)

Declaración mediante ecuaciones relacionales

DPE IES “Juan de la Cierva” (Madrid)

Declaración mediante ecuaciones relacionales

Page 19: Lenguaje ABEL

19

DPE IES “Juan de la Cierva” (Madrid)

Maquina de estados descripción mediante ecuaciones

I0/000 I1/001 I2/010

I6/110 I3/011

I5/101 I4/100

Y=1 Y=1

Y=1

Y=1

Y=1

Y=1

Y=1

Y=0 Y=0Y=0

Y=0

Y=0Y=0

Y=0

DPE IES “Juan de la Cierva” (Madrid)

Maquina de estados descripción mediante ecuaciones

0 0 10 1 00 1 11 0 01 0 11 1 00 0 0

0 0 10 1 00 1 11 0 01 0 11 1 0 0 0 0

0 0 00 0 10 1 00 1 11 0 01 0 11 1 0

D3 D2 D1Q3(t+1) Q2(t+1) Q1(t+1)Q3(t)Q2(t) Q1(t)

00 01 11 10

0

1 0X100

0

1

1

Q3(t )

Q2(t )Q1(t )

D1 =Q2 Q1 + Q3Q1

00 01 11 10

0

1 0X

10 0 1

1

Q3(t )

Q2(t )Q1(t )

D2 =Q2 Q1 + Q3Q2Q1

0

00 01 11 10

0

1 0X

1 00 0

1 1

Q3(t )

Q2(t )Q1(t )

D3 =Q3 Q2 + Q2Q1

Page 20: Lenguaje ABEL

20

DPE IES “Juan de la Cierva” (Madrid)

Maquina de estados descripción mediante ecuaciones

DPE IES “Juan de la Cierva” (Madrid)

Cronograma de simulación

Page 21: Lenguaje ABEL

21

DPE IES “Juan de la Cierva” (Madrid)

Maquina de estados descripción mediante Tabla de verdad

DPE IES “Juan de la Cierva” (Madrid)

Contador UP/DOWN descripción por ecuaciones

Page 22: Lenguaje ABEL

22

DPE IES “Juan de la Cierva” (Madrid)

Contador modulo 8 mediante diagrama de estados

DPE IES “Juan de la Cierva” (Madrid)

Bibliografía

• Aplicaciones y problemas de electrónica digital. Autores: Jose Ignacio Atigas Maestre; LuísÁngel Barragán Pérez y Carlos Orrite Uruñuela. Editado por Prensas Universitarias de Zaragoza.

• Fundamentos de Sistemas Digitales. Autor: T.L. Floyd. Editado por Pretince Hall

• Dispositivos Lógicos Programables. Autores: Enrique Mandado; Luís Jacobo Álvarez y Mª Dolores Valdés. Editado por Thomson

Page 23: Lenguaje ABEL

23

DPE IES “Juan de la Cierva” (Madrid)