JTAG-Frage bzgl. BoundaryScan

D

Dirk Bossenz

Guest
hallo,

ich hab eine kleine Verständnisfrage zu JTAG:

Ist die Anzahl der Daten-Registerzellen(=BoundaryScanCells)
gleich der Anzahl der Befehls-Registerzellen?
Also wirkt das Instruktion-Bit auf den letzten MUX
(also nach den zwei FF der BSC)?


Warum gibt es extra noch den INTEST-Mode, wenn es
den SAMPLE und PRELOAD-Mode gibt? Und was für ein
Sinn hat es dann den INTEST-Mode herstellerseitig
zu verbieten z.B. bei ix86. Bzw. wie kann der INTEST
schaltungstechnisch "verboten" werden, IMO nur dadurch
das bestimmte Bitmuster im Instruktion-Register schaltungs-
technisch ausgeschlossen werden (wenn gleich ich mir nicht
im klaren bin wie das praktisch aussehen soll, gibts da
nen Beispiel?)?

Un noch die letzte Frage, da es dazu auch nirgends
eine "Grenzwert"betrachtung zu finden gibt:
Ist es möglich nach dem Quinn-McCluskey-Verfahren
(nummerische Karnough-Behandlung) aus endlich vielen
Ein- und Ausgabezuständen die KDNF zu berechnen und
wenn ja gibts da schon nen Programm?

Welche prägnanten Verhaltensunterschiede gibt es bei
dem JTAG-Test zwischen Schaltnetz und Schaltwerk?


oki thx
Dirk
 
Dirk Bossenz schrieb:

hallo,

ich hab eine kleine Verständnisfrage zu JTAG:

Ist die Anzahl der Daten-Registerzellen(=BoundaryScanCells)
gleich der Anzahl der Befehls-Registerzellen?
Nein.

Also wirkt das Instruktion-Bit auf den letzten MUX
(also nach den zwei FF der BSC)?
?

Warum gibt es extra noch den INTEST-Mode, wenn es
den SAMPLE und PRELOAD-Mode gibt? Und was für ein
Sinn hat es dann den INTEST-Mode herstellerseitig
zu verbieten z.B. bei ix86. Bzw. wie kann der INTEST
schaltungstechnisch "verboten" werden, IMO nur dadurch
das bestimmte Bitmuster im Instruktion-Register schaltungs-
technisch ausgeschlossen werden (wenn gleich ich mir nicht
im klaren bin wie das praktisch aussehen soll, gibts da
nen Beispiel?)?
INTEST braucht man nicht "verbieten". Man implementiert den Befehl
einfach nicht.

INTEST schaut nach innen, also auf die Signale, die aus Sicht der
Scan-Chain in den Chip hinein gehen bzw. vom Chipinneren kommen. Das
heißt, daß die Signale, die normalerweise von den Pins hinein in den
Chip gehen, nunmehr von der Scan-Chain kontrolliert werden.

SAMPLE/PRELOAD hat damit im Grunde gar nix zu tun, da hier die
Verbindung zwischen Pin und Chipinnerem nicht beeinflußt sind.

Irgendwie kommt's mir vor als hättest Du was Prinzipielles bei Boundary
Scan noch nicht verstanden. Ich weiß bloß noch nicht was...

Gruß
Stefan
 
Irgendwie kommt's mir vor als hättest Du was Prinzipielles bei Boundary
Scan noch nicht verstanden. Ich weiß bloß noch nicht was...
....scheint's auch irgendwie recht zu haben: ich habe das Buch
Schaltungstest mit BoundaryScan aus dem Verlag Hüthing
durch gearbeitet und habe mir daraus dann was gedacht:

Das eben ein Bit aus der Instruktion-Register-zelle direkt auf die
angeschlossene BS-Zelle wirkt und dort eben diese den Multiplexer
steuert bei low das Signal vom PIN in den Schaltkreis läst und high
den Wert der im zweiten FF steht per PRELOAD in die Registerzelle
geladen wurde....(usw.)

diese Befehle INTEST, EXTEST, SAMPLE, PRELOAD usw. werden über TMS
in die TAP gegeben und wirken sich dort wie im entsprechenden Auto-
matengraph gezeigt auf die BS-Zelle, BYPASS-Register, die propritären
weiteren und eben auch auf das Instruktion-Register wo eine Zelle aus
einzelen MUX und nachgeschalteten D-Latches besteht und auch durch TDI
seriell gefüttert wird...
Es passte eigendlich alles recht gut zusammen.

