WO2000063777A1 - Method for tracing in system-on-chip architectures - Google Patents

Method for tracing in system-on-chip architectures Download PDF

Info

Publication number
WO2000063777A1
WO2000063777A1 PCT/DE2000/001165 DE0001165W WO0063777A1 WO 2000063777 A1 WO2000063777 A1 WO 2000063777A1 DE 0001165 W DE0001165 W DE 0001165W WO 0063777 A1 WO0063777 A1 WO 0063777A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
trace
recording
fifo
priority
Prior art date
Application number
PCT/DE2000/001165
Other languages
German (de)
French (fr)
Inventor
Dirk Amandi
Winfried Gläser
Alexander Mircescu
Robert Winter
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to DE10081032T priority Critical patent/DE10081032D2/en
Publication of WO2000063777A1 publication Critical patent/WO2000063777A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Definitions

  • the subject matter of the application relates to a method for tracking data and their states in an arrangement in which a semiconductor chip (SoC) has a plurality of components.
  • SoC semiconductor chip
  • SoC System on Chip
  • various components e.g. Microprocessors, RAMs and complex hardware control logic housed on one chip.
  • SoC System on Chip
  • the object of the application is based on the problem of specifying a method for tracing a large number of SoC components on a trace bus while minimizing the tracer complexity.
  • the subject of the application makes use of the knowledge that, for example, a RAM interface latency with a read command caused by the RAM latency that none contain interesting / necessary trace information, and trace information from other query points can be forwarded in these waiting cycles.
  • FIG. 1 shows a representation of the trace system according to the application.
  • FIG. 2 shows a flow diagram in the trace system and
  • FIG. 3 shows a further flow chart in the trace system according to the invention.
  • Tracing is understood to mean the query of the data status at a specific TAP query point (for: trace access point) for evaluating the data status.
  • FIG. 1 shows a system on chip arrangement SoC in which the subject of the application is realized.
  • various components such as microprocessors, RAMs and complex HW (hardware) control logic, are arranged on one chip.
  • the arrangement in FIG. 1 represents a large number of components for the components A, B, C and D set up these assigned interrogators TAP A, TAP B, TAP C and TAP D.
  • Possible SoC data recording points for the trace procedure are:
  • processor kernels processing kerneis
  • storage elements RAMs, storage elements
  • peripheral parts - integrated FPGAs Field Programmable Gate Array
  • the data data of an interrogation point are fed to a triggering device TR (for: trigger) which switches on or off the tracing in the case of certain system parameters (for example the trigger switches on if the fault condition is met).
  • TR for: trigger
  • the data al..a6, bl..b4, cl..c4 and dl..d4 recorded by the triggering device are fed to a respective filter FI, where they are selected according to the test requirements as a function of certain system parameters.
  • the selected data al..a4, bl..b3, cl, c4 and dl, d2 are referred to in a source identifier SI (for: source identifier) as for the component in question.
  • a time slot control TSC (for: Time slot control) asks per clock cycle one after the other (polling) according to the priority of a TAP for a necessary date ("necessary" is indicated by a signal bit from the TAP).
  • the necessary data of the TAP are provided with a source identifier so that data of a TAP can be reassigned outside the chip in post-processing (summarized in a separate file, table, statistics, etc.).
  • a time stamp is assigned (eg counter value of a revolving counter). Data that are in the same clock cycle are given the same time stamp and are offered according to their priority to the TD FIFO recording data memory (for: Trace Data First In First Out).
  • FIFOs are broken down if data required by no TAP are created in a clock cycle; Cancellation of the overflow bit.
  • the management of the FIFO and the insertion of the overflow bit in the trace word is done in the trace data FIFO.
  • a trace word is written to the recording interface TI (for: trace interface) per clock cycle, which corresponds to the HWT (HW Tracer, standard recording device).
  • the recording interface TI is formed with a plurality of connections on the housing that accommodates the SoC components. The number of connections of the recording interface TI is considerably smaller than if for each of the plurality of recording points TAP A..TAP D a separate interface would be arranged on the housing.
  • Programs for post-processing can be used via a PC interface on the HWT.
  • the algorithm is started at 201, everything is reset to 202 at 202 (reset all).
  • a procedure according to FIG. 3 for processing a recording point with priority 1 (processing TAP with priority 1) is carried out.
  • a procedure according to FIG. a recording point with priority 2 (processing TAP with priority 2).
  • further procedures according to FIG. 3 for processing a recording point (other TAP s) are carried out.
  • a procedure according to FIG. 3 is carried out for processing a recording point with priority N (processing TAP with priority N).
  • the time stamp is updated (update time stamp).
  • timestamp max?. If this is not the case, the process continues at 211 as denoted by N (for: No).
  • an active status word is written into the evaluation data FIFO (write keep alive to FIFO).
  • the oldest entry from the recording data FIFO is forwarded to the recording interface TI (write west FIFO entry to trace interface).
  • the wait for the next clock cycle is waited to continue at 201.
  • FIG. 3 shows the processing of a recording point with a given priority (processing TAP with priority N).
  • a query is made at 302 whether the processing point has data present. If this is not the case, as denoted by N, proceed to 309. If this is the case, as denoted by Y, the process continues with 303, where it is queried whether the recording data FIFO has no overflow (no FIFO overflow?). If this is not the case, as denoted by N, proceed to 309. If this is the case, as denoted by Y, the process continues with 304, where the recording data are written into the recording word N (write TAP data in trace word N).
  • an origin identifier SI is added to the record word N (add source identifier to trace word N).
  • record word N is written to record data FIFO (write trace word N to FIFO).
  • the state of the record data FIFO is updated (update FIFO state).
  • asynchronous components can also be connected to the time-slot control, which operates in isochronous mode, and then clocked in.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention relates to a system-on-chip arrangement, wherein the data states of a plurality of components are detected, selected, provided with a source identifier and a time stamp, brought together according to the priority thereof and outputted at an interface in order to be evaluated. The width of the trace interface (number of the pins on the chip) and the complexity of the tracer are minimised.

