ES2231042B2 - ADAPTATION CIRCUIT FOR BEHAVIOR COUNTER. - Google Patents

ADAPTATION CIRCUIT FOR BEHAVIOR COUNTER.

Info

Publication number
ES2231042B2
ES2231042B2 ES200400068A ES200400068A ES2231042B2 ES 2231042 B2 ES2231042 B2 ES 2231042B2 ES 200400068 A ES200400068 A ES 200400068A ES 200400068 A ES200400068 A ES 200400068A ES 2231042 B2 ES2231042 B2 ES 2231042B2
Authority
ES
Spain
Prior art keywords
circuit
signal
bits
correspondence
threshold
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 - Fee Related
Application number
ES200400068A
Other languages
Spanish (es)
Other versions
ES2231042A1 (en
Inventor
Richard W. Adkisson
Tyler Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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
Priority claimed from US10/635,373 external-priority patent/US7331003B2/en
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of ES2231042A1 publication Critical patent/ES2231042A1/en
Application granted granted Critical
Publication of ES2231042B2 publication Critical patent/ES2231042B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

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)
  • Debugging And Monitoring (AREA)

Abstract

Circuito de adaptación para contador de comportamiento. En una realización, la invención está dirigida a hacer corresponder un circuito para implementarlo en un contador de rendimiento de uso general ("GPPC") conectado a un bus que porta datos de depuración. El circuito de correspondencia comprende un sistema de lógica para activar una señal de correspondencia cuando una porción seleccionada de N bits de los datos de depuración corresponda a un umbral de N bits para todos los bits seleccionados mediante una máscara de correspondencia de N bits ("mmask").Adaptation circuit for behavior counter. In one embodiment, the invention is directed to matching a circuit to be implemented in a general purpose performance meter ("GPPC") connected to a bus carrying debug data. The correspondence circuit comprises a logic system for activating a correspondence signal when a selected portion of N bits of the debug data corresponds to a threshold of N bits for all the bits selected by means of a N bits correspondence mask ("mmask ").

Description

Circuito de adaptación para contador de comportamiento.Adaptation circuit for counter behavior.

Prioridad bajo la sección 119(e) del título 35 del Código de Estados Unidos y la sección 1.78 del capítulo 37 del Código de Reglamentos Federales.Priority under section 119 (e) of the Title 35 of the United States Code and section 1.78 of the Chapter 37 of the Code of Federal Regulations.

Esta solicitud no provisional reivindica prioridad basándose en la siguiente solicitud de patente estadounidense provisional anterior titulada: "General Purpose Counters for Performance, Debug and Coverage", número de solicitud: 60/469.180, presentada el 9 de mayo de 2003 a nombre(s) de Richard W. Adkisson y Tyler J. Johnson, la cual se incorpora a modo de referencia en el presente documento.This non-provisional application claims priority based on the following prior provisional US patent application entitled: " General Purpose Counters for Performance, Debug and Coverage, " application number: 60 / 469,180, filed May 9, 2003 in the name (s) by Richard W. Adkisson and Tyler J. Johnson, which is incorporated by reference herein.

Referencia a solicitudes relacionadasReference to related requests

Esta solicitud está relacionada con la solicitud de patente estadounidense número de serie ____ , presentada ____ titulada COVERAGE CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente 200208996-1); la solicitud de patente estadounidense número de serie ____ , presentada ____ titulada COVERAGE DECODER CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente 200208997-1); la solicitud de patente estadounidense número de serie ____, presentada ____ titulada DATA SELECTION CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente 200209000-1); la solicitud de patente estadounidense número de serie ____, presentada ____, titulada ZEROING CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente 20029001-1); la solicitud de patente estadounidense número de serie ____, presentada ____ titulada GENERAL PURPOSE PERFORMANCE COUNTER (N° de Expediente 200208999-2); y la solicitud de patente estadounidense número de serie ____, presentada ____ titulada INCREMENT / DECREMENT CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente

\hbox{200208998-1);}
todas las cuales se incorporan en el presente documento a modo de referencia a su totalidad.This application is related to the US patent application serial number ____, filed ____ entitled COVERAGE CIRCUIT FOR PERFORMANCE COUNTER (File No. 200208996-1); US Patent Application Serial Number ____, filed ____ entitled COVERAGE DECODER CIRCUIT FOR PERFORMANCE COUNTER (File No. 200208997-1); U.S. patent application serial number ____, filed ____ entitled DATA SELECTION CIRCUIT FOR PERFORMANCE COUNTER (File No. 200209000-1); US patent application serial number ____, filed ____, entitled ZEROING CIRCUIT FOR PERFORMANCE COUNTER (File No. 20029001-1); US patent application serial number ____, filed ____ entitled GENERAL PURPOSE PERFORMANCE COUNTER (File No. 200208999-2); and U.S. patent application serial number ____, filed ____ entitled INCREMENT / DECREMENT CIRCUIT FOR PERFORMANCE COUNTER (File No.
 \ hbox {200208998-1);} 
all of which are incorporated herein by way of reference in their entirety.

El tema descrito en las siguientes solicitudes de patentes estadounidenses, de propiedad común, en tramitación junto con la presente: (i) A BUS INTERFACE MODULE, presentada el 28 de marzo de 2003; N° de Solicitud 10/402.092; y (ii) AN INTEGRATED CÍRCUIT, presentada el 28 de marzo de 2003; N° de Solicitud 10/402.034, se incorpora en el presente documento a modo de referencia.The topic described in the following requests for US patents, common property, in process together hereby: (i) A BUS INTERFACE MODULE, filed on 28 March 2003; Application No. 10 / 402.092; and (ii) AN INTEGRATED CÍRCUIT, filed on March 28, 2003; Application Number 10 / 402.034, is incorporated herein by way of reference.

Antecedentes de la invenciónBackground of the invention

La demanda creciente de escalabilidad de los sistemas informáticos (es decir, precio y rendimiento convenientes y mayor número de procesadores), combinada con los crecimientos en el rendimiento de los componentes individuales, sigue llevando a los fabricantes de sistemas a optimizar las arquitecturas del núcleo del sistema. Uno de estos fabricantes de sistemas ha introducido un sistema servidor que satisface estas demandas de escalabilidad con una familia de circuitos integrados de aplicación específica ("ASIC") que proporciona escalabilidad a decenas o centenares de procesadores, al tiempo que mantiene un alto grado de rendimiento, fiabilidad y eficacia. El elemento clave ASIC en esta arquitectura de sistemas es un controlador de celdas ("CC"), que es una interconexión de procesador

\hbox{- entrada
/}
salida - memoria, y es responsable de las comunicaciones y transferencias de datos, de la coherencia de la memoria caché y de proporcionar una interfaz a otras jerarquías del subsistema de memoria.The growing demand for scalability of computer systems (i.e., convenient price and performance and greater number of processors), combined with growth in the performance of individual components, continues to lead system manufacturers to optimize the core architectures of the system. One of these system manufacturers has introduced a server system that meets these scalability demands with a family of application-specific integrated circuits ("ASICs") that provides scalability to tens or hundreds of processors, while maintaining a high degree of performance. , reliability and efficiency. The key ASIC element in this systems architecture is a cell controller ("CC"), which is a processor interconnect
 \ hbox {- entry
/} 
output - memory, and is responsible for communications and data transfers, for the consistency of the cache memory and for providing an interface to other hierarchies of the memory subsystem.

