DE60012132T2 - Mikroprozessor mit Prüfinstruktionsspeicher - Google Patents
Mikroprozessor mit Prüfinstruktionsspeicher Download PDFInfo
- Publication number
- DE60012132T2 DE60012132T2 DE60012132T DE60012132T DE60012132T2 DE 60012132 T2 DE60012132 T2 DE 60012132T2 DE 60012132 T DE60012132 T DE 60012132T DE 60012132 T DE60012132 T DE 60012132T DE 60012132 T2 DE60012132 T2 DE 60012132T2
- Authority
- DE
- Germany
- Prior art keywords
- test
- command
- instruction
- microcomputer
- execution unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3004—Current or voltage test
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
- Debugging And Monitoring (AREA)
Description
- Die Erfindung betrifft einen Mikrocomputer und ein Verfahren zum Testen eines solchen Mikrocomputers.
- Das Dokument US-A-4 870 573 stellt einen Mikrocomputer vor, der fähig ist, die sequenzielle Ausführung von Befehlen eines Programms zu testen, indem er im Testmodus jegliches Verzweigungssignal sperrt.
- Aus dem US-Patent Nr. 5.802071 ist es bekannt, einen Mikrocomputer durch die Ausführung eines Testprogramms aus einem Testprogrammspeicher zu testen. Wie in diesem Dokument beschrieben, macht es der Testprogrammspeicher möglich, den Mikrocomputer unabhängig vom Inhalt des Anwendungsprogramms zu testen. Dieses Dokument beschreibt auch, wie man Teile in dem Mikrocomputer durch Beobachtung der Ergebnisse, die durch die Ausführung von Befehlen aus dem Programm erzeugt wurden, testet.
- Das Dokument diskutiert nicht das Testen des Zeitverhaltens der Befehlsausführung. Insbesondere beschreibt es nicht das Testen, ob der Mikrocomputer Befehle schnell genug ausführen kann. Aber in einem konventionellen synchronen Mikrocomputer zeigt sich die langsame Ausführung eines Befehls automatisch selbst in Form fehlerhafter Ergebnisse, die durch die Ausführung dieses Befehls erzeugt werden.
- Das funktioniert in asynchronen Mikrocomputern nicht. Asynchrone Mikrocomputer sind Mikrocomputer, die aufeinander folgende Befehle mittels des Handshake-Verfahrens erhalten, die Fertigstellung eines Befehls löst die Zustellung des nächsten Befehls aus. Wenn ein asynchroner Mikrocomputer Befehle zu langsam ausführt, erzeugen die Befehle richtige Ergebnisse, aber die Ausführung erfordert zu viel Zeit. Im Gegensatz dazu verwendet ein synchroner Computer einen periodischen Takt, um die Ausführung nachfolgender Befehle auszulösen. Folglich werden Befehle rechtzeitig ausgeführt, wenn der synchrone Computer Befehle zu langsam ausführt, aber die Ergebnisse werden falsch sein, was leicht festgestellt werden kann.
- Die Befehlssausführungsgeschwindigkeit eines Befehls durch einen asynchronen Computer kann durch Messung der Zeit, die für mehrfache Ausführung dieses Be fehls benötigt wird, gemessen werden. Trotzdem könnte das Ergebnis dieser Messung nicht ein genaues Maß für die Zeit, die zur Ausführung dieses Befehls benötigt wird, sein. Die gemessene Ausführungszeit kann auch Verzögerungen aufgrund von Befehlsabrufverzögerungen und die Zeit für Programmsteuerungsablaufanweisungen umfassen. Wenn der Befehl dadurch ausgeführt wird, dass Kopien des Befehls in aufeinander folgenden Plätzen im Befehlsspeicher ausgeführt werden, wird das Befehlstesten zusätzlich erheblich Zeit oder Speicherplatz beanspruchen, weil alle Kopien in den Speicher geladen oder gespeichert werden müssen.
-
US 5.802.071 erörtert auch nicht die Messung des Stroms, der vom Computer bei der Ausführung des Befehls aufgenommen wird. Für Anwendungen mit niedriger Leistungsaufnahme kann es notwendig sein, zu garantieren, dass die Stromaufnahme eines hergestellten Computers, besonders auf einem Chip wie einem Mikrocontroller, unter einem spezifizierten Niveau sein wird. Um das zu garantieren, muss der während der Ausführung spezieller Befehle aufgenommene Strom gemessen werden. Für eine genaue Messung sollte die Messung frei von variablen Stromaufnahmefaktoren durch das Abrufen von Befehlen oder die Ausführung von Ablaufsteuerungsbefehlen sein. - Aufgabe der Erfindung ist es, die Messung der Geschwindigkeit der Befehlsausführung durch einen Mikrocomputer ohne Ungenauigkeit durch die für Programmablaufsteuerung benötigte Zeit zu schaffen.
- Eine weitere Aufgabe der Erfindung ist es, die Messung der Geschwindigkeit der Befehlsausführung durch einen Mikrocomputer zu schaffen, ohne viel Zeit oder Speicherplatz für das Laden des Befehls zu erfordern.
- Eine andere Aufgabe der Erfindung ist es, die Messung der Stromaufnahme während der Befehlsausführung durch einen Mikrocomputer ohne Ungenauigkeit durch die für Programmablaufsteuerung benötigte Stromaufnahme zu schaffen.
- Der Mikrocomputer gemäß der Erfindung und ein entsprechendes Verfahren für das Testen eines solchen Mikrocomputers sind in den Ansprüchen 1 bzw. 9 beschrieben. Gemäß der Erfindung ist der Mikrocomputer fähig, in einem Testmodus zu arbeiten, in dem die normale Befehlsabfolgesteuerung unterdrückt wird, um ein zyklisches Anlegen desselben Befehls aus derselben Quelle an eine Befehlsausführungseinheit durchzuführen. Auf diese Weise werden signifikante Zeitablaufvariationen durch andere Effekte als die Ausfüh rung des Befehls eliminiert. In einem asynchronen Mikrocomputer ist es vorteilhaft, den Computer gemäß der Erfindung anzuordnen. Auf diese Weise kann die Zeit, die zur Ausführung des Befehls benötigt wird, während des Testens genau gemessen werden. Natürlich kann die Erfindung auch auf einen synchronen Mikrocomputer angewandt werden, um zum Beispiel jegliche Streuung in der Ausführungsgeschwindigkeit, die sich nicht als Fehler im Ergebnis des Befehls zeigen könnte, festzustellen.
- In einer Ausführungsform umfasst der Computer einen speziellen Testbefehlsspeicher außerhalb eines während der normalen Programmausführung benutzten Adressenbereiches. Während des Testens wird der Befehl wiederholt aus dem Testbefehlsspeicher ausgelesen. Durch Platzierung eines speziellen Befehls in den Testbefehlsspeicher und das Umschalten des Mikrocomputer in den Testmodus kann genau gemessen werden, ob die in die Ausführung dieses Befehls involvierten Teile des Mikrocomputers ausreichend schnell sind, weil durch Adressierung oder Lesen des normalen Speichers verursachte Verzögerungen eliminiert sind. Vorzugsweise enthält der Testbefehlsspeicher nur einen Befehl, wobei der Mikrocomputer diesen Befehl jedes Mal, wenn seine vorhergehende Ausführung beendet ist, diesen Befehl wieder der Befehlsausführungseinheit zuführt. So wird eine minimale Speichermenge für die Ausführung benötigt und die Ausführung ist sehr reproduzierbar. Im Falle, dass der Befehl aus mehreren Wörtern besteht, die sequentiell geladen sind, lädt der Mikrocomputer die Wörter vorzugsweise sequentiell und kehrt zum ersten Wort zurück, wenn die Ausführung des Befehls abgeschlossen wurde. In diesem Fall muss der Testbefehlsspeicher nur so viele Wörter enthalten wie der längste mögliche einzelne Befehl des Mikrocomputers.
- Vorzugsweise ist der Mikrocomputer in einer integrierten Schaltung mit einem Scan-Testinterface für die serielle Eingabe und Ausgabe der Testinformation über ein Schieberegister aufgenommen. In diesem Fall wird ein Befehl vorzugsweise über das Schieberegister geladen, zusammen mit einem Kommando, das den Mikrocomputer veranlasst, den geladenen Befehl wiederholt im Testmodus auszuführen, um die Zeit, die zur Ausführung des Befehls notwendig ist, zu testen.
- Ein Testverfahren, das einen solchen Mikrocomputer nutzt, umfasst das Laden eines Befehls in eine Testspeicherposition und die wiederholte Ausführung dieses Befehls. Vorzugsweise umfasst das Verfahren das Laden mehrerer Befehle der Reihe nach und die wiederholte Ausführung jedes Befehls vor dem Laden des nächsten Befehls. Mit verschiedenen Befehlen kann die Geschwindigkeit verschiedener Teile des Mikrocomputers getestet werden.
- Diese und andere vorteilhafte Aspekte des Computers und des Verfahrens, den Computer gemäß der Erfindung zu testen, werden genauer anhand der folgenden Zeichnung beschrieben. Es zeigen:
-
1 einen Computer, -
2 ein getriebenes Befehlsblockmodul. -
1 zeigt ein Blockschaltbild eines Computers14 . Teile des Computers14 , die nicht zur Beschreibung der Funktion der Erfindung benutzt werden, sind nicht gezeigt.1 zeigt eine Befehlsausführungseinheit10 , eine Abfragelogikschaltung11 , einen Befehlsspeicher12 , ein getriebenes Befehlsblockmodul15 und einen Kommunikationsbus16 . Die Befehlsausführungseinheit10 hat einen Befehlsspeicherfreigabeausgang, der an den Befehlsspeicher12 und das getriebene Befehlsblockmodul15 gekoppelt ist. Der Befehlsspeicher12 hat einen Befehlsadresseneingang, der über den Bus16 an die Befehlsausführungseinheit10 gekoppelt ist. Der Befehlsspeicher12 hat einen Befehlsausgang, der an ein getriebenes Befehlsblockmodul15 gekoppelt ist. Das getriebene Befehlsblockmodul15 hat einen Befehlsausgang, der über den Bus16 an die Befehlsausführungseinheit10 gekoppelt ist. Die Abfragelogikschaltung11 und das getriebene Befehlsblockmodul15 haben Steuereingänge, die an eine Teststeuerungseinheit19 außerhalb des Computers14 gekoppelt sind. -
2 zeigt ein getriebenes Befehlsblockmodul. Dieses Modul enthält die Register20a–d , einen ersten und zweiten Multiplexer22 ,24 , einen Zähler26 und eine Kontrolleinheit28 . Die Register20a–d haben an den ersten Multiplexer22 gekoppelte Ausgänge. Der zweite Multiplexer24 hat Eingänge, die an einen Ausgang des ersten Multiplexers22 und an den Befehlsausgang des (in2 nicht gezeigten) Befehlsspeichers12 gekoppelt sind. Ein Ausgang des zweiten Multiplexers24 ist über den Bus16 an die Befehlsausführungseinheit10 (beide nicht in2 gezeigt) gekoppelt. Zähler26 hat einen Freigabeeingang, der an den Befehlsspeicherfreigabeausgang der Befehlsausführungseinheit10 gekoppelt ist. Zähler26 hat einen an einen Steuerungseingang des ersten Multiplexers22 gekoppelten Zählausgang. Register20a–d und Zähler26 sind Teil einer schematisch als29a gezeigten Scan-Kette. (Eine Scan-Kette ist Teil einer gut bekannten Testtechnik, die alle internen Flip-Flops und Register einer Schaltung über Schieberegister zugreifbar macht.) Register20a–d und Zähler26 haben an eine Scan-Steuerungs-verbindung29b gekoppelte Scan-Steuerungseingänge. Die Steuerungseinheit28 hat einen an die Teststeuerungseinheit19 (nicht in2 gezeigt) gekoppelten Eingang. Die Steuerungseinheit28 hat eine Verbindung mit Zähler26 und einen mit einem Steuerungseingang des zweiten Multiplexers24 gekoppelten Ausgang. - Im Betrieb kann ein Steuerungssignal, das an das getriebene Ausführungstaktmodul
15 und die Abfragelogikschaltung11 angelegt wird, dazu benutzt werden, den Computer in einen Normalbetriebsmodus zu bringen. In dem Normalbetriebsmodus liefert die Befehlsausführungseinheit10 aufeinander folgende Befehlsadressen über den Bus16 an den Befehlsspeicher12 . Zusätzlich liefert die Befehlsausführungseinheit10 ein Freigabesignal an den Befehlsspeicher12 , wenn an Bus16 eine Befehlsadresse verfügbar ist. Als Antwort liefert der Befehlsspeicher12 die den Befehlsadressen entsprechenden Befehle über den zweiten Multiplexer24 des getriebenen Ausführungsblockmoduls15 und den Bus16 an die Befehlsausführungseinheit10 . Die Befehlsausführungseinheit10 führt diese Befehle aus. - In dem Fall, dass eine asynchrone Befehlsausführungseinheit
10 benutzt wird, wird der Start der Ausführung jedes Befehls durch „Handshake" zwischen der Befehlsausführungseinheit10 und der Abfragelogikschaltung11 gesteuert. Jedes Mal, wenn die Befehlsausführungseinheit10 bereit ist, einen nächsten Befehl auszuführen, sendet sie ein Abfragesignal an die Abfragelogikschaltung11 . Als Antwort sendet die Abfragelogikschaltung11 ein Bestätigungssignal an die Befehlsausführungseinheit10 , das die Befehlsausführungseinheit10 veranlasst, die Ausführung eines nächsten Befehls zu starten. Die Abfragelogikschaltung11 kann die Information der „Handshakes" auf verschiedene Weisen benutzen. Zum Beispiel kann die Abfragelogikschaltung11 bewirken, dass eine Versorgungsspannung der Befehlsausführungseinheit10 reduziert oder erhöht wird, wenn die Abfragesignale schneller beziehungsweise langsamer als für eine gegebene Aufgabe notwendig ankommen. Eine Reduzierung der Versorgungsspannung reduziert die von der Befehlsausführungseinheit10 aufgenommene Leistung. - Wenn der Computer
14 für eine vorgegebene Applikation, zum Beispiel einen Telefonhörer, benutzt wird, muss garantiert werden, dass Geschwindigkeit und Leistungsaufnahme bestimmte, im voraus festgelegte Spezifikationen erfüllen. Auf Grund von Prozessschwankungen oder Fehlern in der Herstellung des Computers14 können diese Parameter variieren. Der Computer14 muss getestet werden, um sicherzustellen, dass die Spezifikationen erfüllt werden. Aus diesem Grund muss der Computer14 zum Beispiel durch Messung der Zeit, welche die Befehlsausführungseinheit10 benötigt, um einen zu testenden Befehl auszuführen, wenn eine gegebene Versorgungsspannung an die Befehlsausführungseinheit10 gelegt wird, getestet werden. Ein anderer Test umfasst den vom Computer14 aufgenommenen Strom, wenn dieser diesen zu testenden Befehl ausführt. - Zu diesem Zweck wird die Befehlsausführungseinheit
10 dazu gebracht, den zu testenden Befehl in einem Zeitintervall wiederholt auszuführen und es wird gemessen, wie viel mal dieser Befehl innerhalb dieses Zeitintervalls ausgeführt wird. Die Anzahl, wie oft dieser zu testende Befehl ausgeführt wird, ist nicht durch eine Taktrate festgelegt, hängt aber von der Geschwindigkeit ab, mit der die Befehlsausführungseinheit10 Abfragesignale auf das Bestätigungssignal erwidert. Verschiedene Befehle können als zu testende Befehle in aufeinander folgenden Tests verwendet werden, um verschiedene Teile der Befehlsausführungseinheit10 zu testen. Ähnlich kann der vom Computer14 aufgenommene Strom während der wiederholten Ausführung des zu testenden Befehls gemessen werden. - Das getriebene Befehlsblockmodul
15 sorgt für die wiederholte Ausführung eines zu testenden Befehls. Die Teststeuerungseinheit19 legt ein Steuerungssignal an das getriebene Befehlsblockmodul15 , um es in einen Testmodus zu bringen. Im Testmodus sendet das getriebene Befehlsblockmodul15 über den Bus16 den Inhalt der Register20a–d anstatt des vom Befehlsspeicher erzeugten Befehls an das getriebene Befehlsblockmodul15 . - Das in
2 gezeigte getriebene Befehlsblockmodul15 ist für einen Typ Befehlsausführungseinheit entworfen, der Befehle verwendet, die aus 1, 2, 3 oder 4 Bytes bestehen, die über Bus16 aufeinander folgend übertragen werden. In einem ersten Schritt des Tests werden die Bytes, welche den zu testenden Befehl ausmachen, ein Zählersteuerungssignal und ein Steuerungssignal, um das getriebene Befehlsblockmodul15 freizugeben, über die Scan-Kette29a geladen. In einem nachfolgendem Schritt wird das getriebene Befehlsblockmodul15 dazu gebracht, im Testmodus zu arbeiten. Im Testmodus bringt der Zähler26 den ersten Multiplexer22 dazu, den Inhalt einer zyklischen Folge der Register20a–d an den zweiten Multiplexer24 zu übergeben. Der zweite Multiplexer24 übergibt diesen Inhalt anstelle des Befehls vom Befehlsspeicher12 an den Bus16 . Während dieses Schrittes wird gezählt, wie oft dieser Befehl während eines gegebenen Zeitintervalls ausgeführt wird. Da der zu testende Befehl wiederholt ausgeführt wird, kann das Zeitintervall zu jeder gewünschten Zeit anfangen und enden. - In einer Ausführungsform hat der Zähler zwei Modi, die über die Scan-Kette
29a in Abhängigkeit von der Anzahl der Bytes, die in dem zu testenden Befehl enthalten sind, ausgewählt werden. In dem ersten Modus hat der Zähler26 einen Zyklus von vier und selektiert dabei ein erstes, zweites, drittes oder viertes der Register20a–d nacheinander und wiederholt anschließend diese Selektion dieser Register20a–d zyklisch. Der erste Modus wird benutzt, wenn der zu testende Befehl ein, zwei oder vier Bytes lang ist. Im Fall eines ein Byte langen zu testenden Befehls werden über die Scan-Kette29a vier Kopien des Befehls in die vier Register20a–d geladen. Im Fall eines zwei Byte langen zu testenden Befehls werden Kopien des ersten Bytes des Befehls in das erste und dritte Register20a,c geladen und Kopien des zweiten Bytes des Befehls werden in das zweite und dritte Register20b,d geladen. Im Fall eines vier Byte langen zu testenden Befehls werden die Bytes des Befehls in die verschieden Register20a–d geladen. - In dem zweiten Modus hat der Zähler
26 einen Zyklus von drei und selektiert dabei ein erstes, zweites und drittes der Register20a–c nacheinander und wiederholt anschließend die Selektion dieser drei Register20a–c zyklisch. Der zweite Modus wird benutzt, wenn der zu testenden Befehl drei Bytes lang ist. Die Bytes des Befehls werden in die drei verschiedenen Register20a–c geladen, die zyklisch geladen werden. Also ist nur ein Bit in der Scan-Kette29a notwendig, um zwischen ein, zwei, drei oder vier Byte langen Befehlen zu selektieren. - Natürlich können andere Typen Befehlsausführungseinheiten
10 verwendet werden. Zum Beispiel können Befehle immer in einem Zyklus geliefert werden. In dem Fall werden der Zähler26 , erster Multiplexer22 und unterschiedliche Register20a–d nicht benötigt. Nur ein Register wird benötigt, um den zu testenden Befehl an den zweiten Multiplexer24 zu liefern. Andere maximale Befehlslängen als vier können benutzt werden. Mehr Register20a–d als für die maximale Befehlslänge benötigt, können benutzt werden, um es zu ermöglichen, verschiedene Befehle während eines Tests alternativ zu laden und auszuführen. Anstatt der Register20a–d kann man einen kleinen Speicher benutzen, wobei der Zähler26 diesen Speicher adressiert. In diesem Fall kann der erste Multiplexer22 weggelassen werden. Natürlich haben die Register20a–d den Vorteil gegenüber einem Speicher, dass sie direkt in eine Scan-Kette einbezogen werden können. Wenn die Ausführungseinheit Befehle fester Länge hat, können die niederwertigsten Bits der Befehlsadressen anstatt des Ausgangs von Zähler26 benutzt werden. - Ohne von der Erfindung abzuweichen, sind andere Variationen in der Ausführungsform möglich. Zum Beispiel kann das getriebene Befehlsblockmodul
15 zwischen dem Bus16 und der Befehlsausführungseinheit10 anstatt zwischen dem Befehlsspeicher12 und dem Bus eingefügt werden. So kann die Ausführungszeit ohne Verzögerungen durch den Bus gemessen werden. Man könnte sogar zwei getriebene Befehlsblockmodule15 aufnehmen, einen zwischen dem Befehlsspeicher12 und dem Bus16 und einen zwischen dem Bus16 und der Befehlsausführungseinheit10 . So kann die Ausführungszeit mit und ohne Verzögerungen durch den Bus16 gemessen werden, was es ermöglicht, die durch den Bus verursachten Verzögerungen zu messen. Aus ähnlichen Gründen kann ein getriebenes Befehlsblockmodul15 an anderen Positionen in dem Computer eingefügt werden. - Obwohl die bevorzugte Ausführungsform eine Scan-Kette benutzt, um die Register
20a–d zu laden, können auch andere Anordnungen zum Laden dieser Register benutzt werden. Zum Beispiel können die Register20a–d speicherabbildend sein, was es der Befehlsausführungseinheit10 erlaubt, den zu testenden Befehl in die Register20a–d zu schreiben. Alternativ können die Register als spezielle Funktionsregister der Befehlsausführungseinheit10 behandelt werden, so dass so die Befehlsausführungseinheit10 mittels eines Ins-Register-Schreiben-Befehls zu testende Befehle in die Register schreiben kann.
Claims (9)
- Mikrocomputer (
14 ) mit – einer Befehlsausführungseinheit (10 ); – einer Testschaltung, um den Mikrocomputer (4 ) zu befähigen, in einem Normalzustand oder alternativ in einem Testzustand zu arbeiten; – einem Befehlsspeicherinterface, das im Normalzustand freigegeben ist, Befehlsinformationen aus Befehlsspeicheradressen abfolgegemäß unter der Kontrolle des Programmablaufs der Befehlsausführungseinheit (10 ) zuzuführen; – einer Testabfolgesteuerungseinheit (15 ), die im Testzustand freigegeben ist, das Zuführen von Befehlsinformation zur Befehlsausführungseinheit (10 ) zu steuern, wobei die Testabfolgesteuerungseinheit (15 ) die Abfolge, wie sie im Normalzustand angewendet wird, aufhebt, sodass eine selbe Quelle eines Befehls zyklisch verwendet wird, um eine gleiche Befehlsinformation aus derselben Quelle zur Befehlsausführungseinheit (10 ) wiederholt zuzuführen, unabhängig von jeglicher durch die Befehlsinformation implizierten Abfolge. - Mikrocomputer nach Anspruch 1, wobei der Mikrocomputer darüber hinaus Testbefehlsspeicher (
20a–d ) und einen Testbefehlszähler (26 ) für das zyklische Zählen von Selektionssignalen, welche die Befehlsinformation aus dem Testbefehlsspeicher (20a–d ) selektieren, umfasst. - Mikrocomputer nach Anspruch 2, wobei die Befehlsausführungseinheit (
10 ) darüber hinaus angeordnet ist, um asynchron zu arbeiten, und der Mikrocomputer (14 ) eine Befehlsausführungsfrequenz an eine Antwortzeit der Befehlsausführungseinheit (10 ) anpasst. - Mikrocomputer nach Anspruch 2, der darüber hinaus eine Testbefehlsrücksetzschaltung umfasst, um den Testbefehlszähler (
26 ) auf seinen anfänglichen Wert zurückzusetzen, wenn der Testbefehlszähler (26 ) einen selektierten Wert erreicht hat. - Mikrocomputer nach Anspruch 4, wobei der Testbefehlszähler (
26 ) selektierbar ist, um vor dem Rücksetzen drei oder vier Positionen in dem Testbefehlsspeicher (20a–d ) zu zählen. - Mikrocomputer nach Anspruch 2, wobei der Testbefehlsspeicher (
20a–d ) eine Größe hat, die nicht größer ist, als zur Speicherung eines längsten, durch die Befehlsausführungseinheit (10 ) ausführbaren Befehls benötigt wird. - Mikrocomputer nach Anspruch 2, wobei der Testbefehlsspeicher (
20a–d ) eine Vielzahl von Registern zur Speicherung aufeinander folgender Einheiten eines zu testenden Befehls umfasst, der Testbefehlszähler (26 ) aufeinander folgende Einheiten des zu testenden Befehls zählt und die Testabfolgesteuerungseinheit (15 ) die Einheiten aufeinander folgend an die Befehlsausführungseinheit (10 ) liefert. - Mikrocomputer nach Anspruch 2, wobei der Testbefehlsspeicher (
20a–d ) eine Vielzahl von Registern zur Speicherung aufeinander folgender Einheiten eines zu testenden Befehls umfasst und die Register Teil einer Test-Scan-Kette sind. - Verfahren zum Testen eines Mikrocomputers wie in Anspruch 1 definiert, wobei das Verfahren das wiederholte Liefern eines zu testenden Befehls von einem Testbefehlsspeicher (
20a–d ) aus, der selektiert wird und dabei einen auf einem Programmzähler basierenden und während des Betriebs des Mikrocomputers im Normalzustand durchlaufenen Befehlsadressierungsmechanismus umgeht, an eine Befehlsausführungseinheit (10 ) umfasst.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP99202948 | 1999-09-10 | ||
| EP99202948 | 1999-09-10 | ||
| PCT/EP2000/008447 WO2001020455A1 (en) | 1999-09-10 | 2000-08-30 | Microcomputer with test instruction memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE60012132D1 DE60012132D1 (de) | 2004-08-19 |
| DE60012132T2 true DE60012132T2 (de) | 2005-08-25 |
Family
ID=8240627
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE60012132T Expired - Lifetime DE60012132T2 (de) | 1999-09-10 | 2000-08-30 | Mikroprozessor mit Prüfinstruktionsspeicher |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6728900B1 (de) |
| EP (1) | EP1129408B1 (de) |
| JP (1) | JP2003509770A (de) |
| DE (1) | DE60012132T2 (de) |
| WO (1) | WO2001020455A1 (de) |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6892322B1 (en) * | 2000-10-26 | 2005-05-10 | Cypress Semiconductor Corporation | Method for applying instructions to microprocessor in test mode |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
| US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
| US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
| US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
| US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| US20110087861A1 (en) * | 2009-10-12 | 2011-04-14 | The Regents Of The University Of Michigan | System for High-Efficiency Post-Silicon Verification of a Processor |
| US9858176B2 (en) * | 2013-08-12 | 2018-01-02 | Nec Corporation | Software aging test system, software aging test method, and program for software aging test |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61229134A (ja) * | 1985-04-03 | 1986-10-13 | Nec Corp | マイクロコンピユ−タ |
| KR910002236B1 (ko) * | 1986-08-04 | 1991-04-08 | 미쓰비시 뎅기 가부시끼가이샤 | 반도체집적회로장치 |
| US5530804A (en) * | 1994-05-16 | 1996-06-25 | Motorola, Inc. | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes |
| JP2980539B2 (ja) * | 1995-07-04 | 1999-11-22 | 株式会社リコー | Dcテストポイント編集装置及び編集方法 |
| US5802071A (en) * | 1995-11-17 | 1998-09-01 | Fang; I Liang | Micro-controller with a built-in test circuit and method for testing the same |
| US6106572A (en) * | 1998-03-25 | 2000-08-22 | Origins Software Company | Forward and reverse hierarchical page level debugger |
| JP2000322283A (ja) * | 1999-05-06 | 2000-11-24 | Fujitsu Ltd | 電子計算機の障害検出方法 |
-
2000
- 2000-08-30 JP JP2001523965A patent/JP2003509770A/ja not_active Withdrawn
- 2000-08-30 DE DE60012132T patent/DE60012132T2/de not_active Expired - Lifetime
- 2000-08-30 WO PCT/EP2000/008447 patent/WO2001020455A1/en not_active Ceased
- 2000-08-30 EP EP00956500A patent/EP1129408B1/de not_active Expired - Lifetime
- 2000-09-07 US US09/656,833 patent/US6728900B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP1129408A1 (de) | 2001-09-05 |
| EP1129408B1 (de) | 2004-07-14 |
| US6728900B1 (en) | 2004-04-27 |
| JP2003509770A (ja) | 2003-03-11 |
| WO2001020455A1 (en) | 2001-03-22 |
| DE60012132D1 (de) | 2004-08-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60012132T2 (de) | Mikroprozessor mit Prüfinstruktionsspeicher | |
| DE69906156T2 (de) | Mikroprozessorvorrichtung mit programmierbaren wartezuständen | |
| DE69221045T2 (de) | Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen | |
| DE69714472T2 (de) | Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung | |
| DE19833208C1 (de) | Integrierte Schaltung mit einer Selbsttesteinrichtung zur Durchführung eines Selbsttests der integrierten Schaltung | |
| DE3881824T2 (de) | Speichersystem mit automatischer grössenbestimmung. | |
| DE69124170T2 (de) | Automatisches Prüfausrüstungssystem, das eine Stiftscheibenarchitektur verwendet | |
| DE3855274T2 (de) | Botschafts-Fifo-Puffersteuergerät | |
| DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
| DE69804115T2 (de) | Datenübertragung auf einem nichtflüchtigen speichermedium | |
| DE3750236T2 (de) | Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung. | |
| DE69019402T2 (de) | Prüfverfahren und -gerät für integrierte Schaltungen. | |
| DE69107476T2 (de) | Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher. | |
| DE3933849A1 (de) | Prozessorgesteuerte schnittstelle | |
| DE2619159A1 (de) | Fehlererkennungs- und korrektureinrichtung | |
| DE69120765T2 (de) | Verfahren zum Datentransfer zu oder von Vorrichtungen über eine Boundary-Scan-Test-Schnittstelle | |
| DE19952272A1 (de) | Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen | |
| DE10150321A1 (de) | Verfahren und Vorrichtung zum Testen von integrierten Schaltungen | |
| DE3852562T2 (de) | Datenschreibverfahren für EEPROM. | |
| DE69613560T2 (de) | Ein Prüfgerät für elektronische Schaltkreise oder Platinen mit komprimierten Datenfolgen | |
| DE69130513T2 (de) | Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern | |
| DE19955380C2 (de) | Prüfmustergenerator, Prüfvorrichtung und Verfahren zum Erzeugen von Prüfmustern | |
| DE68913442T2 (de) | Mikrorechner mit EEPROM. | |
| DE69423206T2 (de) | Rechnervorrichtung mit Mitteln zum Erzwingen der Ausführung von Befehlen in regelmässiger Folge | |
| DE68924507T2 (de) | Verfahren und Gerät zur Markierung von Emulationsanalysezuständen. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8320 | Willingness to grant licences declared (paragraph 23) | ||
| 8364 | No opposition during term of opposition | ||
| 8328 | Change in the person/name/address of the agent |
Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN |
|
| 8327 | Change in the person/name/address of the patent owner |
Owner name: NXP B.V., EINDHOVEN, NL |
|
| R081 | Change of applicant/patentee |
Ref document number: 1129408 Country of ref document: EP Owner name: DSP GROUP SWITZERLAND AG, CH Free format text: FORMER OWNER: NXP B.V., EINDHOVEN, NL Effective date: 20120802 |
|
| R082 | Change of representative |
Ref document number: 1129408 Country of ref document: EP Representative=s name: EISENFUEHR, SPEISER & PARTNER, DE Effective date: 20120802 |