Description

Beschreibungdescription
Verfahren zum Tracen in System on Chip ArchitekturenProcedure for tracing in system on chip architectures
Der Anmeldungsgegenstand betrifft ein Verfahren zur Nachverfolgung von Daten und deren Zuständen in einer Anordnung, in der ein Halbleiterchip (SoC) eine Mehrzahl von Komponenten aufweist.The subject matter of the application relates to a method for tracking data and their states in an arrangement in which a semiconductor chip (SoC) has a plurality of components.
Bei System on Chip (SoC) Architekturen sind verschiedene Komponenten, z.B. Mikroprozessoren, RAMs und komplexe HW Control Logik auf einem Chip untergebracht. Um ein SoC Design zu testen, ist es unabdingbar, in den Chip "hineinschauen" zu können, d.h. interne Datenströme aufzuzeichnen. Um den Testan- forderungen zu genügen, müssen im allgemeinen die Datenströme der einzelnen Komponenten parallel (d.h. mit dem genauen zeitlichen Bezug zueinander) ge-traced werden können.With System on Chip (SoC) architectures, various components, e.g. Microprocessors, RAMs and complex hardware control logic housed on one chip. In order to test a SoC design, it is essential to be able to "look" into the chip, i.e. record internal data streams. In order to meet the test requirements, it must generally be possible to trace the data streams of the individual components in parallel (i.e. with the exact temporal relationship to one another).
Bisher ist das parallele Durchverdrahten von wenigen Daten- strömen, z.B nur einer Speicher Schnittstelle auf den Trace Bus ausreichend und von der Komplexität her möglich gewesen. Die ansteigende Komplexität der SoC Architekturen macht das Tracen einer Vielzahl von Komponenten wünschenswert. Ein paralleles Durchverdrahten der einzelnen Komponenten Schnitt- stellen an den Trace Bus erscheint zunächst als praktisch unmöglich.Up until now, parallel wiring of a few data streams, e.g. only one memory interface on the trace bus, was sufficient and the complexity was possible. The increasing complexity of SoC architectures makes tracing a large number of components desirable. Parallel wiring of the individual component interfaces to the trace bus initially appears to be practically impossible.
Dem Anmeldungsgegenstand liegt das Problem zugrunde, ein Verfahren zum Tracen einer Vielzahl von SoC Komponenten auf ei- nen Trace Bus bei Minimierung der Tracer Komplexität anzugeben.The object of the application is based on the problem of specifying a method for tracing a large number of SoC components on a trace bus while minimizing the tracer complexity.
Das Problem wird durch die Merkmale des Anspruchs 1 gelöst.The problem is solved by the features of claim 1.
Der Anmeldungsgegenstand macht sich die Erkenntnis zunutze, daß beispielsweise an einem RAM interface bei einem Lese- Befehl durch die RAM Latency Wartezyklen entstehen, die keine interessante/notwendige Trace Information enthalten, und in diesen Wartezyklen Trace Informationen anderer Abfragestellen weitergeleitet werden können.The subject of the application makes use of the knowledge that, for example, a RAM interface latency with a read command caused by the RAM latency that none contain interesting / necessary trace information, and trace information from other query points can be forwarded in these waiting cycles.
Es sind Vorteile des Anmeldungsgegenstandes, die Daten möglichst vieler SoC Komponenten auf ein Trace Interface geben zu können und gleichzeitig die Breite des Trace Interface (Anzahl der Pins am Chip) sowie grundsätzlich die Komplexität des Tracers zu minimieren. Weiterhin ist aufgrund der limi- tierten Aufzeichnungstiefe der externen Medien (Hardware Tracer HWT) eine Datenreduktion vorteilhaft.It is an advantage of the subject of the application to be able to transfer the data of as many SoC components as possible to a trace interface and at the same time to minimize the width of the trace interface (number of pins on the chip) and basically the complexity of the tracer. Furthermore, due to the limited recording depth of the external media (hardware tracer HWT), data reduction is advantageous.
Vorteilhafte Weiterbildungen des Anmeldungsgegenstandes sind in den Unteransprüchen angegeben.Advantageous further developments of the subject of the application are specified in the subclaims.
Der Anmeldungsgegenstand wird im folgenden als Ausführungsbeispiel in einem zum Verständnis erforderlichen Umfang anhand von Figuren näher erläutert. Dabei zeigen: Fig 1 eine Darstellung des anmeldungsgemäßen Trace-Systems Fig 2 ein Ablaufdiagra m in dem anmeldungsgemäßen Trace- Syste undThe subject of the application is explained in more detail below as an exemplary embodiment to the extent necessary for understanding with reference to figures. 1 shows a representation of the trace system according to the application. FIG. 2 shows a flow diagram in the trace system and
Fig 3 ein weiteres Ablaufdiagramm in dem an eldungsgemäßen Trace-System.3 shows a further flow chart in the trace system according to the invention.
In den Figuren bezeichnen gleiche Bezeichnungen gleiche Elemente.In the figures, the same designations denote the same elements.
Unter Tracen wird die Abfrage des Datenzustandes an einer bestimmten -Abfragestelle TAP (für: Trace access point) zur Aus- wertung des Datenzustandes verstanden.Tracing is understood to mean the query of the data status at a specific TAP query point (for: trace access point) for evaluating the data status.
FIG 1 zeigt eine System on Chip Anordnung SoC, in der der Anmeldungsgegenstand realisiert ist. Bei System on Chip Architekturen sind verschiedene Komponenten, z.B. Mikroprozesso- ren, RAMs und komplexe HW (Hardware) Control Logik auf einem Chip angeordnet. Die Anordnung in Fig 1 weist stellvertretend für eine Vielzahl von Komponenten für die nicht näher darge- stellten Komponenten A, B, C und D diesen zugeordnete Abfragestellen TAP A, TAP B, TAP C und TAP D auf. Mögliche SoC Daten AufZeichnungspunkte für das Trace Verfahren sind:1 shows a system on chip arrangement SoC in which the subject of the application is realized. With system on chip architectures, various components, such as microprocessors, RAMs and complex HW (hardware) control logic, are arranged on one chip. The arrangement in FIG. 1 represents a large number of components for the components A, B, C and D set up these assigned interrogators TAP A, TAP B, TAP C and TAP D. Possible SoC data recording points for the trace procedure are:
- Mikroprozessor Kerne (processor kerneis) - Speicherelemente (RAMs, storage elements)- microprocessor kernels (processor kerneis) - storage elements (RAMs, storage elements)
- hardwired core wäre, control parts, glue logic- hardwired core would be, control parts, glue logic
- Bus-Schnittstellen (bus interfaces)- Bus interfaces
- Schnittstellen von Sensoren (sensor interfaces)- interfaces of sensors (sensor interfaces)
- interfaces to peripheral parts - integrated FPGAs (Field Programmable Gate Array) .- interfaces to peripheral parts - integrated FPGAs (Field Programmable Gate Array).
Die Daten Data einer Abfragestelle werden einer Auslöseeinrichtung TR (für: trigger) , die das tracen bei bestmmten Systemparametern einschaltet oder ausschaltet (beispielsweise schaltet der Trigger ein, wenn Fehlerbedingung erfüllt) zugeführt. Die durch die Auslöseeinrichtung erfassten Daten al..a6, bl..b4, cl..c4 und dl..d4 werden einem jeweiligen Filter FI zugeführt, wo sie entsprechend den Testanforderungen in Abhängigkeit von bestimmten Systemparametern selek- tiert werden. Die selektierten Daten al..a4, bl..b3, cl, c4 und dl, d2 werden in einem Herkunftskennzeichner SI (für: source identifier) als zu der betreffenden Komponente bezeichnet.The data data of an interrogation point are fed to a triggering device TR (for: trigger) which switches on or off the tracing in the case of certain system parameters (for example the trigger switches on if the fault condition is met). The data al..a6, bl..b4, cl..c4 and dl..d4 recorded by the triggering device are fed to a respective filter FI, where they are selected according to the test requirements as a function of certain system parameters. The selected data al..a4, bl..b3, cl, c4 and dl, d2 are referred to in a source identifier SI (for: source identifier) as for the component in question.
Eine Zeitschlitz Steuerung TSC (für: Time slot control) fragt pro Taktzyklus nacheinander (polling) entsprechend der Priorität eines TAP nach einem notwendigen Datum ("notwendig" wird durch ein Signalbit vom TAP angezeigt) . Die notwendigen Daten des TAP werden mit einem Source identifier versehen, damit in der Nachverarbeitung außerhalb des Chips Daten eines TAPs wieder zugeordnet werden können (zusammenfassen in eigener Datei, Tabelle, Statistik, etc.). Zusätzlich wird ein Zeitstempel (time stamp) vergeben (z.B. Zählerwert eines umlaufenden Zählers) . Daten, die im gleichen Taktzyklus anlie- gen, bekommen den gleichen time stamp und werden entsprechend ihrer Priorität dem Aufzeichnungs-Datenspeicher TD FIFO (für: Trace Data First In First Out) angeboten. In der Nachverar- beitung kann somit die Zeitabfolge exakt ermittelt werden. Wird der time stamp als umlaufender Zähler realisiert, bietet es sich an, daß die Zeitschlitz Steuerung bei jedem Zählerrücksprung ein Aktivzustands-Wort (keep alive Trace Wort) einsetzt (z.B. mit si=0) , wenn kein Überlaufszustand (ov) des Aufzeichnungs-Datenspeichers (overflow FIFO state) anliegt. Dies ist auch nützlich beim Aktivieren des Tracers nach einem Reset, da mit Empfangen der keep alive Worte schon ein Ver- bindungs setup nachgewiesen ist. Tritt während der Übergabe eines Trace Wortes an das TD FIFO ein overflow FIFO State auf, so wird dieses nicht übertragen; die Übertragung des Trace Wortes von dem TAP mit der höchsten Priorität ist grundsätzlich immer möglich. Bei Datenverlust (Fig 1: wie mit DL d2 für: Data Loss d2 bezeichnet) durch overflow wird die- ser Zustand durch ein overflow Bit in dem einen Trace Wort gekennzeichnet, das auch im overflow Zustand übertragen werden kann und das den gleichen time stamp, wie das nicht übertragene Trace Wort hat (Fig 1: das Trace Wort mit a3 vor d2) ; das Übertragen einer Trace Wortes pro Taktzyklus ist immer möglich, auch im overflow Zustand. Der overflow Zustand desA time slot control TSC (for: Time slot control) asks per clock cycle one after the other (polling) according to the priority of a TAP for a necessary date ("necessary" is indicated by a signal bit from the TAP). The necessary data of the TAP are provided with a source identifier so that data of a TAP can be reassigned outside the chip in post-processing (summarized in a separate file, table, statistics, etc.). In addition, a time stamp is assigned (eg counter value of a revolving counter). Data that are in the same clock cycle are given the same time stamp and are offered according to their priority to the TD FIFO recording data memory (for: Trace Data First In First Out). In post-processing processing, the time sequence can thus be determined exactly. If the time stamp is implemented as a revolving counter, it is advisable that the time slot controller uses an active status word (keep alive trace word) for every counter return (e.g. with si = 0) if there is no overflow status (ov) of the recording data memory (overflow FIFO state) is present. This is also useful when activating the tracer after a reset, since a connection setup is already proven when the keep alive words are received. If an overflow FIFO state occurs during the transfer of a trace word to the TD FIFO, this is not transferred; the transmission of the trace word from the TAP with the highest priority is always possible. In the event of data loss (Fig. 1: as denoted by DL d2 for: Data Loss d2) due to overflow, this state is identified by an overflow bit in the one trace word, which can also be transmitted in the overflow state and which has the same time stamp, how the non-transmitted trace word has (Fig. 1: the trace word with a3 before d2); It is always possible to transfer a trace word per clock cycle, even in the overflow state. The overflow state of the
FIFOs wird dann abgebaut, wenn in einem Taktzyklus von keinem TAP notwendige Daten angelegt werden; Rücknahme des overflow Bit.FIFOs are broken down if data required by no TAP are created in a clock cycle; Cancellation of the overflow bit.
Die Verwaltung des FIFOs und das Einfügen des overflow Bit in das Trace Wort geschieht im Trace Daten FIFO. Das FIFO ist in der Lage, pro Taktzyklus entsprechend der Anzahl der TAPs Trace Worte in dem FIFO abzuspeichern; Fig 1 zeigt, daß 3 Trace Worte pro Taktzyklus maximal im FIFO abgespeichert wer- den, also entsprechend ihrer Priorität bei ts=l hier al, bl, cl/dl. Am FIFO Ausgang wird pro Taktzyklus ein Trace Wort an die Aufzeichnungs-Schnittstelle TI (für: Trace interface) geschrieben, die mit dem HWT (HW Tracer, Standard Aufzeichnungsgerät) korrespondiert. Die Aufzeichnungs-Schnittstelle TI ist mit einer Mehrzahl von Anschlüssen am Gehäuse, das die SoC-Komponenten aufnimmt, gebildet. Die Anzahl der Anschlüsse der Aufzeichnungs-Schnittstelle TI ist erheblich kleiner als wenn für jeden der Mehrzahl von AufZeichnungspunkten TAP A..TAP D eine gesonderte Schnittstelle am Gehäuse angeordnet wäre.The management of the FIFO and the insertion of the overflow bit in the trace word is done in the trace data FIFO. The FIFO is able to store trace words in the FIFO per clock cycle according to the number of TAPs; 1 shows that a maximum of 3 trace words per clock cycle are stored in the FIFO, that is, according to their priority at ts = 1 here al, bl, cl / dl. At the FIFO output, a trace word is written to the recording interface TI (for: trace interface) per clock cycle, which corresponds to the HWT (HW Tracer, standard recording device). The recording interface TI is formed with a plurality of connections on the housing that accommodates the SoC components. The number of connections of the recording interface TI is considerably smaller than if for each of the plurality of recording points TAP A..TAP D a separate interface would be arranged on the housing.
Über eine PC Schnittstelle an den HWT können Programme zur Nachverarbeitung angewendet werden.Programs for post-processing can be used via a PC interface on the HWT.
Im Trace Verfahren/Algorithmus gemäß dem Anmeldungsgegenstand wird zwischen notwendigen und nicht-notwendigen Trace Daten entsprechend der Testanforderungen unterschieden (Daten Selektion) . Eine sinnvolle Datenselektion ist in der Praxis prinzipiell immer möglich. Dadurch ist es möglich, in einem Zeitschlitzverfahren die notwendigen anliegenden Trace Daten der verschiedenen SoC Komponenten hintereinander auf den Tra- ce Bus zu geben. Die Zeitinformation bleibt durch die Verwendung eines Zeitstempels (time stamp) voll erhalten, so daß das Zeitverhalten der Daten zueinander in einer Nachverarbeitung wiederhergestellt werden kann. Das Zwischenspeichern der sequentialisierten Daten in einem FIFO ermöglicht das Abfan- gen von Datenbursts. Durch einstellbare Filter und Triggerpunkte wird eine Datenreduktion auf die notwendigen Daten erreicht. Grundsätzlich ist es möglich, eine beliebige Anzahl verschiedener SoC Komponenten mit dem Zeitschlitz Verfahren zu tracen, wobei die Zeitschlitze über ein priorisiertes Ab- frageprinzip (polling) vergeben werden. Wenn im statistischen Mittel die Summe der Datenströme der SoC Komponenten die Ubertragungsrate des Trace interface überschreitet, wird ein Daten Verlust eintreten. Die Trace Worte der SoC Komponente mit der höchsten Priorität werden in jedem Fall übertragen.In the trace procedure / algorithm according to the object of registration, a distinction is made between necessary and unnecessary trace data according to the test requirements (data selection). Practical data selection is always possible in practice. This makes it possible to transfer the necessary trace data from the various SoC components to the trace bus one after the other in a time slot process. The time information is fully preserved through the use of a time stamp, so that the time behavior of the data with respect to one another can be restored in postprocessing. The buffering of the sequentialized data in a FIFO enables data bursts to be intercepted. Adjustable filters and trigger points reduce the data to the necessary data. In principle, it is possible to trace any number of different SoC components using the time slot method, with the time slots being assigned using a prioritized polling principle. If on average the total of the data streams of the SoC components exceeds the transmission rate of the trace interface, a data loss will occur. The trace words of the SoC component with the highest priority are always transmitted.
Fig 2 zeigt den Trace Alogorithmus des Trace-Verfahrens2 shows the trace algorithm of the trace method
Bei 201 wird der Algorithmus gestartet, bei 202 wird alles in den Ausgangszustand gesetzt (reset all) . Bei 203 wird eine Prozedur nach Figur 3 zur Bearbeitung eines Aufzeichnungs- punktes mit der Priorität 1 (processing TAP with prio 1) ausgeführt. Bei 204 wird eine Prozedur nach Figur 3 zur Bearbei- tung eines AufZeichnungspunktes mit der Priorität 2 (processing TAP with prio 2) ausgeführt. Bei 205 werden weitere Prozeduren nach Figur 3 zur Bearbeitung eines Aufzeichnungspunktes (other TAP s) ausgeführt. Bei 206 wird eine Prozedur nach Figur 3 zur Bearbeitung eines AufZeichnungspunktes mit der Priorität N (processing TAP with prio N) ausgeführt. Bei 207 wird der Zeitstempel aktualisiert (update time stamp) . BeiThe algorithm is started at 201, everything is reset to 202 at 202 (reset all). At 203, a procedure according to FIG. 3 for processing a recording point with priority 1 (processing TAP with priority 1) is carried out. At 204, a procedure according to FIG. a recording point with priority 2 (processing TAP with priority 2). At 205 further procedures according to FIG. 3 for processing a recording point (other TAP s) are carried out. At 206, a procedure according to FIG. 3 is carried out for processing a recording point with priority N (processing TAP with priority N). At 207, the time stamp is updated (update time stamp). at
208 erfolgt eine Abfrage, ob der Zeitstempel seinen Höchststand erreicht hat (timestamp=max?) . Ist dies nicht der Fall, wird wie mit N (für: No) bezeichnet, bei 211 fortgefahren.208 a query is made as to whether the timestamp has reached its maximum (timestamp = max?). If this is not the case, the process continues at 211 as denoted by N (for: No).
Ist dies der Fall, wie mit Y (für: Yes) bezeichnet, wird mitIf this is the case, as indicated with Y (for: Yes), with
209 fortgefahren, wo abgefragt wird, ob das Aufzeichnungsdaten FIFO TD FIFO kein Überfließen aufweist (No FIFO overflow?) . Ist dies, wie mit N bezeichnet, nicht der Fall, wird mit 211 fortgefahren. Ist dies, wie mit Y bezeichnet, der209 continued, where it is queried whether the recording data FIFO TD FIFO has no overflow (No FIFO overflow?). If this is not the case, as denoted by N, continue with 211. Is this, as denoted by Y, the
Fall, wird bei 210 ein Aktivzustands-Wort in das Auswertungs- daten-FIFO geschrieben (write keep alive to FIFO) . Bei 211 wird der älteste Eintrag aus dem Aufzeichnungsdaten FIFO zu der Aufzeichnungs-Schnittstelle TI weitergeleitet (write lo- west FIFO entry to trace interface) . Bei 212 wird auf den nächsten Taktbeginn gewartet (wait for next clock cycle) , um bei 201 fortzufahren.In this case, at 210 an active status word is written into the evaluation data FIFO (write keep alive to FIFO). At 211, the oldest entry from the recording data FIFO is forwarded to the recording interface TI (write west FIFO entry to trace interface). At 212, the wait for the next clock cycle is waited to continue at 201.
Figur 3 zeigt die Abarbeitung eines AufZeichnungspunktes mit einer gegebenen Priorität (processing TAP with prio N) . Nach dem Start bei 301 wird bei 302 abgefragt, ob der Bearbeitungspunkt Daten anliegen hat. Ist dies nicht der Fall, wie mit N bezeichnet, wird mit 309 fortgefahren. Ist dies der Fall, wie mit Y bezeichnet, wird mit 303 fortgefahren, wo ab- gefragt wird, ob das Aufzeichnungsdaten FIFO kein Überfließen aufweist (no FIFO overflow?) . Ist dies nicht der Fall, wie mit N bezeichnet, wird mit 309 fortgefahren. Ist dies der Fall, wie mit Y bezeichnet, wird mit 304 fortgefahren, wo die Aufzeichnungsdaten in das AufZeichnungswort N eingeschrieben werden (write TAP data in trace word N) . Bei 305 wird ein Herkunftskennzeichen SI dem Aufzeichnungswort N beigefügt (add source identifier to trace word N) . Bei 306 wird ein ZeitStempel dem Aufzeichnungswort N beigefügt (add time stamp to trace word N) . Bei 307 wird das Aufzeichnungswort N in das Aufzeichnungsdaten FIFO geschrieben (write trace word N to FIFO) . Bei 308 wird der Zustand des Aufzeichnungsdaten FIFOs aktualisiert (update FIFO State) . Bei 309 wird zurückgesprungen (go back) .FIG. 3 shows the processing of a recording point with a given priority (processing TAP with priority N). After starting at 301, a query is made at 302 whether the processing point has data present. If this is not the case, as denoted by N, proceed to 309. If this is the case, as denoted by Y, the process continues with 303, where it is queried whether the recording data FIFO has no overflow (no FIFO overflow?). If this is not the case, as denoted by N, proceed to 309. If this is the case, as denoted by Y, the process continues with 304, where the recording data are written into the recording word N (write TAP data in trace word N). At 305, an origin identifier SI is added to the record word N (add source identifier to trace word N). At 306, one becomes Add time stamp to trace word N. At 307, record word N is written to record data FIFO (write trace word N to FIFO). At 308, the state of the record data FIFO is updated (update FIFO state). At 309 there is a go back.
Das hier vorgestellte Verfahren geht von einem synchronen SoC Design aus. Grundsätzlich können aber an die taktsynchron ar- beitende Zeitschlitz Steuerung auch asynchrone Komponenten angeschlossen werden und dann eingetaktet werden. The procedure presented here is based on a synchronous SoC design. In principle, however, asynchronous components can also be connected to the time-slot control, which operates in isochronous mode, and then clocked in.

