Documente Academic
Documente Profesional
Documente Cultură
ABEL
(Advanced Boolean Equations Language)
Figura 1
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Estructura de un archivo fuente ABEL
Los elementos básicos que componen un archivo fuente de ABEL-
HDL (Módulo) se puede dividir en cinco secciones:
• Cabecera
• Declaraciones
• Descripción de Logic
• Vectores de prueba
• Fin
U1 device ‘p22v10’;
Declaraciones V1, v2, p pin 2, 3, 4;
M pin 23; Entradas Modulo Salidas
Equations .
Descripción Logica M=!V1 & P # !V2&P; Representa
ción interna
Eléctrica
Importante:
• Para las palabras claves da igual si se escriben mayúsculas o minúsculas
• Para los nombres definidos por el usuario hay que mantener el estilo de su
declaración, por lo que si hay diferencia entre mayúsculas y minúsculas (V1
diferente a v1)
• Las sentencias acaban en «;»
Comentarios :
• Empiezan por comillas
• Se extienden hasta las siguientes comillas o hasta el final de la línea
Encabezado y final:
• Las palabras clave «module» y «end» marcan los límites de un diseño
Cadena alfanumérica que empieza por ___ o una letra Caracteres entre comillas simples
Declaración de pines.
Es para identificar las terminales a utilizar en el PLD:
Id_pin1, id_pin2, ……… PIN n°pin1, n°pin2, …….
Lista de identificación para los pines Lista del n° de pin que se utilizará en el PLD
En la figura 3, se presenta los tipos de datos que se manejan en ABEL, base numérica.
Ejemplo:
^b010001
^o21
^d17 ó 17
^h11
Figura 3
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
SIMBOL DESCRIPCIÓN OPERACI
Símbolo Operación O ÓN
- NEGACIÓN -A
! NOT (COMPLEM A 2)
- RESTA A-B
& AND
+ SUMA A+B
# OR LÓGICOS
<< DESPLAZAMIENTO A A<<B
$ XOR IZQUIERDA
ARITMÉTICOS
!$ XNOR >> DESPLAZAMIENTO A A>>B
DERECHA
* MULTIPLICACIÓN A*B
Operadores /
%
DIVISIÓN ENTRA
MÓDULO (RESTA DE A%B
A/B
A/B)
SÍMBOL DESCRIPCIÓ OPERACIÓ
O N N
== IGUAL A==B
RELACIONES
!= DIFERENTE A!=B
equations equations
X:=X+1; Y:=Y+X;
Y:=Y+X; X:= X+1;
[X,Y].clk = ck;
SEL=[S1,S0];
equations
When SEL==0 then Y=D0
else when SEL==1 then Y=D1
else when SEL==2 then Y=D2
else Y=D3;
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Extensión de punto
Se aplican a las variables de salida las cuales permiten:
– Manejar señales especiales de la estructura de salida (OE,
CLK, etc)
– Eliminar ambigüedad en la descripción.
module cont8
cont8 device ´p22v10’;
reloj, rst, up pin 1,2,3;
q2, q1, q0 pin 23, 22, 21;
cn=[q2, q1, q0];
equations
when up==0 then cn:=cn+1
else cn:=cn-1;
cn.aclr=rst;
cn.clk=reloj;
end
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Ejemplo: Contador módulo 13 con PRERESET síncrono y RESET asíncrono
Nota: la entrada PRERESET coloca al contador a su valor máximo
module cont13
cont13 device ´p22v10’;
reloj, rst, prt pin 1,2,3;
q3, q2, q1, q0 pin 23, 22, 21, 20;
cn=[q3, q2, q1, q0];
equations
when prt then cn:=12
else when (cn==12) then cn:=0;
else cn:=cn+1;
cn.clk=reloj;
cn.aclr=rst;
end Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Declaración y uso de tablas de verdad
Salidas = f (combinaciones de entrada)
Permite describir sistemas combinacionales (tabla
de verdad), y sistemas secuenciales (tabla de
estados).
Sistemas combinacionales Sistemas secuenciales
end BCD7SEG
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Diagramas de estado
La programación HDL – ABEL nos permite programar maquinas
de estado, programando el diagrama de estados.
Palabra clave: state_diagram
state_diagram reg_estados
state id_estado:
[ecuaiones;]
cond_trans;
…
Donde:
• reg_estado, identificador o conjunto de identificadores que
identifican los biestables de estado.
• Id_estado, identificador del estado actual.
• Ecuaciones, define las salidas para el estado actual.
• Cond_trans, condición de transición del estado que define:
– El estado siguiente: if-then-else y goto
– Opcionalmente ecuaciones de salida asociadas a las transiciones
entre estados: with-endwith.
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Diagramas de estado (cont.)
Transiciones de estado:
– Transiciones incondicionales S2
state_diagram ESTADO
state S2: goto S0
…
S0
– Transiciones condicionales.
S2 !E
state_diagram ESTADO
state S2: if E then S0;
E
else S2
…
S0
Nota:
• .x. en simulación:
– Como entrada, escogerá un valor (0, 1)
– Como salida , dará lo mismo el valor que aparezca a la salida dependiendo de la función
correspondiente.
Ing. Marco Antonio Reyes González, Depto.
de Ingria. Eléctrica y Electrónica
Vectores de test