G01R31/31705

Highly flexible performance counter and system debug module

According to one general aspect, an apparatus may include a plurality of performance and debug monitoring circuits (PDMCs). Each performance and debug monitoring circuit (PDMC) may include an input stage, a combinatorial stage, and a counter. The input stage may be configured to receive a plurality of input signals, wherein the input signals include: signals from other performance and debug monitoring circuits, signals from combinatorial logic circuits, and configuration values. The combinatorial stage may be configured to perform one or more logical operations on a selected sub-set of the input signals. The counter may be configured to increment based, at least in part, upon a result of the combinatorial stage.

Sequential test access port selection in a JTAG interface

A JTAG interface in an IC includes a test mode select (TMS) pin receiving a TMS signal, a testing test access port (TAP) having a TMS signal input, a debugging test access port (TAP) having a TMS signal and glue logic coupled to receive a first output from the testing TAP and a second output from the debugging TAP. A flip-flop receives input from the testing TAP and the debugging TAP through the glue logic. A first AND gate has output coupled to the TMS signal input of the debugging TAP, and receives input from an output of the flip-flop and the TMS signal. An inverter has an input coupled to receive input from the flip-flop. A second AND gate has output coupled to the TMS signal input of the testing TAP, and receives input from the TMS signal and output of the inverter.

SEMICONDUCTOR DEVICE, DEBUG SYSTEM, AND DEBUG METHOD
20240168089 · 2024-05-23 ·

According to one embodiment, a semiconductor device includes a first chip and a second chip arranged on a substrate, the first chip outputs first time stamp data and first trace data in which a time stamp value is associated with a first execution result obtained by executing software, the second chip outputs second trace data in which a difference value with a marker is associated with a second execution result obtained by executing the software, the second execution result obtained by the second chip executing the software is associated with a third time stamp value calculated based on a second time stamp value and the difference value in a debugger.

DEVICE, SYSTEM AND METHOD TO SUPPORT COMMUNICATION OF TEST, DEBUG OR TRACE INFORMATION WITH AN EXTERNAL INPUT/OUTPUT INTERFACE

Techniques and mechanisms to exchange test, debug or trace (TDT) information via a general purpose input/output (I/O) interface. In an embodiment, an I/O interface of a device is coupled to an external TDT unit, wherein the I/O interface is compatible with an interconnect standard that supports communication of data other than any test information, debug information or trace information. One or more circuit components reside on the device or are otherwise coupled to the external TDT unit via the I/O interface. Information exchanged via the I/O interface is generated by, or results in, the performance of one or more TDT operations to evaluate the one or more circuit components. In another embodiment, the glue logic of the device interfaces the I/O interface with a test access point that is coupled between the one or more circuit components and the I/O interface.

METHODS AND APPARATUS FOR PERFORMING DESIGN FOR DEBUG VIA PROTOCOL INTERFACE
20190219635 · 2019-07-18 · ·

A test system is provided for performing design for debug (DFD) operations. The test system may include a host processor coupled to an auxiliary device. The auxiliary device may include a protocol interface block for communicating with the host processor during normal functional mode. The auxiliary die may further include a circuit under test (CUT) and a hardened DFD hub that can be controlled by the host processor via the protocol interface block. The DFD hub may include a DFD triggering component, a DFD tracing component, and a DFD access component. The host processor may direct the DFD hub to perform DFD operations by sending control signals through the protocol interface block during a debugging mode. Test information gathered using the DFD hub may be fed back to the host processor to help facilitate silicon bring-up, pre-production software stack optimization, and post-production performance metric monitoring.

Extracting debug information from FPGAs in multi-tenant environments

Methods and apparatus are disclosed for programming reconfigurable logic devices such as FPGAs in a multi-tenant server environment. In one example, a computing host includes one or more processors configured to execute a supervisor process and two or more user processes and a single FPGA integrated circuit configured into a plurality of partitions. The partitions include a host logic partition that is accessible only to the supervisor process executing on the computing host, and two or more accelerator partitions. Each of the accelerator partitions is configured to include a virtual debug unit with a logic analyzer that collects logic signals generated by logic within the respective accelerator partition and sends debug data indicating values of the logic signals to one of the user processes. In some examples, the host logic partitions and/or the accelerator partitions can be independently reprogrammed of each other within their respective portions of the single FPGA.

JTAG BUS COMMUNICATION METHOD AND APPARATUS
20190195946 · 2019-06-27 ·

The present disclosure describes using the JTAG Tap's TMS and/or TCK terminals as general purpose serial Input/Output (I/O) Manchester coded communication terminals. The Tap's TMS and/or TCK terminal can be used as a serial I/O communication channel between; (1) an IC and an external controller, (2) between a first and second IC, or (3) between a first and second core circuit within an IC. The use of the TMS and/or TCK terminal as serial I/O channels, as described, does not effect the standardized operation of the JTAG Tap, since the TMS and/or TCK I/O operations occur while the Tap is placed in a non-active steady state.

Address/instruction registers, target domain interfaces, control information controlling all domains
10330729 · 2019-06-25 · ·

This disclosure describes a reduced pin bus that can be used on integrated circuits or embedded cores within integrated circuits. The bus may be used for serial access to circuits where the availability of pins on ICs or terminals on cores is limited. The bus may be used for a variety of serial communication operations such as, but not limited to, serial communication related test, emulation, debug, and/or trace operations of an IC or core design. Other aspects of the disclosure include the use of reduced pin buses for emulation, debug, and trace operations and for functional operations.

Lightweight, low overhead debug bus

According to one general aspect, an apparatus may include an interconnect bus, an interconnect-to-debug bus interface, and a debug bus. The interconnect bus may be configured to connect and manage combinatorial logical blocks during normal operation of a processor and operate synchronous to a core clock. The interconnect-to-debug bus interface may be configured to translate communications between the interconnect bus and the debug bus. The debug bus may include a plurality of debug wrapper circuits arranged in a daisy chain for unidirectional communication, and configured to operate synchronous to the core clock. Each of the plurality of debug wrapper circuits may be configured to: identify if the respective debug wrapper circuit is activated by the debug bus, receive a non-invasive input from a respective combinatorial logic block, and place the non-invasive input from the respective combinatorial logic block on the debug bus.

TECHNIQUES FOR DEBUG, SURVIVABILITY, AND INFIELD TESTING OF A SYSTEM-ON-A-CHIP OR A SYSTEM-ON-A-PACKAGE

Examples include techniques for debug, survivability, and infield testing of a system-on-a-chip (SoC) or system-on-a-package (SoP) that can be configured as a processor. The techniques include using an agent coupled with a network-on-chip (NoC) fabric to launch transaction over the NoC fabric to test or debug agents, devices, or devices coupled to the SoC or SoP and/or interconnected to the NoC fabric.