En general, el CC comprende varias unidades funcionales principales, incluyendo una o varias interfaces de procesador, unidades de memoria, controladores de entrada / salida, e interfaces crossbar externas, todas interconectadas a través de una ruta central de datos ("CDP", Central Data Path). Las señales internas procedentes de estas unidades se reúnen en un bus de monitorización del rendimiento ("PMB", Performance Monitor Bus). Uno o varios contadores de rendimiento especializados, o monitores de rendimiento, se conectan al PMB y son útiles para reunir datos procedentes del PMB para utilizarlos al depurar y valorar el rendimiento del sistema del cual el CC es una parte. Actualmente, cada uno de los contadores de rendimiento es capaz de reunir datos procedentes únicamente de una porción seleccionada previamente del PMB, de tal manera que la combinación de todos los contadores de rendimiento juntos puede reunir todos los datos del PMB. Mientras que esta disposición es útil en algunas situaciones, existen otras muchas situaciones en las que sería ventajoso que uno o más de los contadores de rendimiento tuviera acceso a datos procedentes de la misma porción del PMB. De forma adicional, sería ventajoso ser capaz de utilizar los contadores de rendimiento para determinar la cobertura de prueba. Estas aplicaciones no se satisfacen por medio de los contadores de rendimiento del estado actual de la técnica.In general, the CC comprises several units main functions, including one or more interfaces of processor, memory units, input / output controllers, and external crossbar interfaces, all interconnected through a central data path ("CDP"). The Internal signals from these units meet on a bus Performance Monitoring ("PMB", Performance Monitor Bus) One or more specialized performance counters, or performance monitors, connect to the PMB and are useful for collect data from the PMB to use when debugging and assess the performance of the system of which the CC is a part. Currently, each of the performance counters is capable of gather data from only a selected portion previously from the PMB, so that the combination of all performance counters together can gather all the data of the PMB While this provision is useful in some situations, there are many other situations in which it would be advantageous for one or more of the performance counters had access to data from the same portion of the PMB. Additionally, it would be advantageous being able to use performance counters to Determine the test coverage. These applications are not meet through the state performance counters Current technique.

Sumario Summary

En una realización, la invención está dirigida a un circuito de correspondencia para la implementación en un contador de rendimiento de uso general ("GPPC", General Purpose Performance Counter) conectado a un bus que porta datos de depuración. El circuito de correspondencia comprende un sistema de lógica para activar una señal de correspondencia cuando una porción seleccionada de N bits de los datos de depuración corresponda a un valor umbral de N bits para todos los bits seleccionados por una máscara de correspondencia de N bits ("mmask").In one embodiment, the invention is directed to a correspondence circuit for implementation in a General Purpose Performance Counter ("GPPC", General Purpose Performance Counter) connected to a bus that carries data from depuration. The correspondence circuit comprises a system of logic to activate a correspondence signal when a portion selected from N bits of the debug data correspond to a threshold value of N bits for all bits selected by a N-bit correspondence mask ("mmask").

Breve descripción de los dibujosBrief description of the drawings

La figura 1 es un diagrama de bloques que ilustra la recopilación de datos de uso general en un diseño lógico;Figure 1 is a block diagram illustrating the collection of general purpose data in a logical design;

la figura 2 es un diagrama de bloques de un contador de rendimiento de uso general según una realización;Figure 2 is a block diagram of a general purpose performance counter according to one embodiment;

la figura 3 es un diagrama de bloques más detallado del contador de rendimiento de uso general de la figura 2 en el que se ilustra una realización de un circuito de correspondencia / umbral; yFigure 3 is a block diagram Detailed of the general purpose performance counter of Figure 2 in which an embodiment of a circuit is illustrated correspondence / threshold; Y

la figura 4 ilustra un método en el que se representan las señales desde un bus de observabilidad a un contador de rendimiento según una realización.Figure 4 illustrates a method in which represent the signals from an observability bus to a performance counter according to one embodiment.

Descripción detallada de los dibujosDetailed description of the drawings

En los dibujos, los elementos iguales o similares están indicados con los mismos números de referencia en las distintas vistas de los mismos, y los diversos elementos representados no están necesariamente dibujados a escala.In the drawings, the same or similar elements they are indicated with the same reference numbers in the different views of them, and the various elements represented are not necessarily drawn to scale.

La figura 1 es un diagrama de bloques de la recopilación de datos de uso general en un diseño lógico. Como se muestra en la figura 1, el espacio 100 de estado de un diseño lógico en consideración se lleva a una recopilación de datos y lógica 102 de selección. La lógica 102 lleva una recopilación de datos de D bits, o bus 104 de observabilidad, que porta una señal depurar_bus de D bits, a una pluralidad de contadores 106(1)-106(M) de rendimiento. En la solicitud de patente estadounidense número de serie 10/402.092, presentada el 28 de marzo de 2003, titulada A BUS INTERFACE MODULE (N° de Expediente 200208674-1), y en la solicitud de patente estadounidense número de serie 10/402.034, presentada el 28 de marzo de 2003, titulada AN INTEGRATED CIRCUIT (N° de Expediente

\hbox{200209004-1),}
cada una de las cuales se incorpora en el presente documento por referencia a su totalidad, se proporcionan detalles de una realización de la lógica 102 y del bus 104.Figure 1 is a block diagram of the general purpose data collection in a logical design. As shown in Fig. 1, the status space 100 of a logical design under consideration is led to a data collection and selection logic 102. Logic 102 carries a collection of D bit data, or observability bus 104, which carries a debug bus signal of D bits, to a plurality of performance counters 106 (1) -106 (M). In U.S. Patent Application Serial Number 10 / 402,092, filed on March 28, 2003, entitled A BUS INTERFACE MODULE (File No. 200208674-1), and in U.S. Patent Application Serial Number 10 / 402,034, filed on March 28, 2003, titled AN INTEGRATED CIRCUIT (File No.
 \ hbox {200209004-1),} 
each of which is incorporated herein by reference in its entirety, details of an embodiment of logic 102 and bus 104 are provided.

En una realización, D es igual a 80, M es igual a 12, y los contadores 106(1)-106(M-1) de rendimiento son contadores de rendimiento de uso general, mientras que el contador 106(M) de rendimiento restante aumenta en cada ciclo de reloj. Como se ilustrará posteriormente, los contadores de rendimiento de uso general son de "uso general" ya que cada uno de ellos es capaz de obtener acceso a cualquier bit de los 80 bits del bus 104; además, todos ellos pueden acceder al mismo bloque de bits y realizar los mismos o diferentes cálculos de rendimiento en el mismo.In one embodiment, D is equal to 80, M is equal to 12, and the counters 106 (1) -106 (M-1) of performance are general purpose performance counters while that the counter 106 (M) of remaining performance increases by Each clock cycle. As will be illustrated later, the General purpose performance counters are "general purpose" since each of them is able to get access to any bit of the 80 bits of bus 104; In addition, all of them can access the same block of bits and perform the same or different calculations of performance in it.

La figura 2 es un diagrama de bloques de un contador 200 de rendimiento de uso general que es idéntico, en todos los aspectos, a cada uno de los contadores 106(1) - 106(M) de rendimiento (figura 1), según una realización. Como se describirá posteriormente con mayor detalle, el contador 200 de rendimiento puede utilizarse para llevar a cabo operaciones de uso general para extraer información sobre el rendimiento, la depuración o la cobertura en relación con cualquier sistema bajo prueba (SUT) tal como, por ejemplo, el espacio 100 de estado del sistema mostrado en la figura 1. El contador 200 de rendimiento incluye un circuito 201 AND / OR, un circuito 202 de correspondencia / umbral, un circuito 204 sm_sel, un circuito 206 cero y un circuito 208 contador.Figure 2 is a block diagram of a general purpose performance counter 200 which is identical, in all aspects, to each of the counters 106 (1) - 106 (M) performance (Figure 1), according to one embodiment. How will be described later in greater detail, the counter 200 of performance can be used to carry out usage operations general to extract information about performance, the debugging or coverage in relation to any system under test (SUT) such as, for example, the status space 100 of the system shown in figure 1. The performance counter 200 includes a circuit 201 AND / OR, a circuit 202 of correspondence / threshold, a circuit 204 sm_sel, a circuit 206 zero and a 208 meter circuit.

