Salut,
Je viens de me lancer dans l'apprentissage de ispLever de Lattice et du langage Abel.
J'essaye de générer 2 signaux à partir d'un signal Clock et d'un signal d'activation. Voir fichier attaché.
Ma cible est pour l'instant une GAL16V8D
J'ai fait le programme suivant (mon 1er), en simulation ca a l'air bon. PAr contre pour la generation du jedec ca coince. Sur une autre cible type 22v10 ca rentre.![]()
Si un cerveau plus éveillé que le mien pouvait me simplifier mon prog... je prends. Ou me filer un conseil avant que je rattaque demain.
MODULE USDrive
"INPUT
clock pin 1;
OE1 pin 2;
"OUTPUT
OUT1A pin 13 istype 'reg';
OUT1B pin 14 istype 'reg';
OUT3 pin 15 istype 'reg';
OUT1=[OUT1A,OUT1B];
Equations
OUT1.CLK=clock;
"OUT1.ACLR=!OE1; "non accepté par le compilo ?
OUT3.CLK=clock;
"OUT3.ACLR=!OE1; "non accepté par le compilo ?
WHEN OE1==0 THEN {OUT1A:=0; OUT1B:=0; OUT3:=0;}
ELSE
{
when (OUT3==1) THEN OUT1B:=1;
when (OUT1A==1) THEN OUT1A:=0;
WHEN (OUT1A.FB==1) THEN OUT3:=1;
when (OUT1B==1) THEN OUT1B:=0;
when (!OUT1A & !OUT1B & !OUT1A.FB & !OUT1B.FB &!OUT3) THEN OUT1A:=1;
}
Test_vectors
([clock,OE1]->[OUT1])
[.x. , 0]->[.x.];
[.c. , 0]->[.x.];
[.c. , 0]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 0]->[.x.];
[.c. , 0]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
[.c. , 1]->[.x.];
END
Merci
Julien
-----