Sunteți pe pagina 1din 23

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.

DPE IES “Juan de la Cierva” (Madrid)

1
Herramientas para la programción
de DLP

DPE IES “Juan de la Cierva” (Madrid)

Flujo de diseño

DPE IES “Juan de la Cierva” (Madrid)

2
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

DPE IES “Juan de la Cierva” (Madrid)

3
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 ;

DPE IES “Juan de la Cierva” (Madrid)

4
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.

DPE IES “Juan de la Cierva” (Madrid)

5
Declaración de constantes y
conjuntos
• Se pueden definir constantes y conjuntos para
simplificar la descripción ABEL de un diseño
• Ej.:
ASET = [A2, A1, A0]
BSET = [B2, B1, B0]
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;
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
rango
DATO = [D7..D0]

DPE IES “Juan de la Cierva” (Madrid)

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

DPE IES “Juan de la Cierva” (Madrid)

Operadores Lógicos
Operador Descripción Ecuación en Símbolo
ABEL_HDL

! NOT !A A A

& AND A&B A


A.B
B

# OR A#B A A+B
B

$ OR-EXLUSIVA A$B A A+B


B

!& NAND !(A&B) A


A.B
B

!# NOR !(A#B) A A+B


B

!$ NOR-EXCLUSIVA !(A$B) A A+B


B

DPE IES “Juan de la Cierva” (Madrid)

7
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
Operador Descripción Ecuación enABEL_HDL

- Negación (complemento a 2) -A
- Resta A-B
+ Suma A+B
* (1) Multiplicación A*B
/ (1) División (Entera) A/B
% (1) Módulo: resto de A/B A%B
<< (1) Desplazamiento a la Izquierda A<<B
>> (1) Desplazamiento a la derecha A>>B
(1) Estos operadores no se pueden usar con conjuntos. Están restringidos a operaciones con señales
o números.

DPE IES “Juan de la Cierva” (Madrid)

8
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).
Operador Descripción Ejemplo
== Igual a A == B
!= Distinto de A!=B
> Mayor que A>B
< Menor que A<B
>= Mayor o igual que A>=B
<= Menor o igual que A<=B
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.
Operador Descripción Ejemplo
= Asignación combinacional Z=B&C
:= Asignación Secuencial Q1:=D1

DPE IES “Juan de la Cierva” (Madrid)

9
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 que
se utilicen paréntesis para modificar la prioridad de las
operaciones

Prioridad Operadores
1 - (complemento a 2), !
2 &, <<, >>, *, /, %
3 +, - (resta), #, $, !$
4 relacionales
DPE IES “Juan de la Cierva” (Madrid)

10
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.

DPE IES “Juan de la Cierva” (Madrid)

11
Ejemplo de descripción mediante
ecuaciones
• Una prensa, ubicada en una línea de ABC P L
producción, se pone en marcha
mediante la actuación simultánea de 000 0 0
tres pulsadores P1,P2 y P3, de un solo
contacto cada uno. Si se pulsan sólo 001 0 1
dos cualesquiera, la máquina funciona,
pero se activa una señal luminosa que 010 0 1
indica una manipulación incorrecta. Por
otra parte, cuando se actúe sobre un 011 1 1
solo pulsador, también se encenderá el
piloto luminoso, pero no se pondrá en 100 0 1
marcha la prensa.
101 1 1
P = ABC + ABC + ABC + ABC
110 1 1
L = ABC + ABC + ABC + A BC + ABC + ABC
111 1 0
DPE IES “Juan de la Cierva” (Madrid)

P = ABC + ABC + ABC + ABC


L = ABC + ABC + ABC + ABC + ABC + ABC

DPE IES “Juan de la Cierva” (Madrid)

12
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.
.X. Indiferente
.Z. Alta impedancia
.C. Pulso de reloj
.U. Flanco ascendente de reloj
.D. Flanco descendente de reloj

DPE IES “Juan de la Cierva” (Madrid)

13
Vectores de Prueba

DPE IES “Juan de la Cierva” (Madrid)

Funciones simplificadas
B
ABC P L C
000 0 0 A 00 01 11 10

001 0 1 0 0 0 1 0
1 0 1 1 1
010 0 1
P = AC + AB + BC
011 1 1
B
100 0 1 A
C
00 01 11 10
101 1 1 0 0 1 1 1
110 1 1 1 1 1 0 1
111 1 0 L = AB + AC + BC
DPE IES “Juan de la Cierva” (Madrid)

14
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

DPE IES “Juan de la Cierva” (Madrid)

15
Definición mediante Tablas de
verdad

DPE IES “Juan de la Cierva” (Madrid)

Definición mediante Tablas de


verdad

DPE IES “Juan de la Cierva” (Madrid)

16
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).
Operador Descripción Ejemplo
== Igual a A == B
!= Distinto de A!=B
> Mayor que A>B
< Menor que A<B
>= Mayor o igual que A>=B
<= Menor o igual que A<=B
DPE IES “Juan de la Cierva” (Madrid)

17
Declaración mediante ecuaciones
relacionales

DPE IES “Juan de la Cierva” (Madrid)

Declaración mediante ecuaciones


relacionales

DPE IES “Juan de la Cierva” (Madrid)

18
Maquina de estados descripción
mediante ecuaciones
Y=0 Y=0
Y=0

Y=1 Y=1
I0/000 I1/001 I2/010

Y=1

Y=1

Y=0
I6/110 I3/011

Y=0

Y=1
Y=1

I5/101 Y=1 I4/100

Y=0
Y=0

DPE IES “Juan de la Cierva” (Madrid)

Maquina de estados descripción


mediante ecuaciones
Q3(t)Q2(t) Q1(t) Q3(t+1) Q2(t+1) Q1(t+1) D3 D2 D1

0 0 0 0 0 1 0 0 1
Q2(t )
Q1(t )
0 0 1 0 1 0 0 1 0
Q3(t ) 00 01 11 10
0 1 0 0 1 1 0 1 1
0 1 1 1 0 0 1 0 0 0 1 0 0 1
1 0 0 1 0 1 1 0 1 1 1 0 X 0
1 0 1 1 1 0 1 1 0
1 1 0 0 0 0 0 0 0 D1 = Q2 Q 1 + Q3 Q1

Q2(t ) Q2(t )
Q1(t ) Q1(t )
Q3(t ) 00 01 11 10 Q3(t ) 00 01 11 10
0 0 0 1 0 0 0 1 0 1
1 1 1 X 0 1 0 1 X 0
D3 =Q 3 Q2 + Q2 Q1 D 2 = Q2 Q1 + Q 3Q2 Q1

DPE IES “Juan de la Cierva” (Madrid)

19
Maquina de estados descripción
mediante ecuaciones

DPE IES “Juan de la Cierva” (Madrid)

Cronograma de simulación

DPE IES “Juan de la Cierva” (Madrid)

20
Maquina de estados descripción
mediante Tabla de verdad

DPE IES “Juan de la Cierva” (Madrid)

Contador UP/DOWN descripción


por ecuaciones

DPE IES “Juan de la Cierva” (Madrid)

21
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

DPE IES “Juan de la Cierva” (Madrid)

22
DPE IES “Juan de la Cierva” (Madrid)

23

S-ar putea să vă placă și