En general, el circuito 201 AND / OR permite acceso a todos los bits de la señal depurar_bus que entran en el contador 200 de rendimiento a través del bus 104 de observabilidad. En una realización, según se muestra en las figuras 2 y 3, la señal depurar_bus es una señal de 80 bits. Cuando el circuito 201 AND / OR está funcionando en el modo AND, el circuito activa una señal "inc" hacia el circuito 208 contador, si están todos los bits de la señal depurar_bus, más dos bits que están adjuntados a la misma, como se describirá posteriormente de forma detallada, los cuales son de interés (como se indica mediante el valor de una "máscara" de 80 bits, más dos bits que están adjuntos a la misma). Cuando el circuito 201 AND / OR está funcionando en el modo OR, el circuito activa la señal inc hacia el circuito 208 contador si se encuentra uno cualquiera o varios de los bits de la señal depurar_bus, más los dos bits adicionales que son de interés (según se indica por el valor de la máscara más los dos bits adicionales).In general, circuit 201 AND / OR allows access to all bits of the debug_bus signal entering the performance counter 200 through observability bus 104. In one embodiment, as shown in Figures 2 and 3, the signal debug_bus is an 80-bit signal. When circuit 201 AND / OR It is operating in AND mode, the circuit activates a signal "inc" to circuit 208 counter, if all bits are of the debug_bus signal, plus two bits that are attached to the same, as will be described later in detail, the which are of interest (as indicated by the value of a 80-bit "mask", plus two bits that are attached to the same). When circuit 201 AND / OR is operating in mode OR, the circuit activates the inc signal to the counter circuit 208 if any one or more of the signal bits are found debug_bus, plus the two additional bits that are of interest (depending on It is indicated by the mask value plus the two bits additional).

Cuando el circuito 202 de correspondencia / umbral está funcionando en el modo "correspondencia", una porción 300 de correspondencia (figura 3) del circuito activa una señal correspondencia_umbral_evento al circuito 201 AND / OR cuando una porción de N bits de la señal depurar_bus seleccionada, como se describirá posteriormente de forma detallada en relación con el circuito 204 sm_sel y el circuito 206 cero, corresponde a un valor umbral de N bits para todos los bits seleccionados por una máscara de correspondencia ("mmask") de N bits. En particular, para todos los bits de la porción seleccionada de la señal de N bits de depuración de bus que son "indefinidos", el bit correspondiente de mmask estará ajustado a 0; de forma inversa, para todos los bits de la porción seleccionada de la señal de N bits de depuración de bus que no son "indefinidos", el bit correspondiente de mmask estará ajustado a 1. La señal correspondencia_umbral_evento es uno de los dos bits adjuntados a la señal depurar_bus. En la realización ilustrada, N es igual a 16.When correspondence circuit 202 / threshold is working in the "correspondence" mode, a correspondence portion 300 (figure 3) of the active circuit a event_machine_response signal to circuit 201 AND / OR when a portion of N bits of the selected debug_bus signal, as will describe later in detail in relation to the circuit 204 sm_sel and circuit 206 zero, corresponds to a value N bit threshold for all bits selected by a mask of correspondence ("mmask") of N bits. In particular, for all bits of the selected portion of the N bits signal of bus debugging that are "undefined", the corresponding bit of mmask will be set to 0; conversely, for all bits of the selected portion of the N-bit debug signal from bus that are not "undefined", the corresponding bit of mmask will be set to 1. The event_moral_responsibility signal is one of the two bits attached to the debug_bus signal. In the Illustrated embodiment, N equals 16.

En general, cuando el circuito 202 correspondencia / umbral está funcionando en el modo de correspondencia, la porción 300 de correspondencia detecta en la señal depurar_bus cualquier patrón binario arbitrario de hasta N bits alineado en delimitaciones de bloques de 10 bits. Esto incluye el hacer corresponder un uno, cero o "indefinido" ("X") en cualquier bit. Esto permite la detección de paquetes específicos o grupos específicos de paquetes o estados.In general, when circuit 202 correspondence / threshold is working in the mode of correspondence, the correspondence portion 300 detects in the debug_bus signal any arbitrary binary pattern of up to N bits aligned in 10-bit block delimitations. This includes matching one, zero or "undefined" ("X") in any bit. This allows the detection of specific packages or specific groups of packages or states.