Claims

Patentansprüche claims
1. Verfahren zur Nachverfolgung von Daten und deren Zuständen in einer Anordnung, in der ein Halbleiterchip (SoC) eine Mehrzahl von Komponenten aufweist, demzufolge,1. A method for tracking data and its states in an arrangement in which a semiconductor chip (SoC) has a plurality of components, accordingly,
- die Daten (Data) eines AufZeichnungspunktes (TAPA..TAPD) nach Maßgabe einer Auslöseeinrichtung (TR) erfasst werden,- the data (data) of a recording point (TAPA..TAPD) are recorded in accordance with a triggering device (TR),
- mehrere Aufzeichnungspunkte gegeben sind,- there are several recording points,
- die Daten nach Maßgabe der Einstellung eines Filters (FI) selektiert werden,- the data are selected according to the setting of a filter (FI),
- die Daten mit einem Herkunftskennzeichen (SI) und einem Zeitstempel (ts) versehen werden,- the data are provided with an origin indicator (SI) and a time stamp (ts),
- eine Zeitschlitzsteuerung (TSC) , die AufZeichnungspunkte abfragt, - die Daten an eine Aufzeichnungs-Schnittstelle (TI) des Halbleiterchips weitergeleitet werden.a time slot controller (TSC) which queries recording points, the data are forwarded to a recording interface (TI) of the semiconductor chip.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet , dass die Zeitschlitzsteuerung die AufZeichnungspunkte nach Maßgabe ihrer Priorität abfragt.2. The method according to claim 1, characterized in that the time slot controller polls the recording points in accordance with their priority.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet , dass die Daten nach Maßgabe ihrer Priorität an die Aufzeichnungs-Schnittstelle weitergeleitet werden.3. The method according to claim 2, characterized in that the data are forwarded to the recording interface in accordance with their priority.
4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Daten als Zeitstempel mit einem zyklisch fortlaufenden Zählerstand versehen werden. 4. The method according to any one of the preceding claims, characterized in that the data are provided as a time stamp with a cyclically continuous counter reading.
PCT/DE2000/001165 1999-04-20 2000-04-13 Method for tracing in system-on-chip architectures WO2000063777A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10081032T DE10081032D2 (en) 1999-04-20 2000-04-13 Procedure for tracing in system on chip architectures

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19917891 1999-04-20
DE19917891.7 1999-04-20

