Test fout SN74LS299 (Computertechniek)
Nu breekt toch mijn klomp.
Wie heeft een idee waarom de zaak niet zou werken.
Hagel nieuwe SN74ALS299N en deze test gaat ook fout.
Zowel op de onlangs hier besproken ICTEST-Pc Kaart
als in mijn XELTEC Universal Programmer welke ook CMOS/TTLs kan testen.
(beide testers testen andere "LS" ICs als ook complexere goed)
Origineel de AM25LS299 en test gaat fout
SN74F299 (2e hands) 2 stuks gaan fout zelfde regel.
nwe SN74ALS299 zelfde regel fout.
Op beide testers maar kan niet zien waar de test fout gaat op de ICtest kaart.
De Datasheet tabel:
De test tabel uit de XELTEC Programmer
Omgeschreven in XLS
Aangegeven de foutmelding op regel 8c, welke Xeltec mee komt.
Omgeschreven naar de volgorde van de Datasheet tabel.
Dit is het programma die de IC-Kaart volgt bij de 74299
#NAME 74299,SN74299
#TEXT
8-Bit-Universal-Schiebe-
register mit Löschen,
kaskadierbar (TS)
Dieser Baustein enthält
ein universelles Links-/
Rechts-Schieberegister mit
paralleler oder serieller
Ein- und Ausgabe, sowie
Speichermöglichkeit.
#PIN 20
1 : S0
2 : Ausg.-Freigabe -OE1
3 : Ausg.-Freigabe -OE2
4 : Ein-/Ausgang I/O6
5 : Ein-/Ausgang I/O4
6 : Ein-/Ausgang I/O2
7 : Ein-/Ausgang I/O0
8 : Ausgang Q0
9 : -MR
10 : GND
11 : Eingang DS0
12 : Clock CP
13 : Ein-/Ausgang I/O1
14 : Ein-/Ausgang I/O3
15 : Ein-/Ausgang I/O5
16 : Ein-/Ausgang I/O7
17 : Ausgang Q7
18 : Eingang DS7
19 : S1
20 : +5V
#FAMILY ALS,F,LS,S
#PROGRAM
BEGIN
PIN[1,2,3,9,11,12,18,19] : INPUT;
PIN[8,17] : OUTPUT;
PIN[10] : GND;
PIN[20] : +5V;
PIN[12]:=LOW;
PIN[2,3,9]:=HIGH;
D:=%01010101;
PIN[1]:=HIGH;PIN[19]:=LOW;
FOR I:=0 TO 1 DO
BEGIN
X:=D;
FOR J:=0 TO 7 DO
BEGIN
PIN[11]:=X AND 1;
PIN[12]:=HIGH;PIN[12]:=LOW;
X:=X SHR 1;
END;
PIN[7,13,6,14,5,15,4,16] : OUTPUT;
PIN[2,3]:=LOW;
IF (PIN[7]&PIN[13]&PIN[6]&PIN[14]&
PIN[5]&PIN[15]&PIN[4]&PIN[16])<>D THEN ERROR(1);
PIN[2,3]:=HIGH;
D:=D EXOR %11111111;
END;
PIN[1]:=LOW;PIN[19]:=HIGH;
FOR I:=0 TO 1 DO
BEGIN
X:=D;
FOR J:=7 DOWNTO 0 DO
BEGIN
PIN[18]:=X AND 1;
PIN[12]:=HIGH;PIN[12]:=LOW;
X:=X SHR 1;
END;
PIN[16,4,15,5,14,6,13,7] : OUTPUT;
PIN[2,3]:=LOW;
IF (PIN[16]&PIN[4]&PIN[15]&PIN[5]&
PIN[14]&PIN[6]&PIN[13]&PIN[7])<>D THEN ERROR(1);
PIN[2,3]:=HIGH;
D:=D EXOR %11111111;
END;
PIN[9]:=LOW;PIN[9]:=HIGH;
PIN[16,4,15,5,14,6,13,7] : OUTPUT;
PIN[2,3]:=LOW;
IF (PIN[16]&PIN[4]&PIN[15]&PIN[5]&
PIN[14]&PIN[6]&PIN[13]&PIN[7])<>0 THEN ERROR(1);
PIN[2,3]:=HIGH;
PIN[1,19]:=LOW;
FOR I:=0 TO 1 DO
BEGIN
PIN[7,13,6,14,5,15,4,16] : INPUT;
PIN[1,19]:=HIGH;
PIN[7]&PIN[13]&PIN[6]&PIN[14]&
PIN[5]&PIN[15]&PIN[4]&PIN[16]:=D;
PIN[12]:=HIGH;PIN[12]:=LOW;
PIN[1,19]:=LOW;
X:=D;
FOR J:=0 TO 7 DO
BEGIN
PIN[7,13,6,14,5,15,4,16] : OUTPUT;
PIN[2,3]:=LOW;
IF (PIN[7]&PIN[13]&PIN[6]&PIN[14]&
PIN[5]&PIN[15]&PIN[4]&PIN[16])<>X THEN ERROR(1);
IF PIN[17]<>(X AND 1) THEN ERROR(1);
PIN[2,3]:=HIGH;
PIN[1]:=HIGH;PIN[19]:=LOW;
PIN[11]:=LOW;
PIN[12]:=HIGH;PIN[12]:=LOW;
PIN[1,19]:=LOW;
X:=X SHR 1;
END;
D:=D EXOR %11111111;
END;
PIN[1,19]:=LOW;
FOR I:=0 TO 1 DO
BEGIN
PIN[16,4,15,5,14,6,13,7] : INPUT;
PIN[1,19]:=HIGH;
PIN[16]&PIN[4]&PIN[15]&PIN[5]&
PIN[14]&PIN[6]&PIN[13]&PIN[7]:=D;
PIN[12]:=HIGH;PIN[12]:=LOW;
PIN[1,19]:=LOW;
X:=D;
FOR J:=0 TO 7 DO
BEGIN
PIN[16,4,15,5,14,6,13,7] : OUTPUT;
PIN[2,3]:=LOW;
IF (PIN[16]&PIN[4]&PIN[15]&PIN[5]&
PIN[14]&PIN[6]&PIN[13]&PIN[7])<>X THEN ERROR(1);
IF PIN[8]<>(X AND 1) THEN ERROR(1);
PIN[2,3]:=HIGH;
PIN[1]:=LOW;PIN[19]:=HIGH;
PIN[18]:=LOW;
PIN[12]:=HIGH;PIN[12]:=LOW;
PIN[1,19]:=LOW;
X:=X SHR 1;
END;
D:=D EXOR %11111111;
END;
PIN[16,4,15,5,14,6,13,7] : OUTPUT;
LOADMODEON;
PIN[16,4,15,5,14,6,13,7] : LOAD LOW;
IF (PIN[16]&PIN[4]&PIN[15]&PIN[5]&
PIN[14]&PIN[6]&PIN[13]&PIN[7])<>%00000000 THEN ERROR(1);
PIN[16,4,15,5,14,6,13,7] : LOAD HIGH;
IF (PIN[16]&PIN[4]&PIN[15]&PIN[5]&
PIN[14]&PIN[6]&PIN[13]&PIN[7])<>%11111111 THEN ERROR(1);
LOADMODEOFF;
ERROR(0);
END.