En una realización, la porción 300 de correspondencia comprende un circuito NOR exclusivo ("XNOR"), representado en la figura 3 mediante una única compuerta 301a XNOR, para expresar un NOR exclusivo a nivel de bits ("XNORing") en una porción seleccionada de N bits de la señal depurar_bus emitida desde el circuito 204 sm_sel, tal como se describirá posteriormente de forma detallada, con un umbral de N bits que puede emitirse desde un registro 307 del estado de control ("CSR"), por ejemplo. Una salida de señal de N bits (es decir, una primera salida intermediaria) procedente del circuito XNOR (representada por la compuerta 301a XNOR, aunque puede haber hasta N compuertas) se introduce en un circuito OR, representado en la figura 3 mediante una compuerta 301b OR única, en la que se expresa un OR a nivel de bits con la inversa de la máscara mmask de N bits, que puede ser proporcionada, en una realización, por un CSR 305. La salida de N bits (es decir, una segunda salida intermediaria) del circuito OR, representado por la compuerta 301b OR, (generándose cada uno de los N bits de la salida por una compuerta OR de 2 entradas de señales) se introduce a una compuerta 301c AND de N bits. La salida de la compuerta 301c AND se introduce a una entrada de un multiplexor (MUX) 301d de dos entradas como una señal de "correspondencia". Cuando el circuito 202 de correspondencia / umbral está funcionando en el modo de correspondencia (mientras se controla por una señal de control de selección, por ejemplo, la señal de control de correspondencia / umbral#), la señal de correspondencia se emite desde el MUX 301d como la señal correspondencia_umbral_evento al circuito AND / OR, como se describió anteriormente.In one embodiment, portion 300 of correspondence comprises an exclusive NOR circuit ("XNOR"), represented in figure 3 by a single gate 301a XNOR, to express a unique bit-level NOR ("XNORing") in a selected portion of N bits of the debug_bus signal emitted from circuit 204 sm_sel, as will be described later in detail, with a threshold of N bits that can be issued from a 307 register of the control state ("CSR"), by example. A signal output of N bits (i.e. a first intermediate output) from the XNOR circuit (represented by the 301st XNOR gate, although there may be up to N gates) introduced into an OR circuit, represented in figure 3 by a single 301b OR gate, in which an OR is expressed at the level of bits with the inverse of the mmask mask of N bits, which can be provided, in one embodiment, by a CSR 305. The output of N bits (that is, a second intermediate output) of the OR circuit, represented by gate 301b OR, (generating each of the N bits of the output through an OR gate with 2 signal inputs) is introduced to a 301c AND N-bit gate. The exit of the 301c AND gate is introduced to an input of a multiplexer (MUX) 301d of two inputs as a signal of "correspondence". When correspondence circuit 202 / threshold is working in correspondence mode (while controls by a selection control signal, for example, the correspondence control signal / threshold #), the signal of Correspondence is issued from MUX 301d as the signal event_moral_map to the AND / OR circuit, as described above.

Como resultado de la operación de la porción 300 de correspondencia, no se requiere lógica aleatoria adicional para decodificar paquetes o estados en señales "one hot", que son señales de 1 bit que cambian a un valor "1" lógico para cada valor del estado. El circuito 202 de correspondencia /umbral requiere un campo de patrón de N bits y un campo de máscara de N bits. Para reducir el número de bits de control requeridos, en la realización mostrada en la figura 3, el campo de patrón de N bits es el mismo campo utilizado para una porción 302 de umbral del circuito 202, tal como se describirá posteriormente, mientras que es poco probable que se utilicen al mismo tiempo la porción 300 de correspondencia y la porción 302 de umbral, especialmente si el circuito 204 sm_sel suministra los mismos N bits a las dos.As a result of the operation of portion 300 of correspondence, no additional random logic is required for decode packets or states in "one hot" signals, which are 1-bit signals that change to a logical "1" value for each state value. The correspondence / threshold circuit 202 requires a pattern field of N bits and a mask field of N bits To reduce the number of control bits required, in the embodiment shown in figure 3, the pattern field of N bits it is the same field used for a 302 threshold portion of the circuit 202, as will be described later, while it is  unlikely that portion 300 of correspondence and the 302 threshold portion, especially if the circuit 204 sm_sel supplies the same N bits to both.

Cuando el circuito 202 correspondencia / umbral está funcionando en el modo "umbral", la porción 302 umbral del circuito 202 activa la señal correspondencia_umbral_evento hacia el circuito 201 AND / OR cuando una porción de S bits de la señal depurar_bus, seleccionada y sustituida con ceros, como se describirá detalladamente más adelante en relación con el circuito 204 sm_sel y el circuito 206 cero, es igual o mayor que el umbral. En la realización ilustrada, S es igual a N/2, u 8.When circuit 202 correspondence / threshold is operating in the "threshold" mode, the 302 threshold portion of circuit 202 activates the event_moral_map signal towards circuit 201 AND / OR when a portion of S bits of the signal debug_bus, selected and replaced with zeros, as will describe in detail later in relation to the circuit 204 sm_sel and circuit 206 zero, is equal to or greater than the threshold. In the illustrated embodiment, S is equal to N / 2, or 8.

Un circuito 303 de cotejo de la porción 302 umbral coteja una señal de suma [7:0] emitida desde el circuito 206 cero, descrito posteriormente, con los S bits menos significativos de la señal de umbral de N bits y emite un uno lógico si la anterior es mayor o igual a la última, y un cero si no lo es. La salida del circuito 303 de cotejo se introduce a una segunda entrada del MUX 301d como una señal de umbral. Cuando el circuito 202 de correspondencia / umbral está funcionando en el modo umbral, la señal de umbral se emite desde el MUX 301d como la señal correspondencia_umbral_evento al circuito AND /OR, como se ha descrito anteriormente.A check circuit 303 of portion 302 threshold checks a sum signal [7: 0] emitted from circuit 206 zero, described later, with the least significant S bits of the N bit threshold signal and emits a logical one if the previous is greater than or equal to the last, and a zero if it is not. The check circuit output 303 is introduced to a second MUX 301d input as a threshold signal. When the circuit 202 correspondence / threshold is operating in threshold mode, The threshold signal is emitted from MUX 301d as the signal correspondence_moral_event to the AND / OR circuit, as has been previously described.

El circuito 204 sm_sel selecciona una porción de N bits de la señal depurar_bus alineada en una delimitación seleccionada de bloques de 10 bits en la porción 300 de correspondencia y la porción 302 de umbral (figura 3) del circuito 302 de correspondencia / umbral y a una entrada de suma del circuito 208 de contador. Como se ha indicado anteriormente, en la realización ilustrada, N es igual a 16. El circuito 206 cero no sustituye por ceros ninguno de los S bits alineados en una delimitación seleccionada de bloques de 10 bits, o los sustituye todos menos uno, en la porción 302 de umbral del circuito 202 de correspondencia / umbral y la entrada de suma del circuito 208 contador. En la realización ilustrada, S es igual a ocho. La delimitación seleccionada de bloques de 10 bits es identificado por el valor de una señal sm_sel de control de tres bits introducida al circuito 204 sm_sel.Circuit 204 sm_sel selects a portion of N bits of the debug_bus signal aligned in a delimitation selected from 10-bit blocks in portion 300 of correspondence and threshold portion 302 (figure 3) of the circuit 302 correspondence / threshold and to a sum entry of counter circuit 208. As indicated above, in the illustrated embodiment, N equals 16. Circuit 206 zero does not substitute for zero any of the S bits aligned in a selected delimitation of 10-bit blocks, or replaces them all but one, in threshold portion 302 of circuit 202 of correspondence / threshold and the sum of circuit 208 accountant. In the illustrated embodiment, S equals eight. The Selected delimitation of 10-bit blocks is identified by the value of a three-bit control sm_sel signal introduced to the circuit 204 sm_sel.

En la solicitud de patente estadounidense n° de serie ____, presentada ____, titulada DATA SELECTION CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente 200209000-1) y en la solicitud de patente estadounidense n° de serie ____, presentada ____, titulada ZEROING CIRCUIT FOR PERFORMANCE COUNTER (N° de Expediente 200209001-1) se proporcionan detalles adicionales relativos al funcionamiento del circuito 204 sm_sel y al circuito 206 cero.In U.S. Patent Application No. ____ series, submitted ____, entitled DATA SELECTION CIRCUIT FOR PERFORMANCE COUNTER (File No. 200209000-1) and in US patent application serial number ____, filed ____, entitled ZEROING CIRCUIT FOR PERFORMANCE COUNTER (File No. 200209001-1) are provided additional details regarding the operation of circuit 204 sm_sel and circuit 206 zero.

En una realización, cada contador de rendimiento de uso general, tal como el contador 200 de rendimiento, tiene 48 bits de exceso. El contador 200 de rendimiento es de uso general en el sentido de que busca, en los D bits de la señal depurar_bus, una máscara de evento más dos eventos extras, ocho selecciones independientes de 16 bits para la operación de comparar la correspondencia y ocho selecciones independientes de ocho bits para las operaciones de comparar el umbral y de acumulación. Los ocho bits para las operaciones de comparar el umbral y de acumulación son los ocho bits inferiores de los 16 bits seleccionados para la operación de comparar la correspondencia. Esos 16 bits se alinean en delimitaciones de 10 ranuras, tal como se muestra en una disposición de representación a modo de ejemplo ilustrada en la figura 4.In one embodiment, each performance counter general purpose, such as the performance counter 200, has 48 excess bits The performance counter 200 is commonly used in the sense that it searches, in the D bits of the debug_bus signal, a event mask plus two extra events, eight selections 16-bit independent for the operation of comparing the correspondence and eight independent eight-bit selections for the operations of comparing the threshold and accumulation. The eight bits for the operations of comparing the threshold and accumulation are the lower eight bits of the 16 bits selected for the operation of comparing correspondence. Those 16 bits line up in delimitations of 10 slots, as shown in a exemplary representation arrangement illustrated in the figure 4.

En la figura 4, una señal 400 de evento comprende la señal depurar_bus, indicada en la figura 4 mediante el numeral de referencia 401, la señal correspondencia_umbral_evento, indicada por el número de referencia 402, y un bit 1 lógico, indicado mediante el número de referencia 404. La señal 401 depurar_bus comprende bits [79:0] de la señal 400 de eventos; la señal 402 correspondencia_umbral_evento comprende el bit [80] de la señal de eventos; y el bit 404 1 lógico comprende el bit [81] de la señal de eventos.In Figure 4, an event signal 400 comprises the debug_bus signal, indicated in figure 4 by the numeral reference 401, the event_moral_map signal, indicated by reference number 402, and a logical bit 1, indicated by reference number 404. Signal 401 debug_bus it comprises bits [79: 0] of signal 400 of events; signal 402 event_lightmap corresponds to bit [80] of the signal events; and the logical bit 404 1 comprises bit [81] of the signal of events

Como se ilustra mejor en la figura 3, la señal 400 de eventos (es decir, la señal depurar_bus con la señal correspondencia_umbral_evento y el 1 lógico adjuntado a la misma) se introducen a una primera etapa 304 lógica del circuito 201 AND / OR con objetivos que se describirán posteriormente de forma detallada.As best illustrated in Figure 3, the signal 400 events (that is, the debug_bus signal with the signal correspondence_moral_evento and the logical 1 attached to it) logic circuit 201 AND / are introduced to a first stage 304 OR with objectives that will be described later detailed.