Publications (1)

Publication Number Publication Date
WO2000063777A1 true WO2000063777A1 (en) 2000-10-26

Family

ID=7905231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/001165 WO2000063777A1 (en) 1999-04-20 2000-04-13 Method for tracing in system-on-chip architectures

Country Status (3)

Country Link
DE (1) DE10081032D2 (en)
TW (1) TW527536B (en)
WO (1) WO2000063777A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10119265A1 (en) * 2001-04-20 2002-10-31 Infineon Technologies Ag Program controlled unit
DE10119266A1 (en) * 2001-04-20 2002-10-31 Infineon Technologies Ag Program controlled unit
GB2404754A (en) * 2003-08-07 2005-02-09 Advanced Risc Mach Ltd Trace data source identification within a trace data stream
GB2404753A (en) * 2003-08-07 2005-02-09 Advanced Risc Mach Ltd Trace source correlation in a data processing apparatus
GB2404752A (en) * 2003-08-07 2005-02-09 Advanced Risc Mach Ltd Data processing system trace bus
US7051237B2 (en) 2001-07-06 2006-05-23 Infineon Technologies Ag Program-controlled unit
DE102015121940A1 (en) * 2015-12-16 2017-06-22 Intel IP Corporation A circuit and method for attaching a timestamp to a trace message

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0636976A1 (en) * 1993-07-28 1995-02-01 Koninklijke Philips Electronics N.V. Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0636976A1 (en) * 1993-07-28 1995-02-01 Koninklijke Philips Electronics N.V. Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10119265A1 (en) * 2001-04-20 2002-10-31 Infineon Technologies Ag Program controlled unit
DE10119266A1 (en) * 2001-04-20 2002-10-31 Infineon Technologies Ag Program controlled unit
US7281162B2 (en) 2001-04-20 2007-10-09 Infineon Technologies Ag Program-controlled unit
US7051237B2 (en) 2001-07-06 2006-05-23 Infineon Technologies Ag Program-controlled unit
GB2404752B (en) * 2003-08-07 2006-02-22 Advanced Risc Mach Ltd Data processing system trace bus
GB2404754B (en) * 2003-08-07 2006-02-15 Advanced Risc Mach Ltd Trace data source identification within a trace data stream
GB2404752A (en) * 2003-08-07 2005-02-09 Advanced Risc Mach Ltd Data processing system trace bus
GB2404753B (en) * 2003-08-07 2006-05-03 Advanced Risc Mach Ltd Trace source correlation in a data processing apparatus
GB2404753A (en) * 2003-08-07 2005-02-09 Advanced Risc Mach Ltd Trace source correlation in a data processing apparatus
US7069176B2 (en) 2003-08-07 2006-06-27 Arm Limited Trace source correlation in a data processing apparatus
US7149933B2 (en) 2003-08-07 2006-12-12 Arm Limited Data processing system trace bus
GB2404754A (en) * 2003-08-07 2005-02-09 Advanced Risc Mach Ltd Trace data source identification within a trace data stream
US7325168B2 (en) 2003-08-07 2008-01-29 Arm Limited Trace data source identification within a trace data stream
DE102015121940A1 (en) * 2015-12-16 2017-06-22 Intel IP Corporation A circuit and method for attaching a timestamp to a trace message
US10523548B2 (en) 2015-12-16 2019-12-31 Intel IP Corporation Circuit and a method for attaching a time stamp to a trace message

