0 calificaciones0% encontró este documento útil (0 votos) 453 vistas19 páginasProgramación CUPL
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF o lee en línea desde Scribd
GAL 22V10
Tiene 12 entradas (Terminales 1-11 y 13).
Tiene 10 salidas/entradas (14 - 23).
La terminal 1 siempre es la fuente de reloj
para circuitos secuenciales.
Se puede generar hasta 120 minitérminos:
© 8 enlas salidas 14 y 23.
© 10 en las salidas 15 y 22.
© 12enlas salidas 16 y 21.
© 14 enlas salidas 17 y 20.
© 16 en las salidas 18 y 19.
i
aig
ges
ae
Permite Reset sincrono y asincrono, y se
puede hacer retroalimentaci6n de las
salidas a las entradas.
BASecmvorr ongvou
ono
DIP
7 a
GAL
22v10
6
1s
12 xWinCUPL (Universal Compiler f
Programmable Logic)
El WinCUPL es un software de Atmel que genera el archivo para
programar PAL’s y GAL'S.
Un programa en WinCUPL, consta de 3 bloques principales, que son:
« Encabezado. Se indica el nombre del programa, el
dispositivo a ser programado, el autor, la fecha y otros datos.
e Asignacién de terminales. Se indican la asignacién de las
terminales de entrada y salida del dispositivo.
e Ecuaciones Idégicas. Define la relacién entre las terminales
asignadas.Encabezado
Name
PartNo
Date
Revision
Designer
Company
Assembly
Location
Device
Name ;
00;
03/10/2006 ;
01;
Engineer ;
UTM;
None ;
Huajuapan;
g22v10;
Deben escribirse todos los campos, si no, el compilador
marca un error.Declaracion de terminales
El formato general para esta declaracion es:
PIN pin_number = [!] var
Ejemplos:
PIN1 = Clock; PIN 2 = Ss;
PIN 11 = !0; PIN{[3..6] = [DO..D3];
Declaracion de nodos
PIN_NODE pin_number = [!]var;
Se usan para dispositivos que cuentan con
terminales internasImplementaci6n en WinCUPL
Y¥ =(0,1,2,3,6)
Name Name;
PartNo 00;
Date 03/10/2006 ;
Revision 01 ;
Encabezado <—— > _Designer Engineer ;
‘Company UTM;
Assembly None :
Location ;
Device g22v10;
“**** INPUT PINS **
Asignacién de terminales Sf |
= an ‘
Jt theseweeeseeses OUTPUT PING ‘tttettesseereneeney
PIN 23 =Y a 1
[ft theseweeeseest ECUACION LOGICA “tttereserernensees]
Ecuaciones logicas <: Y=(JASIB8IC)#(/A&IB&C)#(IA&B&IC)H(|ASB&C)#(ABB&IC);Elementos del lenguaje CUPL
¢ Variables
e Son cadenas de caracteres alfanuméricos que especifican
terminales del dispositivo, nodos intermedios, constantes,
sefiales de entrada y salida, sefiales intermedias 0
conjuntos de estas.
e Son sensibles a las mayusculas.
e Indexadas
e Es posible usar nombres de variables para representar un
grupo de variables terminando estas con un numero.
indexado del 0 al 31. Ejemplo:
DO D1 D2 D3 D4 D5 D6 D7
Tambor Dae Decimal value
Tea Hoaacona
G00. 471 ‘Gaal nae)
HTK Hovadeinal (ange)Palabras reservadas
TABLE 5.1 CUPL reserved keywords.
APPEND DEVICE IF QUT SEQUENCED
ASSEMBLY ELSE JUMP PARTNO SEQUENCEJK
ASSY FIELD Loc PIN SEQUENCERS
COMPANY FLD LOCATION — PINNODE SEQUENCET
CONDITION FORMAT MACRO PRESENT TABLE
DATE FUNCTION MIN REV
DEFAULT FUSE NAME REVISION
DESIGNER GROUP NODE SEQUENCE
——Constantes numéricas
e La base por omision en CUPL para todos los
numeros es el hexadecimal.
e Excepto para los numeros de las terminales y
variables indexadas, las cuales siempre estan
en decimal.
e Ejemplos
e Decimal ‘do ‘d’21 ‘d’51 ‘d’7
e Hexadecimal ‘h’O ‘h’15 ‘h’33, ‘h7
e Octal ‘VO ‘025 ‘063 ‘o7
e Binario ‘b'O ‘610101 ‘b’110011 ‘b’111Funciones ldgicas
& # ( ) -
“+t [— Jf
7 I* */
Not
!
. ‘Operator ‘Examples Description Precedence
And & ! a NOT fl
Or # & aap AND a
Xor $ Age OR 3
/* Comentario */ s ASB XOR 7Operadores aritméticos
Operator Examples: Description Precedence
a 23 Exponentiation 1
g 2 Multiplication 2
/ 42 Division 2
% 98 Modulus 2
+ 2a Aiton 3
41 Subtraction 3
Function Base
Toa Binary
Loss Catal
Logie Hexadecimal
tos Decimal
L0G2 (32) = 5 2*#5 = 32
L0G2 (33)
ceil(5.0444) =
2**6 = 64Notacion de lista
e Una lista es un método corto para definir variables.
Ejemplo:
[D0,01,D2,03,D4,05,D6,D7]
ION, OFF]
[ONE, TWO, THREE, FOUR]
Cuando todos los nombres de las variables en la
lista son secuencialmente numerados, el siguiente
formato puede ser usado:
[D0..D7} (A00..A15] —_‘[INPUT3..INPUTO]
[D0..7] [A7..0] {12..1]Usando el comando FIELD
FIELD ADDRESS = [A7, A6, A5, A4, A3, A2, Al, AO];
FIELD DATA = [D7..D0];
FIELD Mode = [Up, Down, Hold];
Una declaracién con FIELD asigna una variable a
un grupo de bits.Cl]
Extensiones de variables
var [.ext]
exp;
Exension [semua Desorption
a T Rovner preset 8p too
a TP Asyneecnous rest of top
ce TJ CE input of erated CE typo pop
or c Proramate ook a ip-lop
(CRI L__| closer scion
D T_[Brpuiet0 ype tip top
OF as
Do [cup [Link]-top
Nr F__ roral foatock ph x rogarod maroc
0. F___ Pinooatck pan entecton
a Ts inputo1 ype ouput tp op
r Trp cope one ion
L TJ Dut transparent atch
m3 TJ Programmation ont
To FO oupatofvransparat pa eh
OE L__[ Posammatie ouput erate
R Trp Si ype cups pS
S C Step of SPtype out etn
* L__|Syratroneus reset ot mp0
7 T___[ Tr rputoriogg ouput tree
1H F__ [Teasers foebock ah ealocionOperaciones de igualdad
Estas expresiones
(A3, A2, Al, AO)]:&
(B3..B0] :#
[C3, C2, Cl, CO]:$
son equivalentes a :
A3 & A2 & Al & AO
B3 # B2 # Bl # BO
c3 $§ c2 § cl §$ cOTablas de verdad
FIELD input = [in3..0];
FIELD output = [out3..0];
TABLE input => output {
O=> 00; l=>01; 2=>02; 3=>03;
4=>04; 5=>05; 6=>06; 7=>07;
8=>08; 9=>09; A=>10; B=>11;
C=>12; D=>13; E=>14; F=>15;Maquinas de estados
SEQUENCE state_var_list {
presen statGequenced count {
IF (conditionl)NEXT state_nl;
IF (condigresentSO-ifep 7 orextS1;
DEFAULT NeXt stati own next S9;
cee if clear next SO;
eae if down out carry;
present S1 ifup next S2;
if down next SO;
: if clear next S0;
PRESENT statprasent S2ncaif up next $3;
if down next S1;
next SO;Ejemplo
Sequenced count {
present SO if up next $1;
if down next S9;
if clear next SO;
if down out carry;
present S1 ifup next $2;
if down next SO;
if clear next SO;
present S2_ ifup next S3;
if down next S1;
if clear next SO;
}Condicion
CONDITION {
IF exprd ouT var;
IF exprn OUT var;
DEFAULT OUT var;
}
También podría gustarte
Demod PPM
Aún no hay calificaciones
Demod PPM
2 páginas
Practica N1
Aún no hay calificaciones
Practica N1
21 páginas
Practica # 3
Aún no hay calificaciones
Practica # 3
1 página