Haciendo referencia nuevamente a la figura 4, una señal 410 de máscara compuesta comprende una señal de máscara de 80 bits, indicada mediante el número de referencia 412, un bit de máscara correspondencia_umbral_evento ("TM"), indicado mediante el número de referencia 414, y un bit de acumulación ("acc"), indicado mediante el número de referencia 416. La señal 412 de máscara comprende bits [79:0] de la señal 410 de máscara compuesta; el bit 414 TM comprende el bit [80] de la señal de máscara compuesta, y el bit 416 acc comprende el bit [81] de la señal de máscara compuesta. Como se ilustra mejor en la figura 3, cada bit de la máscara 410 compuesta (es decir, la señal de máscara con los bits TM y acc adjuntados a la misma) se introduce a la primera etapa 304 lógica del circuito 201

\hbox{AND /}
OR con objetivos que se describirán posteriormente de forma detallada.Referring again to FIG. 4, a composite mask signal 410 comprises an 80-bit mask signal, indicated by reference number 412, a mask_event_moral_response ("TM") bit, indicated by reference number 414, and an accumulation bit ("acc"), indicated by reference number 416. The mask signal 412 comprises bits [79: 0] of the composite mask signal 410; bit 414 TM comprises bit [80] of the composite mask signal, and bit 416 acc comprises bit [81] of the composite mask signal. As best illustrated in Figure 3, each bit of the composite mask 410 (i.e., the mask signal with the TM and acc bits attached thereto) is introduced to the first stage 304 logic of circuit 201
 \ hbox {AND /} 
OR with objectives that will be described later in detail.

Haciendo referencia nuevamente a la figura 4, ocho selecciones de correspondencia de 16 bits alineadas en bloques de 10 bits se indican respectivamente mediante los números de referencia 420(0)-420(7). En particular, la selección 420(0) comprende bits [0:15]; la selección 420(1) comprende bits [10:25]; la selección 420(2) comprende bits [20:35]; la selección 420(3) comprende bits [30:45]; la selección 420 (4) comprende bits [40:55]; la selección 420(5) comprende bits [50:65]; la selección 420(6) comprende bits [60:75]; y la selección 420(7) comprende bits [70:5] (los bits por encima de 79 se convierten nuevamente a ceros).Referring again to Figure 4, eight 16-bit correspondence selections aligned in blocks 10 bits are indicated respectively by the numbers of reference 420 (0) -420 (7). In in particular, selection 420 (0) comprises bits [0:15]; the selection 420 (1) comprises bits [10:25]; the selection 420 (2) comprises bits [20:35]; the selection 420 (3) it comprises bits [30:45]; selection 420 (4) comprises bits [40:55]; selection 420 (5) comprises bits [50:65]; the selection 420 (6) comprises bits [60:75]; and selection 420 (7) comprises bits [70: 5] (bits above 79 become back to zero).

Haciendo referencia nuevamente a la figura 3, la primera etapa 304 lógica comprende una porción AND, representada por una compuerta 304a AND, para expresar AND al nivel de bits en la señal 400 de eventos con la señal 410 de máscara compuesta, y una porción OR, representada por una compuerta 304b OR, para expresar OR al nivel de bits en la inversa de la señal 410 de máscara compuesta con la señal 400 de eventos. Se reconocerá que, aunque en la figura 3 se muestra como una única compuerta 304a AND de dos entradas, la porción AND de la primera etapa 304 lógica comprende realmente 82 compuertas AND de dos entradas. De forma similar, la porción OR de la primera etapa 304 lógica comprende 82 compuertas OR de dos entradas idénticas a la compuerta 304b OR.Referring again to Figure 3, the logical first stage 304 comprises an AND portion, represented by a 304a AND gate, to express AND at the bit level in event signal 400 with compound mask signal 410, and an OR portion, represented by a 304b OR gate, for express OR at the bit level in reverse of signal 410 of mask composed with the signal 400 of events. It will be recognized that, although in figure 3 it is shown as a single gate 304a AND of two inputs, the AND portion of the first stage 304 logic It really comprises 82 AND two-input gates. So similarly, the OR portion of the first logical stage 304 comprises 82 OR gates with two identical inputs to gate 304b OR.

Las salidas de la porción AND de la primera etapa 304 lógica se introducen en una compuerta 306 OR de 82 entradas, cuya salida se introduce en una entrada de un MUX 308 de dos entradas como un "resultado or". De forma similar, las salidas de la porción OR de la primera etapa 304 lógica se introducen en una compuerta 310 AND de 82 entradas, cuya salida se introduce en la otra entrada del MUX 308 como un "resultado and". Una señal de control ("and/or#") que puede generarse desde un CSR (no mostrado) controla si el circuito 201 AND / OR funciona en un modo AND, en cuyo caso el resultado_and se emite desde el MUX 308 como la señal inc, o en el modo OR, en cuyo caso el resultado_or se emite desde el MUX como la señal inc.The outputs of the AND portion of the first stage 304 logic are entered in a 306 OR gate of 82 inputs, whose output is inserted into an input of a MUX 308 of two entries as a "result or". Similarly, the outputs of the OR portion of the first stage 304 logic are introduced in a  310 AND gate of 82 inputs, whose output is entered in the another entry of MUX 308 as a "result and". A sign of control ("and / or #") that can be generated from a CSR (not shown) controls whether circuit 201 AND / OR operates in a mode AND, in which case the result_and is emitted from MUX 308 as the inc signal, or in OR mode, in which case the result_or is emitted from the MUX as the signal inc.

Como resultado, cuando el circuito 201 AND / OR esta funcionando en el modo AND, la señal inc comprende la señal de resultado_and y se activará cuando estén ajustados todos los bits de la señal 400 de eventos que sean de interés, según queda especificado por la máscara 410 compuesta. Cuando el circuito 201 AND / OR está funcionando en el modo OR, la señal inc comprende la señal de resultado_or y se activará cuando esté ajustado cualquiera de los bits de la señal 400 de eventos que sea de interés, según queda especificado por la máscara 410 compuesta.As a result, when circuit 201 AND / OR is operating in AND mode, the inc signal comprises the signal of result_and and will be activated when all bits are set of the signal 400 of events that are of interest, as it remains specified by compound mask 410. When circuit 201 AND / OR is operating in OR mode, the inc signal comprises the result_or signal and will be activated when any of the bits of the event signal 400 of interest, according to is specified by compound mask 410.

El bit 416 acc de la máscara 410 compuesta puede ajustarse mediante el CSR. El ajustar el bit 414 TM en la máscara 410 compuesta designa la señal correspondencia_umbral_evento en la señal de eventos como un bit de interés; no ajustar el bit TM en la máscara compuesta hará que se ignore el valor de la señal correspondencia_umbral_evento en la señal 400 de eventos y, de ahí, el resultado de cualquier operación de correspondencia o de umbral realizada por el circuito 202 de correspondencia / umbral.Bit 416 acc of compound mask 410 can adjust using the CSR. Adjusting bit 414 TM in the mask Composite 410 designates the event_moral_responsibility signal in the event signal as a bit of interest; do not set the TM bit in the compound mask will cause the signal value to be ignored correspondence_moral_event in signal 400 of events and, hence, the result of any correspondence or threshold operation performed by correspondence / threshold circuit 202.

Haciendo referencia nuevamente a la figura 3, se describirá detalladamente el funcionamiento de una realización del circuito 208 contador. El circuito 208 contador es un contador de X bits que puede mantener, incrementar en uno, añadir S bits, eliminar o cargar un valor en un registro 312 de valor de cálculo. También puede tener lugar otro procesamiento para leer el valor del registro 312. En la realización ilustrada en la figura 3, X es igual a 48. El funcionamiento del circuito 208 contador se posibilita ajustando una señal B de capacitación del contador, que comprende una entrada de una compuerta 314 AND de dos, entradas. La otra entrada de la compuerta 314 AND está conectada para recibir la señal inc procedente del circuito 201 AND / OR.Referring again to Figure 3, will describe in detail the operation of an embodiment of the 208 meter circuit. The 208 counter circuit is an X counter bits that you can keep, increase by one, add S bits, delete or load a value into a 312 calculation value record. Other processing can also take place to read the value of the record 312. In the embodiment illustrated in Figure 3, X is equal to 48. The operation of circuit 208 counter is It allows adjusting a counter B training signal, which It comprises an entrance of a 314 AND gate with two inputs. The another gate input 314 AND is connected to receive the inc signal from circuit 201 AND / OR.

