G06F11/3656

Waveform based reconstruction for emulation

A process is disclosed to identify the minimal set of sequential and combinational signals needed to fully reconstruct the combinational layout after emulation is complete. A minimal subset of sequential and combinational elements is output from the emulator to maximize the emulator speed and limit the utilization of emulator resources, e.g., FPGA resources. An efficient reconstruction of combinational waveforms or SAIF data is performed using a parallel computing grid.

Architecture agnostic replay verfication
11200147 · 2021-12-14 · ·

According to aspects of the disclosure a method is provided, comprising: generating a live execution trace log corresponding to a live execution of a computer program, the live execution being performed by using both hardware emulation and hardware acceleration; generating a first trace entry corresponding to a replay execution of the computer program, the replay execution being performed by using hardware emulation without hardware acceleration, the replay execution being performed based on a set of events that are recorded during the live execution of the computer program; detecting whether the first trace entry is valid based on the live execution trace log; and in response to detecting that the first trace entry is not valid, transitioning into a safe state.

Method for blocking external debugger application from analysing code of software program
11194695 · 2021-12-07 · ·

A method for blocking external debugger application from analysing code of software program installed on computing device. The method including initializing software program including an application program and an internal debugger application. The software program, upon initialization thereof, instructs internal debugger application to load application program in internal debugger application. The internal debugger application is configured to utilize kernel resources of an operating system of the computing device. The method includes executing internal debugger application to set one or more break-points in code of application program to define execution path for code of application program, executing application program as per defined execution path for code thereof, stopping execution of code of application program upon reaching any of one or more break-points therein, and handing control to internal debugger application to provide an address for next instruction to be executed in defined execution path for code of application program.

DEBUGGING ARCHITECTURE FOR SYSTEM IN PACKAGE COMPOSED OF MULTIPLE SEMICONDUCTOR CHIPS
20220198110 · 2022-06-23 ·

A method is described. The method includes maintaining a synchronized count value in each of a plurality of logic chips within a same package. The method includes comparing the count value against a same looked for count value in each of the plurality of logic chips. The method includes each of the plurality of logic chips recording in its respective local memory at least some of its state information in response to each of the plurality of logic chips recognizing within a same cycle that the count value has reached the same looked for count value.

METHODS AND APPARATUSES INVOLVING RADAR SYSTEM DATA PATHS
20220197804 · 2022-06-23 ·

Exemplary aspects for a specific example concern a radar system having sensor circuitry including multiple radar sensors to provide sensor data via multiple virtual channels and multiple data types, a memory circuit with memory buffers, and a bus-interface circuit to control bus interconnects for bus communications involving a radar signal transmitter and the memory circuit. Radar signals are received and processed, via data acquisition path circuitry in multiple circuit paths and via streams of data in response to and to accommodate the operations of the sensor circuitry. A master controller conveys data, via the bus-interface circuit, to the buffers for the sensor data, and generates selectable-type transactions to be linked in selected ones of the buffers, in response to the data provided from the sensor circuitry and based on the sensor data being provided via different ones of the multiple virtual channels and of the multiple data types.

Methods And Apparatus For Selectively Extracting And Loading Register States
20220187899 · 2022-06-16 ·

Integrated circuits may include registers that store register states. Only a subset of the registers may store critical register states. The subset of registers may be specially demarcated, such as using synthesis directions in the hardware description, and may be coupled to dedicated extraction/loading circuitry. The extraction/loading circuitry may be implemented using soft or hard logic or can leverage existing programming or debugging circuitry on a programmable integrated circuit. The extraction/loading mechanism may also be implemented using multiplexers and associated control circuitry, scan chain circuitry, a memory-mapped interface, a tool-instantiated or user-instantiated finite state machine, or external memory interface logic. Accessing critical register states in this way can help improve efficiency with live migration events, debugging, retiming, and other integrated circuit operations.

Automatic Assignment of Device Debug Communication Pins

An apparatus includes a debugger circuit, debug pins, and a test controller circuit. The test controller circuit is configured to, in a programming mode, determine a subset of the debug pins used in programming the apparatus. The test controller circuit is further configured to save a designation of the subset of the debug pins. The test controller circuit is further configured to, in a test mode subsequent to the programming mode, use the designation to route the subset of the debug pins used in programming the apparatus to the debugger circuit for debug input and output with the server.

Semiconductor device and debug system
11360713 · 2022-06-14 · ·

The present invention monitors read data or write data of a CPU without generating any influences on an execution operation of a program. An LSI includes: a processing unit, executing a program; a storage unit, capable of performing a read operation or a write operation; and an internal bus, connected to the processing unit and the storage unit; and a monitoring unit (21). The processing unit is capable of performing a read access or a write access, the read access is outputting a read enable signal (RE) and an address signal (ADD) to the internal bus, and the write access is outputting write data (WD), a write enable signal (WE) and the address signal to the internal bus. The storage unit outputs the read data to the internal bus in response to the read access and stores the write data in response to the write access. The monitoring unit latches the read data or the write data to be sent through the internal bus when an access meeting a set monitoring condition is present.

SEMICONDUCTOR DEVICE AND DEBUGGING SYSTEM
20220179770 · 2022-06-09 ·

A semiconductor device includes a data bus, a data memory, a selector, a processor, and a debug controller. The selector is configured to be controlled by the debug controller to be in either a first selecting state in which the processor transmits a first signal to the data bus and a second selecting state in which the debug controller transmits a second signal to the data bus. The debug controller is configured to control the state of the selector based on the reception state of a predetermined command from an external device as well as the states of a read enable signal and a write enable signal from the processor such that, when the selector is in the second selecting state, the debug controller accesses the data bus via the selector.

HIGH-PERFORMANCE COMPUTING-ORIENTED METHOD FOR AUTOMATICALLY DEPLOYING EXECUTION ENVIRONMENT ALONG WITH JOB

A high-performance computing-oriented method for automatically deploying an execution environment along with a job, including: presetting isolated execution environments at nodes of a high-performance computing system; logging in an isolated execution environment of a login node; carrying out development and debugging on the job and configuration on a job execution environment at the login node, and issuing a job running request to a job management system; assigning compute nodes from the nodes of the high-performance computing system to the job of the user by the job management system, automatically deploying an file system of the user synchronously to the assigned compute nodes along with the job when the job is loaded, and running the job of the user by the corresponding compute nodes; and feeding results back to the login node of the user after running the job is completed, then clearing file systems.