Also Published As

Publication number Publication date
DE10081032D2 (en) 2001-08-09
TW527536B (en) 2003-04-11

Similar Documents

Publication Publication Date Title
DE69121382T2 (en) Emulator for emulating a connectionless microcontroller and microcontroller for use in such an emulator
DE69934401T2 (en) DATA ACQUISITION SYSTEM WITH MEANS FOR ANALYSIS AND STORAGE IN REAL TIME
DE3300260C2 (en)
DE3704056A1 (en) PERIPHERAL DMA CONTROLLER FOR DATA ACQUISITION SYSTEMS
DE4027510C2 (en)
DE69803705T2 (en) NON-INFLUENCING PERFORMANCE MONITORING
EP0107026B1 (en) Stored-programme control
DE3889480T2 (en) Block-organized RAM memory capable of reading, writing and refreshing data in a block access time.
DE2918906A1 (en) MONITORING SYSTEM
DE4135749A1 (en) PROCESSOR MODULE FOR A PROGRAMMABLE CONTROL WITH AN INTELLIGENT FUNCTIONAL MODULE INTERFACE
DE3885985T2 (en) Memory control arrangement for a data processing system.
DE69021687T2 (en) Event counting method and apparatus using volatile memory.
DE102014211245A1 (en) System for troubleshooting data transfer in the DMA system
DE102007029833A1 (en) Data modification module
WO2000063777A1 (en) Method for tracing in system-on-chip architectures
DE102007006508B4 (en) Microcontroller with memory trace module
DE102005020656B4 (en) Edge detection circuit
EP0108414B1 (en) Device for testing a large scale integrated microprogramme-controlled electronic component
EP1315337A2 (en) BUS-Interface
DE102010003538A1 (en) Method for checking signal and module activities in a timer module and timer module
DE69425546T2 (en) Dynamically programmable time counting
DE10110567B4 (en) Data processing system with adjustable clocks for divided synchronous interfaces
DE69024912T2 (en) Computer system
EP1283472A2 (en) Program controlled unit
DE69129168T2 (en) Microprocessor capable of ensuring flexible recovery time for an I / O device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): DE JP US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REF Corresponds to

Ref document number: 10081032

Country of ref document: DE

Date of ref document: 20010809

WWE Wipo information: entry into national phase

Ref document number: 10081032

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: JP