De forma correspondiente, cuando el circuito 208 contador está capacitado y la señal inc está activada, se emite desde la compuerta 314 AND un uno lógico. En cualquier otro caso, la salida de la compuerta 314 AND será un cero lógico. La salida de la compuerta 314 AND se replica mediante un replicador 316 de 8x y la señal de 8 bits resultante se expresa a nivel de bits como AND con una señal de 8 bits emitida desde un circuito 318 MUX. Las entradas al circuito 318 MUX son la señal de suma [7:0] emitida desde el circuito 206 cero y una señal de 8 bits, cuyo valor es [00000001]. La señal de suma [7:0] se emitirá desde el circuito 318 MUX cuando la señal acc esté activada; de lo contrario, la señal [00000001] se emitirá desde el circuito MUX.Correspondingly, when circuit 208 counter is enabled and the inc signal is activated, it is emitted from gate 314 AND a logical one. In any other case, the output of gate 314 AND will be a logical zero. The exit of the 314 AND gate is replicated using an 8x 316 replicator and The resulting 8-bit signal is expressed at the bit level as AND with an 8-bit signal emitted from a 318 MUX circuit. The 318 MUX circuit inputs are the sum signal [7: 0] emitted from circuit 206 zero and an 8-bit signal, whose value is [00000001]. The sum signal [7: 0] will be emitted from circuit 318 MUX when the acc signal is activated; otherwise the signal [00000001] will be issued from the MUX circuit.

Un circuito AND, representado por una compuerta 320 AND, expresa AND a nivel de bits en las señales emitidas desde el replicador 316 y desde el circuito 318 MUX. La señal resultante de 8 bits se introduce en un registro 322. Un adicionador 324 añade la señal de 8 bits almacenada en el registro 322 a la suma de 48 bits almacenada en el registro 312 de valor de cálculo. La nueva suma emitida desde el adicionador 324 se introduce en un circuito 326 MUX. Otros dos conjuntos de entradas al circuito 326 MUX se conectan a un cero lógico y a un valor_csr_escribir, respectivamente. Cuando una señal de capacitación csr_escribir al circuito 326 MUX está activada, se emite el valor csr_escribir desde el circuito 326 MUX y se escribe al registro 312 de valor de cálculo. De esta manera, puede cargarse un valor en el registro 312 de valor de cálculo. De forma similar, cuando se afirma la señal limpiar_contador, se emiten 48 bits cero desde el circuito 326 MUX al registro 312 de valor de cálculo, limpiando con ello el registro.An AND circuit, represented by a gate 320 AND, expresses AND at the bit level in the signals emitted from the replicator 316 and from the circuit 318 MUX. The resulting signal 8-bit is entered in a 322 register. A 324 additive adds the 8-bit signal stored in register 322 at the sum of 48 bits stored in register 312 calculation value. The new one sum issued from additive 324 is entered into a circuit 326 MUX. Two other sets of inputs to the 326 MUX circuit are connect to a logical zero and write_csr_value, respectively. When a training signal csr_write at 326 MUX circuit is activated, the csr_write value is issued from circuit 326 MUX and write to register 312 of value of calculation. In this way, a value can be loaded into register 312 of calculation value. Similarly, when the signal is affirmed clean_counter, 48 zero bits are emitted from the 326 MUX circuit to register 312 of calculation value, thereby cleaning the registry.

Si no se afirma ni la señal csr_escribir ni la señal limpiar_contador y se afirma la señal acc, se escribe la salida del adicionador 324 al registro 312 de valor de contador, añadiendo con ello eficazmente S bits (es decir, el valor de la señal de suma [7:0]) al valor anterior del registro 312 de valor de cálculo. El no capacitar el circuito 208 contador da como resultado que se mantenga el registro 312 de valor de cálculo a su valor actual. Finalmente, para incrementar el valor del registro 312 de valor de cálculo en uno, el circuito 208 de cómputo debe estar capacitado, debe estar afirmada la señal inc, y no debe estar afirmada la señal acc.If neither the csr_write signal nor the counter_clean signal and the acc signal is affirmed, the output of additive 324 to register 312 of counter value, effectively adding S bits (that is, the value of the sum signal [7: 0]) to the previous value of register 312 of value of calculation. Failure to train the counter circuit 208 results in that the 312 record of calculation value be maintained at its value current. Finally, to increase the value of register 312 of calculation value in one, the computation circuit 208 must be trained, the inc signal must be affirmed, and must not be affirmed the acc.

Como se describió anteriormente de forma detallada, la figura 4 ilustra que todo el bus 104 de recopilación de datos (figura 1) está disponible para todos los contadores de rendimiento representados por el contador 200 de rendimiento, haciendo de ellos contadores de uso general. Todos los D bits de la señal depurar_bus pueden utilizarse por el circuito 201 AND / OR. Los N bits alineados en delimitaciones de bloques pueden ser seleccionados por el circuito 206 sm_sel, permitiendo total cobertura del bus 104 de observabilidad.As described above in a manner Detailed, Figure 4 illustrates that the entire collection bus 104 of data (figure 1) is available for all the counters of performance represented by the performance counter 200, making them general purpose counters. All D bits of the The debug_bus signal can be used by circuit 201 AND / OR. The N bits aligned in block delimitations can be selected by circuit 206 sm_sel, allowing total Coverage of observability bus 104.

Los contadores de rendimiento anteriores sólo podían hacer corresponder unos o aplicar reglas umbral. La realización descrita en el presente documento, que emplea la porción 300 de correspondencia del circuito 202 de correspondencia / umbral, puede hacer corresponder bits unos, ceros y bits "indefinidos". También puede hacer corresponder grupos de paquetes y estados. Por ejemplo, puede hacer corresponder todos los paquetes con un patrón "10x01" en posiciones de bits 6 a 2, sin tener en cuenta los valores de los otros bits o el bit 4. Elimina la necesidad de que se analice el valor lógico (es decir, se depure, calcule el rendimiento, o se compruebe la cobertura, etc.) para tener un valor lógico adicional para decodificar patrones específicos en señales "one-hot", dando como resultado un contador de rendimiento en el que se implementa un uso más general.The above performance counters only they could match ones or apply threshold rules. The embodiment described herein, which employs the correspondence portion 300 of correspondence circuit 202 /  threshold, can match ones, zeros and bits "undefined." You can also match groups of packages and states. For example, you can match all packets with a pattern "10x01" in bit positions 6 to 2, regardless of the values of the other bits or bit 4. Eliminates the need for the logical value to be analyzed (that is, debug, calculate performance, or check coverage, etc.) to have an additional logical value to decode specific patterns in "one-hot" signals, resulting in a performance counter in which It implements more general use.

Como se ha mencionado anteriormente, los diseños de los contadores de rendimiento de la técnica anterior no eran de uso general ya que tenían un intervalo limitado y únicamente estaban diseñados para cálculos de rendimiento y depuración de un diseño de sistema. Las realizaciones descritas en el presente documento son de uso general ya que el circuito AND / OR puede llevar a cabo cálculos en todo el intervalo del bus 104 de recopilación de datos. Las realizaciones también incorporan el concepto de cobertura. Concretamente, al tener en cuenta estados específicos en un diseño lógico, el diseñador puede determinar qué cantidad del espacio de estado del mismo está siendo cubierta por los vectores de prueba de un conjunto de prueba. El diseñador puede calcular con ello si tienen que realizarse más pruebas y qué necesita añadirse para comprobar por completo todo el diseño.As mentioned above, the designs of the prior art performance counters were not of general use since they had a limited interval and only were designed for performance calculations and debugging a system design The embodiments described herein document are commonly used since the AND / OR circuit can carry out calculations over the entire interval of bus 104 of data collection. The embodiments also incorporate the coverage concept. Specifically, when considering states specific in a logical design, the designer can determine what amount of its status space is being covered by the test vectors of a test set. The designer can calculate with it if more tests have to be done and what It needs to be added to fully check the entire design.

