Circuit Simulator Checkpointing via Process Forking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital IC designers face significant time-consuming re-simulation processes when debugging circuit designs, as existing methods require frequent disk accesses to save and restore checkpoint data, which slows down the simulation and re-simulation processes.

Innovation Solution

Implementing a method where the circuit simulator forks a checkpoint process to create suspended checkpoints, allowing for quick resumption of simulations without the need for disk access, by copying memory content and using a 'copy-on-write' technique to share memory until modifications occur, thereby reducing processing time for creating and initiating re-simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the simulator saves checkpoint data to hard disk during simulation, then the checkpoint can be preserved for later re-simulation, but the simulation process becomes slower due to frequent disk accesses

Engineering Contradiction:
Improvecheckpoint preservationVSAvoidsimulation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates a copy of the simulation process at checkpoint moments using process forking. Instead of writing checkpoint data to disk, the system forks a new process that inherits the parent process's memory space, effectively copying the simulation state into a suspended child process that can be resumed later without disk I/O operations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical disk I/O system with an in-memory process management system. By using process forking and memory inheritance, the system eliminates the need for physical disk access to save and restore checkpoints, substituting the mechanical storage system with a memory-based process state management approach.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If the simulator re-simulates the entire circuit to debug internal signals, then detailed waveform data can be obtained, but the debugging process becomes very time-consuming

Engineering Contradiction:
Improvewaveform data detailVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the simulation process into independent checkpoint processes that can be individually managed. By forking the simulation process at checkpoints, the system creates discrete, suspendable process instances that can be resumed selectively, allowing detailed waveform collection only when and where needed rather than continuous full-circuit re-simulation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary process forking at checkpoint moments during the original simulation. By creating suspended checkpoint processes in advance that inherit the simulation state at critical moments, the system prepares ready-to-resume process instances beforehand, eliminating the need for time-consuming full re-simulations when debugging issues.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If the simulator writes waveform data to hard disk frequently, then complete simulation data is preserved, but RAM space is consumed and disk access time increases

Engineering Contradiction:
Improvewaveform data completenessVSAvoiddisk access time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent uses process forking to create copies of the simulation process state in memory rather than copying waveform data to disk. The child processes inherit the parent's memory space containing complete simulation data, preserving information完整性 while keeping all data in RAM accessible to the CPU without disk I/O delays.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7895027B2HDL re-simulation from checkpoints
Publication Date: 2011.02.22 SYNOPSYS INC
  • US7895027B2 patent drawing
  • US7895027B2 patent drawing
  • US7895027B2 patent drawing

AI summary

A computer-based simulation process executes a checkpoint operation while simulating behavior of an electronic circuit by forking an active checkpoint process having the same state as the original simulation process. While simulation time for the simulation process continues to increase after executing the checkpoint operation, simulation time for the checkpoint process remains unchanged so that the checkpoint process remains in the state of the simulation at the simulation time it executed the checkpoint operation (the “checkpoint time”). When the checkpoint process subsequently receives a request to resume simulating the circuit, it forks a new simulation process that mimics the original simulation process as of checkpoint time, and the new simulation process then begins to advance its simulation time, thereby enabling it to re-simulate behavior of the electronic circuit previously simulated by the original simulation process starting from the checkpoint time.