Forum: FPGA, VHDL & Co. CPLD Ausgangssignale testen


von Elbegucker (Gast)


Lesenswert?

Hallo,
da mir hier schon öfters geholfen wurde, probiere ich es hier einfach 
mal aus. Vorab ich kenne mich nicht besonders gut mit FPGA's / CPLD aus.

Wie kann man am einfachsten die Signale eines (Altera Max II-Family) 
CPLD's ohne Veränderung der inneren Struktur sprich des Cores 
überprüfen?
BST = Build Scan Test fällt aus.
Ich habe Ausgangssignale die in Abhängigkeit von Eingangssignale 
verändert werden und diese will ich nun überprüfen. Insgesamt habe ich 
etwa 70 Testfälle die ich abdecken muss.

von Duke Scarring (Gast)


Lesenswert?

Elbegucker schrieb:
> Ich habe Ausgangssignale die in Abhängigkeit von Eingangssignale
> verändert werden und diese will ich nun überprüfen.
Dann häng Dir an die Ausgänge einen Logikanalysator und überlege Dir, 
wie Du die Eingänge stimulieren kannst.

Duke

von Trölf-Mionnnnnen (Gast)


Lesenswert?

Was für Equipment steht dir den für den Test zur Verfügung?

von Elbegucker (Gast)


Lesenswert?

Logikanalysator, Oszilloskop wäre schon vorhanden.
Ich könnte auch zusätzliche FPGA's etc., ChipScope verwenden.
Bisher wurde ganz unschön händisch mit Schaltern getestet.

von Duke Scarring (Gast)


Lesenswert?

Elbegucker schrieb:
> Bisher wurde ganz unschön händisch mit Schaltern getestet.
Von wievielen Signalen (Eingänge/Ausgänge) reden wir hier?
Ist bekannt, ob im CPLD Takte, CE und/oder globale Resets verwendet 
wurden?

Duke

von Klaus F. (kfalser)


Lesenswert?

Vielleicht täusche ich mich, aber mir scheint deine Denkweise passt noch 
zu diskreter Logik.
Mit FPGA/CPLDs testet man anders.

Dabei unterscheidet mam zwischen Testen und Verifikation.

Mit Verifikation wird überprüft, dass das Design korrekt ist, d.h, wenn 
der Pin A kommt, geht Pin B hoch.
Dies betrifft das innere Verhalten des FPGAs/CPLDs.
Dies macht man nur einmal, während der Entwicklungsphase.

Beim Testen wird die Hardware auf Fehler überprüft, also ob keine 
Kurzschlüsse oder Unterbrüche vorhanden sind.
Man geht davon aus, dass der Baustein funtioniert, weil er vom 
Hersteller schon getestet wird.
Man braucht deshalb am CPLD nur testen, ob die Eingangssignale korrekt 
in das CPLD hineingehen und ob die Ausgänge des CPLDs nicht durch einen 
Kurzschluss oder sonstigens behindert sind.

Wir laden meist in das CPLD ein Testdesign, das jeweils einen bestimmten 
Eingang auf einen bestimmten Ausgang verbindet. Dann wird am Eingang 
gewackelt und der Ausgang überprüft. Damit ist garantiert, das dieser 
Eingang und dieser Ausgang korrekt funktionieren.

Man braucht also nicht alle möglichen Testvektoren am CPLD anlegen um zu 
sehen wie das CPLD reagiert, weil dies in der Verifikationsphase schon 
überprüft wurde.

von Elbegucker (Gast)


Lesenswert?

Dann sprechen wir von Verifikation und nicht Testen.
Es sind 24 Eingänge und 20 Ausgänge.
Wenn du das Testdesign in den CPLD lädst, veränderst du doch den Core 
und genau dieses soll ja verhindert werden.

von Klaus F. (kfalser)


Lesenswert?

Elbegucker schrieb:
> Wenn du das Testdesign in den CPLD lädst, veränderst du doch den Core
> und genau dieses soll ja verhindert werden.

Warum?

Ich nehme an, es handelt sich um einen Produktionstest.

Um zu garantieren, dass die PCB am Ende richtig funktioniert, müssen 2 
Bedingung erfüllt sein:
a) Die Hardware funktioniert korrekt
b) Das CPLD/FPGA Design funktioniert korrekt.

Für a) brauche ich b) nicht.
Ich überprüfe auf Kurzschlüsse, Lötfehler usw.
Jeder notwendige Signalpfad auf der Leiterplatte, aber außerhalb des 
CPLDs, wird getestet.
Mit dem Testdesign sehe ich auch, ob das CPLD selbst arbeitet.

Wenn ich weiss, dass Eingänge PinA und PinB korrekt arbeiten und der 
Ausgang PinC korrekt arbeitet, dann brauche ich doch nicht mehr alle 
Kombinationen von A und B durchzutesten, nur um zu sehen, ob ich das 
CPLD intern richtig reagiert.
Kann man ja machen, aber diese Arbeit sollte einem der FPGA Hersteller 
schon abgenommen haben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.