Wie ist es dann nun anders??

wo finde ich jetzt (bis Montag!) eine ausreichende Erklärung mgl. in dt.
mgl. im Netz (weil Wochenende und Bibo zu) darüber wie es nun richtig
funktioniert...weil...


thx
Dirk
 
Dirk Bossenz <tigger@lipsia.de> writes:

Irgendwie kommt's mir vor als hättest Du was Prinzipielles bei Boundary
Scan noch nicht verstanden. Ich weiß bloß noch nicht was...

...scheint's auch irgendwie recht zu haben: ich habe das Buch
Schaltungstest mit BoundaryScan aus dem Verlag Hüthing
durch gearbeitet und habe mir daraus dann was gedacht:
Um Dich noch weiter zu verwirren: Es gibt auch Chips mit Boundary Scan
ohne JTAG (mindestens 2)...

--
Dr. Juergen Hannappel http://lisa2.physik.uni-bonn.de/~hannappe
mailto:hannappel@physik.uni-bonn.de Phone: +49 228 73 2447 FAX ... 7869
Physikalisches Institut der Uni Bonn Nussallee 12, D-53115 Bonn, Germany
CERN: Phone: +412276 76461 Fax: ..77930 Bat. 892-R-A13 CH-1211 Geneve 23
 
Dirk Bossenz schrieb:

Irgendwie kommt's mir vor als hättest Du was Prinzipielles bei Boundary
Scan noch nicht verstanden. Ich weiß bloß noch nicht was...


...scheint's auch irgendwie recht zu haben: ich habe das Buch
Schaltungstest mit BoundaryScan aus dem Verlag Hüthing
durch gearbeitet und habe mir daraus dann was gedacht:

Das eben ein Bit aus der Instruktion-Register-zelle direkt auf die
angeschlossene BS-Zelle wirkt und dort eben diese den Multiplexer
steuert bei low das Signal vom PIN in den Schaltkreis läst und high
den Wert der im zweiten FF steht per PRELOAD in die Registerzelle
geladen wurde....(usw.)

diese Befehle INTEST, EXTEST, SAMPLE, PRELOAD usw. werden über TMS
in die TAP gegeben und wirken sich dort wie im entsprechenden Auto-
matengraph gezeigt auf die BS-Zelle, BYPASS-Register, die propritären
weiteren und eben auch auf das Instruktion-Register wo eine Zelle aus
einzelen MUX und nachgeschalteten D-Latches besteht und auch durch TDI
seriell gefüttert wird...
Es passte eigendlich alles recht gut zusammen.

Wie ist es dann nun anders??
Es ist ziemlich anders...

Die Instruktionen werden nicht über TMS in die TAP gegeben. Das
Instruktionsregister ist eines von mehreren Registern, die zwischen TDI
und TDO eingeschleift sein können. Über TMS bringt man den TAP in den
entsprechenden Modus, um entweder das Instruktionsregister, oder das
durch die im Instruktionsregister enthaltene Instruktion ausgewählte
Datenregister auszuwählen. Langer Satz, ich weiß...

Jedenfalls bestimmt TMS, in welchem *Zustand* der TAP ist. Vom Zustand
abhängig kann man entweder das Instruktionsregister oder irgendein
Datenregister ansprechen. Ansprechen, das heißt Daten durchschieben
(durch TDI rein und aus TDO raus). Datenregister sein können (abhängig
von der aktuellen Instruktion):
o Das 1-bit Bypass-Register
o Das 32-bit ID-Code-Register
o Das Boundary-Scan-Register (davon kann's auch mehrere geben)
o Irgendwelche Chip-spezifischen Register

wo finde ich jetzt (bis Montag!) eine ausreichende Erklärung mgl. in dt.
mgl. im Netz (weil Wochenende und Bibo zu) darüber wie es nun richtig
funktioniert...weil...
Weil? Prüfung? ;-)

Probier's mal damit (allerdings auf Englisch):
http://focus.ti.com/lit/an/ssya002c/ssya002c.pdf

Gruß
Stefan
 
Hallo Dirk,

