Hallo zusammen, kann mir jmd. mal genau erklären, wie der Boundary-scan funktioniert? Soweit ich verstanden habe, wird eine Testumgebung geschrieben, die mittels JTAG nacheinander alle Boundary Register des jeweiligen I/O's setzt (0,1,z) und es werden alle übrigen Boundary-Register auf ihren Zustand geprüft ob er den Erwartungen entspricht. Ist das so korrekt? Wenn ja, muß ich beim Layout irgendwas Wichtiges bezüglich boundary scan beachten? Was mache ich z.B. mit unbenutzten IO's? Danke für Antwort, Daniel
Die IOs sind kein Problem, da Du die von aussen beobachten und damit auch testen kannst. Die boundary scan Technik wurde ja entwickelt, um ein Schaltwerk gezielt in einen Zustand bringen zu können ohne es funktionell durchtakten zu müssen: Man lädt die FFs derart mit Werten voll, daß sich Fehler (beim nächsten Takt) äussern können. Damit kann man theoretisch alle Funktionen abstrakt durchtesten ohne funktionell vorgehen zu müssen, um alle möglichen Zustände "abzuklappern". Folge: Man braucht keine IOs um Fehler zu sehen. Ws die IOs selbst angeht: Wenn Du sie nicht benutzt, musst Du sie auch nicht testen. Du könntest allerhöchstens den Treiber davor testen. Wenn Du für Deine Appl aber noch IOs über hast, kannst Du sie als logische Testpins herausführen.
Jürgen, danke erstmal für die schnelle Antwort! Ok, das habe ich soweit verstanden. Aber es geht doch hauptsächlich darum, nicht auf "Nadelbretter" angewiesen zu sein und mit den 4 Leitungen der JTAG-Schnittstelle sämtliche Funktionen testen zu können ohne an den Pins messen zu müssen. Ob ich nun alle Möglichkeiten abklapper oder gezielte Funktionen durchteste sei erst mal dahin gestellt. Aber prinzipiell ist es doch richtig, das mittels JTAG dann nur noch die jeweiligen Register ausgelesen/geschrieben werden müssen und nicht mehr gemessen werden muß, oder? Sehe ich das von Prinzip her richtig? Danke, Daniel
JTAG unterstützt das, sicher (sofern es der Proz / das FPGA ebenso tut). Man braucht aber auch noch eine Testsoftware, die man mit Testmustern füttert, welche dann per BS eingeschrieben, durchführt und geprüft werden. Die Testmuster kommen dabei (hoffentlich) aus deiner Designsoftware und wurden entsprehend optimiert. Um das Optimieren ranken sich indes eine Reihe theoretischer Abhandlungen. Womit arbeiest Du ?
Hallo Jürgen, war länger nicht da. Die Testsoftware ist erstmal nebensächlich und soll hinterher erstellt werden. Ich entwerfe ein Design für einen Spartan2. Hierbei soll sichergestellt werden, daß Boundary scan gewährleistet ist. Sobald das FPGA läuft habe ich damit nichts mehr zu tun, denn das Erstellen der Testsoftware geschieht extern. Ich muß nur gewährleisten das es möglich ist. Daher muß ich mir Gedanken über die JTAG Schnittstelle (evt. Daisy Chain) machen. Bin wohl auch lange nicht so fit in programmierbarer Logik wie Du es zu sein scheinst. Ich arbeite mit ISE7.1 von Xilinx. Muß ich denn jetzt schon, im Zuge des Designentwurfs, die Testmuster erstellen/berücksichtigen? Ich dachte das kann nachher geschehen. Danke erstmal, Daniel
Naja, die Testmuster als Testsatz kommen aus einer Fehlersimulation des fertigen Designs. Unter Annahme von möglichen "stuck-at"-Fehlern wird dabei geprüft, ob ein bestimmter Zustandsübergang geeignet ist, einen angenommenen Fehler an einem Ausgang zu zeigen oder nicht. Man optimiert die Testmnuster nun so, daß mit möglichst wenig Zustandwechseln gleichzeitig möglichst viele Fehler beobachtbar sind - sich also bei dem angenommenen Fehelr an den beobachteten Ausgängen eine anderes Ergebnis zeigt, als es in der Gutsimulation der Fall sein muss. Was Du hardwaretechnisch realsieren musst: Die BS-fähigen Zellen (über JTAG) zugriffsfähig machen. Je nach Synthesetool wird das aber automatisiert durchgeführt / bzw ist einstellbar. Welchen Baustein benutzt Du denn ?
Danke erstmal. Ich benutze einen Spartan2. Aber was meinst Du mit zugriffsfähig machen? Lt. Datenblatt sind alle I/O's irgendwelchen internen Registern zugeordnet, die ich dann über JTAG auslesen kann- oder sehe ich das falsch? Daniel
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.