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.
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
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.
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.