De esta manera, una implementación de la invención descrita en el presente documento proporciona un contador de rendimiento de uso general. Las realizaciones mostradas y descritas se han caracterizado por ser únicamente ilustrativas; por tanto, debería entenderse fácilmente que pueden realizarse allí diversos cambios y modificaciones sin salir del alcance de la presente invención, tal como se expone en las reivindicaciones siguientes. Por ejemplo, mientras que las realizaciones se describen en relación con un ASIC, se apreciará que las realizaciones pueden implementarse en otros tipos de circuitos integrados (IC), tales como conjuntos de chips personalizados, Matrices de Compuertas Programables in-situ (Field Programmable Gate Arrays ("FPGA")), dispositivos lógicos programables (PLD), módulos lógicos de matriz genérica ("GAL"), y similares. Además, mientras que las realizaciones mostradas se implementan empleando dispositivos CSR, se apreciará que las señales de control también pueden aplicarse en una variedad de otras formas, incluyendo, por ejemplo, directamente o aplicadas a través de registros de exploración o Registros Específicos de Modelos (MSR).Thus, an implementation of the invention described herein provides a general purpose performance counter. The embodiments shown and described have been characterized as being illustrative only; therefore, it should be readily understood that various changes and modifications can be made there without departing from the scope of the present invention, as set forth in the following claims. For example, while the embodiments are described in connection with an ASIC, it will be appreciated that embodiments may be implemented in other types of integrated circuits (IC), such as sets of customized chips, arrays Compuertas Programmable in-situ (Field Programmable Gate Arrays ("FPGA")), programmable logic devices (PLD), generic matrix logic modules ("GAL"), and the like. In addition, while the embodiments shown are implemented using CSR devices, it will be appreciated that the control signals can also be applied in a variety of other ways, including, for example, directly or applied through scan registers or Model Specific Registers ( MSR).

De forma adicional, aunque se han ilustrado tamaños de campo de bits específicos en relación con las realizaciones descritas, por ejemplo, el umbral de 16 bits para la correspondencia de patrones (donde se emplean los 8 bits, inferiores para el umbral), la señal de la máscara de 8 bits, el sm_sel de 3 bits, etc., pueden tener otras implementaciones diferentes.Additionally, although they have been illustrated specific bit field sizes in relation to described embodiments, for example, the 16-bit threshold for the pattern matching (where the lower 8 bits are used  for the threshold), the 8-bit mask signal, the sm_sel of 3 bits, etc., may have other different implementations.

De forma correspondiente, se considera que todas estas modificaciones, extensiones, variaciones, correcciones, adiciones, eliminaciones, combinaciones y similares están dentro del ámbito de la presente invención, cuyo alcance únicamente está definido por las reivindicaciones expuestas a continuación.Correspondingly, it is considered that all these modifications, extensions, variations, corrections, additions, deletions, combinations and the like are inside within the scope of the present invention, whose scope is only defined by the claims set forth below.

Claims (22)