wo finde ich jetzt (bis Montag!) eine ausreichende Erklärung mgl. in dt.
mgl. im Netz (weil Wochenende und Bibo zu) darüber wie es nun richtig
funktioniert...weil...
ohne jetzt Deine eigentlichr Frage genau verstanden zu haben:
die Software 'ScanEducator' von TI könnte vielleicht interessant
für Dich sein, vielleicht beantwortet die Demonstration deine
Frage.

http://www-s.ti.com/sc/psheets/satb002a/satb002a.zip
http://focus.ti.com/lit/an/satb002a/satb002a.pdf

(DOS-Programm, englisch, läuft aber auch unter Windows).

Gruß
Ernst
 
Um Dich noch weiter zu verwirren: Es gibt auch Chips mit Boundary Scan
ohne JTAG (mindestens 2)...
ja...ich weiß...mir ist auch alles fast ganz klar bis
auf die Funktion des Instruktion-Registers...siehe
weiteren Threats

dirk
 
http://www-s.ti.com/sc/psheets/satb002a/satb002a.zip
http://focus.ti.com/lit/an/satb002a/satb002a.pdf
ok...kapiert...gibts Standart-Opcodes für die
Standart-Befehle?

thx
dirk
 
gut...heut nacht hab ich davon geträumt und nun auch
noch mit der Software angeguckt und es funktioniert...
(wobei ich meine Idee auch schön fand, zumal damit
das Anwendungspektrum vielfältiger wird...)

Sind die Opcodes für die Standart Befehle eigendlich
einheitlich?


Weil? Prüfung? ;-)
ne nur nen Vortrag...um meine rethorischen Fähigkeiten
unter Beweis zu stellen - aber richtig sollte's ja schon
sein :))

thx
dirk
 
Hi Dirk,

"Dirk Bossenz" <tigger@lipsia.de> schrieb:

ok...kapiert...gibts Standart-Opcodes für die
Standart-Befehle?
Der 'BYPASS'-Befehl besteht bei jedem Device nur aus
Einsen, unabhängig von der Länge des Instruction Registers.

Wenn ich mich richtig erinnere, ist nach Reset immer der
Code IDCODE (?) im Instruction Register geladen.
Eventuell hat IDCODE immer den Wert 0..010, bin mir da aber
nicht sicher, ob der Standard das vorschreibt.
Die anderen Codes sind meines Wissens device-spezifisch.

Gruß
Ernst
 
Dirk Bossenz wrote:

Das eben ein Bit aus der Instruktion-Register-zelle direkt auf die
angeschlossene BS-Zelle wirkt und dort eben diese den Multiplexer
steuert bei low das Signal vom PIN in den Schaltkreis läst und high
den Wert der im zweiten FF steht per PRELOAD in die Registerzelle
geladen wurde....(usw.)
Es gibt eine Reihe FFs, die das IR (Befehlsregister) bilden und eine
Reihe FFs, die das SR (scan register) bilden. Mittels passendem
geklapper auf TMS wählst Du nun entweder IR, SR, Bypass-FF oder irgend
etwas ganz anderes zwischen TDI und TDO aus.
(In diesem Ablaufplan mit "shift", "update" u.s.w. ist im Zustand "shift
IR" immer das IR zwischen TDI und TDO. Im Zustand "shift SR" liegt da
entweder das SR, oder das Bypass-FF, wenn im IR der Wert für Bypass
steht, oder z.B. ein Register mit dem Selbsttestergebnis...)

Z.B. Sample/Preload: Mit passenden Pegelwechseln auf TCK und TMS "shift
IR" auswählen und Bitfolge für Sample/Preload in das IR einladen. Bei
dem letzten zu schiebenden Bit TMS ändern und "update IR" durchlaufen.
Jetzt mit TCK und TMS in den Zustand "shift SR" wechseln und Bits in ein
"Schatten-SR" schieben. Erst mit "update SR" werden die Daten vom SR
übernommen und wirksam.

Sample/Preload klemmt die innere Elektronik von den Gehäuseanschlüssen
ab und steuert mit den Bits des SRs Ausgangstreiber, Enablesignale für
Ausgangstreiber etc. wie es auch in der BDSL-Datei beschrieben ist.
Damit kann man z.B. die Platine auf Lötfehler untersuchen, oder
Flashspeicher programmieren.
Intest hingegen klemmt die innere Schaltung von der Aussenwelt ab und
mann kann die Funktion des Chips untersuchen.

Hoffe, geholfen zu haben...
 

Welcome to EDABoard.com

Sponsor

Back
Top