1. Circuito de correspondencia para implementarlo en un contador de rendimiento de uso general ("GPPC") conectado a un bus que porta datos de depuración que comprenden 80 bits, comprendiendo el circuito de correspondencia un sistema de lógica para activar una señal de correspondencia cuando una porción seleccionada de N bits de los datos de depuración corresponda a un valor umbral de N bits para todos los bits seleccionados por una máscara de correspondencia de N bits ("mmask").1. Correspondence circuit to be implemented in a general purpose performance counter ("GPPC") connected to a bus that carries debug data comprising 80 bits , the correspondence circuit comprising a logic system to activate a correspondence signal when a selected portion of N bits of the debug data corresponds to a threshold value of N bits for all the bits selected by an N-bit map mask ("mmask"). 2. Circuito de correspondencia de la reivindicación 1, en el que los datos de depuración comprenden ocho porciones de 16 bits alineadas en bloques de 10 bits.2. Correspondence circuit of the claim 1, wherein the debug data comprises eight 16-bit portions aligned in 10-bit blocks. 3. Circuito de correspondencia de la reivindicación 2, en el que la porción seleccionada comprende una de las ocho porciones de 16 bits.3. Correspondence circuit of the claim 2, wherein the selected portion comprises one of the eight portions of 16 bits. 4. Circuito de correspondencia de la reivindicación 1, en el que N es igual a dieciséis.4. Correspondence circuit of the claim 1, wherein N is equal to sixteen. 5. Circuito de correspondencia de la reivindicación 1, en el que el umbral de N bits se proporciona desde un registro del estado de control ("CSR").5. Correspondence circuit of the claim 1, wherein the threshold of N bits is provided from a control status register ("CSR"). 6. Circuito de correspondencia de la reivindicación 1, en el que la máscara mmask de N bits se proporciona desde un registro del estado de control ("CSR").6. Correspondence circuit of the claim 1, wherein the n-bit mmask mask is provides from a control status register ("CSR"). 7. Circuito de correspondencia de la reivindicación 1, en el que el sistema de lógica para activar una señal de correspondencia comprende lógica para comparar un bit binario de la porción seleccionada de datos de depuración con un bit correspondiente del umbral y emitir un bit binario indicativo de si se corresponden los bits comparados.7. Correspondence circuit of the claim 1, wherein the logic system for activating a correspondence signal comprises logic to compare a bit binary of the selected portion of debug data with one bit corresponding threshold and emit a binary bit indicative of whether the bits compared correspond. 8. Conjunto de circuitos para implementarlos en un contador de rendimiento de uso general ("GPPC") conectado a un bus que porta datos de depuración que comprenden 80 bits, comprendiendo el conjunto de circuitos para analizar una porción seleccionada de los datos de depuración:8. Circuit set for implementation in a general purpose performance meter ("GPPC") connected to a bus carrying debug data comprising 80 bits , the circuit set comprising analyzing a selected portion of the debug data:
un medio de lógica para activar. una señal de correspondencia cuando la porción seleccionada de los datos de depuración incluya un patrón específico de bits;a half of logic to activate. a correspondence signal when the portion selected from debug data include a specific pattern of bits;
un medio de lógica para activar una señal de umbral basándose en una comparación entre al menos un subconjunto de la porción seleccionada de datos de depuración y un valor umbral; ya half of logic to activate a threshold signal based on a comparison enter at least a subset of the selected portion of data from debugging and a threshold value; Y
un medio de lógica para emitir una de entre la señal de correspondencia y la señal de umbral como respuesta a una señal de control de selección.a half of logic to issue one of the correspondence signal and the threshold signal in response to a control signal of selection.
9. Conjunto de circuitos de la reivindicación 8, en el que los datos de depuración comprenden ocho porciones de 16 bits alineadas en bloques de 10 bits.9. Circuit assembly of claim 8, in which the debug data comprises eight portions of 16 bits aligned in 10-bit blocks. 10. Conjunto de circuitos de la reivindicación 9, en el que la porción seleccionada comprende una de las ocho porciones de 16 bits.10. Circuit assembly of claim 9, wherein the selected portion comprises one of the eight 16-bit portions 11. Conjunto de circuitos de la reivindicación 8, en el que el medio de lógica para activar una señal de correspondencia comprende además:11. Circuit assembly of claim 8, in which the logic means to activate a signal of correspondence also includes:
un circuito NOR exclusivo ("XNOR") que opera para llevar a cabo una operación XNOR a nivel de bits entre la porción seleccionada de datos de depuración y un registro de umbral que es tan amplio como la porción seleccionada de datos de depuración;a NOR circuit exclusive ("XNOR") that operates to carry out an operation XNOR at the bit level between the selected portion of data from debugging and a threshold record that is as wide as the portion selected debug data;
un circuito OR para expresar con OR una máscara invertida ("mmask") con la salida del circuito XNOR; yan OR circuit to express an inverted mask ("mmask") with the XNOR circuit output; Y
un circuito AND que opera para expresar con AND la salida OR del circuito para generar la señal de correspondencia.an AND circuit which operates to express with AND the OR output of the circuit for Generate the correspondence signal.
12. Conjunto de circuitos de la reivindicación 11, en el que la máscara mmask se proporciona desde un registro del estado de control ("CSR").12. Circuit set of claim 11, in which the mmask mask is provided from a record of the control status ("CSR"). 13. Conjunto de circuitos de la reivindicación 11, en el que el registro de umbral se proporicona como un registro del estado de control ("CSR").13. Circuit set of claim 11, in which the threshold record is provided as a record of the control state ("CSR"). 14. Conjunto de circuitos de la reivindicación 8, en el que el medio de lógica para activar una señal de umbral comprende un circuito de cotejo que emite un uno lógico cuando el subconjunto de la porción seleccionada de datos de depuración es mayor o igual al valor umbral.14. Circuit assembly of claim 8, in which the logic means to activate a threshold signal it comprises a comparison circuit that emits a logical one when the subset of the selected portion of debug data is greater than or equal to the threshold value. 15. Conjunto de circuitos de la reivindicación 8, en el que el medio de lógica para emitir una de entre la señal de correspondencia y la señal de umbral comprende un circuito multiplexor 2:1.15. Circuit assembly of claim 8, in which the logic means to emit one of the signal from correspondence and the threshold signal comprises a circuit 2: 1 multiplexer. 16. Método que puede ponerse en práctica en un contador de rendimiento de uso general ("GPPC") conectado a un bus que porta datos de depuración, que comprenden 80 bits, para analizar una porción seleccionada de los datos de depuración, comprendiendo el método:16. Method that can be implemented in a general purpose performance counter ("GPPC") connected to a bus carrying debug data, comprising 80 bits , to analyze a selected portion of the debug data, the method comprising :
activar una señal de correspondencia cuando la porción seleccionada de los datos de depuración incluye un patrón especificado de bits;activate a correspondence signal when the selected portion of the data Debug includes a specified pattern of bits;
activar una señal de umbral basándose en una comparación entre al menos un subconjunto de la porción seleccionada de datos de depuración y un valor umbral; yactivate a threshold signal based on a comparison between at least one subset of the selected portion of debug data and a threshold value; Y
emitir una de entre la señal de correspondencia y la señal de umbral como respuesta a una señal de control de selección.issue one of between the correspondence signal and the threshold signal as response to a selection control signal.
17. Método de la reivindicación 16, en el que los datos de depuración comprenden ocho porciones de 16 bits alineadas en bloques de 10 bits.17. Method of claim 16, wherein the debug data comprise eight aligned 16-bit portions in blocks of 10 bits. 18. Método de la reivindicaciuón 17, en el que la porción seleccionada comprende una de las ocho porciones de 16 bits.18. Method of claim 17, wherein the selected portion comprises one of eight portions of 16 bits 19. Método de la reivindicación 16, en el que el activar una señal de correspondencia comprende:19. The method of claim 16, wherein the activating a correspondence signal comprises:
llevar a cabo una operación NOR excclusivo a nivel de bits entre la porción seleccionada de datos de depuración y un registro de umbral que es tan amplio como la porción seleccionada de datos de depuración, para crear una primera salida intermediaria;carry out an exclusive NOR operation at the bit level between the portion selected debug data and a threshold record that is as wide as the selected portion of debug data, to create a first intermediary exit;
llevar a cabo una operación OR entre la primera salida intermediaria y una máscara invertida ("mmask") para crear una segunda salida intermediaria; ycarry out an OR operation between the first intermediate exit and a mask inverted ("mmask") to create a second output intermediary; Y
llevar a cabo una operación AND en la segunda salida intermediaria para generar la señal de correspondencia.carry out an AND operation at the second intermediate exit to generate the correspondence signal
20. Método de la reivindicación 19, en el que la máscara mmask se proporciona desde un registro del estado de control ("CSR").20. The method of claim 19, wherein the mmask mask is provided from a control status register ("CSR"). 21. Método de la reivindicación 19, en el que el valor de umbral se proporciona desde un registro del estado de control ("CSR") que funciona como el registro umbral.21. The method of claim 19, wherein the threshold value is provided from a state register of control ("CSR") that functions as the threshold register. 22. Método de la reivindicación 16, en el que el activar una señal umbral comprende el emitir un uno lógico cuando el subconjunto de la porción seleccionada de datos de depuración es mayor o igual al valor umbral.22. Method of claim 16, wherein the activating a threshold signal comprises issuing a logical one when the subset of the selected portion of debug data is greater than or equal to the threshold value.
ES200400068A 2003-08-06 2004-01-14 ADAPTATION CIRCUIT FOR BEHAVIOR COUNTER. Expired - Fee Related ES2231042B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/635373 2003-08-06
US10/635,373 US7331003B2 (en) 2003-05-09 2003-08-06 Match circuit for performance counter

Publications (2)

Publication Number Publication Date
ES2231042A1 ES2231042A1 (en) 2005-05-01
ES2231042B2 true ES2231042B2 (en) 2006-08-16

Family

ID=34573127

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200400068A Expired - Fee Related ES2231042B2 (en) 2003-08-06 2004-01-14 ADAPTATION CIRCUIT FOR BEHAVIOR COUNTER.

Country Status (1)

Country Link
ES (1) ES2231042B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881224A (en) * 1996-09-10 1999-03-09 Hewlett-Packard Company Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle
US6539502B1 (en) * 1999-11-08 2003-03-25 International Business Machines Corporation Method and apparatus for identifying instructions for performance monitoring in a microprocessor
US7093236B2 (en) * 2001-02-01 2006-08-15 Arm Limited Tracing out-of-order data

Also Published As

Publication number Publication date
ES2231042A1 (en) 2005-05-01

Similar Documents

Publication Publication Date Title
US5867644A (en) System and method for on-chip debug support and performance monitoring in a microprocessor
US6003107A (en) Circuitry for providing external access to signals that are internal to an integrated circuit chip package
US5327361A (en) Events trace gatherer for a logic simulation machine
EP0897152B1 (en) Performance counters controlled by programmable logic
EP0240199B1 (en) In-line scan control apparatus for data processor testing
US7308564B1 (en) Methods and circuits for realizing a performance monitor for a processor from programmable logic
US5880671A (en) Flexible circuitry and method for detecting signal patterns on a bus
US9564902B2 (en) Dynamically configurable and re-configurable data path
US7676530B2 (en) Duration minimum and maximum circuit for performance counter
US6009539A (en) Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system
US5887003A (en) Apparatus and method for comparing a group of binary fields with an expected pattern to generate match results
US7475301B2 (en) Increment/decrement circuit for performance counter
US7424397B2 (en) General purpose performance counter
US20040034804A1 (en) Programmable pipeline fabric having mechanism to terminate signal propagation
US5881224A (en) Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle
ES2231042B2 (en) ADAPTATION CIRCUIT FOR BEHAVIOR COUNTER.
US9702933B1 (en) System and method for concurrent interconnection diagnostics field
US7373565B2 (en) Start/stop circuit for performance counter
US20060095670A1 (en) System, method and storage medium for providing an inter-integrated circuit (I2C) slave with read/write access to random access memory
US20050283669A1 (en) Edge detect circuit for performance counter
Crosetto LHCb base-line level-0 trigger 3D-Flow implementation
US7346824B2 (en) Match circuit for performing pattern recognition in a performance counter
US7624319B2 (en) Performance monitoring system
US7331003B2 (en) Match circuit for performance counter
US7475302B2 (en) Decoded match circuit for performance counter

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20050501

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2231042B2

Country of ref document: ES

FD2A Announcement of lapse in spain

Effective date: 20161207