10552562

Leverage Cycle Stealing Within Optimization Flows

PublishedFebruary 4, 2020
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
12 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A computer program product for implementing timing adjustments in an integrated circuit, the computer program product comprising: one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising: program instructions to calculate an input timing slack at an input to a latch by program instructions to subtract an input arrival time to the latch from an input required arrival time of the latch; program instructions to calculate an output timing slack at an output to the latch by program instructions to subtract an output arrival time of the latch from an output required arrival time from the latch; program instructions to perform cycle stealing to improve the output timing slack by program instructions to modify the required arrival time of the latch and the required output arrival time; program instructions to reduce the output timing slack by a pessimism amount; program instructions to perform optimization by program instructions to make design modifications in the integrated circuit to improve the input timing slack and the output timing slack until a desired slack goal is achieved; and program instructions to increase the output timing slack by the pessimism amount.

Plain English Translation

This invention relates to timing adjustments in integrated circuits, specifically addressing the challenge of optimizing timing slacks to ensure reliable operation. Timing slacks represent the difference between actual signal arrival times and required arrival times at circuit components like latches. Improper timing can lead to performance issues or failures. The invention provides a computer program product that calculates input and output timing slacks for a latch. The input timing slack is determined by subtracting the input arrival time from the required arrival time at the latch input. Similarly, the output timing slack is calculated by subtracting the output arrival time from the required arrival time at the latch output. To improve timing margins, the program performs cycle stealing, which adjusts the required arrival times of both the latch input and output. It also reduces the output timing slack by a pessimism amount to account for potential timing uncertainties. Optimization is then performed by modifying the integrated circuit design to enhance both input and output timing slacks until a predefined slack goal is met. Finally, the output timing slack is increased by the pessimism amount to restore the original margin. This approach ensures that timing adjustments are systematically applied, improving circuit reliability while accounting for worst-case scenarios. The method is automated, reducing manual effort and potential errors in timing analysis.

Claim 2

Original Legal Text

2. The computer program product according to claim 1 , further comprising: program instructions perform final power recovery.

Plain English Translation

A system and method for managing power recovery in a computing environment, particularly in scenarios where power loss or interruption occurs. The invention addresses the challenge of ensuring data integrity and system stability during unexpected power disruptions by implementing a final power recovery process. This process involves detecting a power loss event, initiating a controlled shutdown sequence, and restoring system operations once power is restored. The final power recovery includes steps to verify system state consistency, recover any pending operations, and ensure that all critical data is preserved. The system may also include mechanisms to log power events, analyze recovery performance, and optimize future recovery procedures based on historical data. The invention is designed to minimize data loss and downtime, improving reliability in computing systems that are susceptible to power fluctuations. The final power recovery process is integrated into the overall power management framework, ensuring seamless operation and reducing the risk of corruption or incomplete recovery. The system may be implemented in software, hardware, or a combination thereof, and is applicable to various computing platforms, including servers, embedded systems, and IoT devices. The invention enhances system resilience by providing a robust recovery mechanism that operates automatically in response to power-related events.

Claim 3

Original Legal Text

3. The computer program product according to claim 1 , wherein the latch comprises at least one of the following: an unbalanced input timing slack and output timing slack, the output timing slack above a target threshold, or a cycle boundary occurring earlier than an end of an active clock interval.

Plain English Translation

This invention relates to computer program products for optimizing latch-based digital circuits, particularly addressing timing issues in latch designs. The invention focuses on improving latch performance by identifying and mitigating specific timing problems that can degrade circuit reliability and efficiency. The latch includes at least one of the following timing characteristics: an unbalanced input and output timing slack, where the timing margins for input and output signals are not equal; an output timing slack that exceeds a predefined target threshold, indicating excessive delay in signal propagation; or a cycle boundary that occurs earlier than the end of the active clock interval, causing potential timing violations. By detecting these conditions, the invention enables adjustments to latch design or operation to ensure proper synchronization and reduce timing errors. The solution helps maintain signal integrity and performance in digital circuits where latches are used to store and transfer data between clock cycles. This is particularly useful in high-speed or low-power applications where precise timing control is critical. The invention provides a method to analyze and correct latch timing issues, improving overall system reliability and efficiency.

Claim 4

Original Legal Text

4. The computer program product according to claim 1 , wherein program instructions to perform optimization comprises at least one of the following: program instructions to modify a physical size of a logic device in the integrated circuit; program instructions to change a wire size in the integrated circuit; and program instructions to swap design equivalents.

Plain English Translation

This invention relates to optimizing integrated circuit (IC) designs by modifying physical parameters to improve performance, power consumption, or other metrics. The problem addressed is the need for efficient optimization techniques during IC design to enhance functionality while reducing resource usage. The invention involves a computer program product that performs optimization by adjusting specific physical aspects of the IC. One optimization method modifies the physical size of logic devices within the IC, such as transistors or gates, to balance speed, power, and area constraints. Another method changes the wire sizes in the IC to reduce resistance and improve signal integrity. Additionally, the program can swap design equivalents, replacing one component with another functionally equivalent component that offers better performance or lower power consumption. These optimizations are applied during the design phase to refine the IC layout before fabrication, ensuring the final product meets desired specifications while minimizing resource waste. The techniques are particularly useful in modern IC design, where minimizing power consumption and maximizing efficiency are critical. The program automates these adjustments, reducing manual effort and improving design accuracy.

Claim 5

Original Legal Text

5. The computer program product according to claim 1 , wherein the desired slack goal comprises the output timing slack equal to zero.

Plain English Translation

This invention relates to computer program products for optimizing timing slack in digital circuit designs. The problem addressed is ensuring precise timing synchronization in digital circuits, particularly where timing slack—the difference between required and actual signal arrival times—must be minimized or eliminated to prevent errors. The invention involves a computer program product that analyzes and adjusts timing slack in digital circuits. It includes a processor and a memory storing instructions for executing a timing analysis process. The program evaluates signal paths in the circuit to determine timing slack, which is the difference between the required arrival time of a signal and its actual arrival time. The program then adjusts the circuit design to meet a desired slack goal, which in this case is set to zero, meaning the actual signal arrival time exactly matches the required time. This ensures no timing violations occur, improving circuit reliability and performance. The program may also include additional features such as generating reports on timing slack, simulating circuit behavior under different conditions, and providing recommendations for design modifications. By automating the analysis and adjustment of timing slack, the invention reduces manual effort and improves the accuracy of digital circuit design. The focus on zero slack ensures strict adherence to timing constraints, which is critical in high-performance and mission-critical applications.

Claim 6

Original Legal Text

6. The computer program product according to claim 1 , wherein the desired slack goal comprises the input timing slack equal to the output timing slack.

Plain English Translation

A computer program product is designed to optimize timing slack in digital circuits, particularly in integrated circuits (ICs) where timing constraints are critical. The invention addresses the challenge of balancing input and output timing slacks to improve circuit performance and reliability. Timing slack refers to the difference between the required time for a signal to propagate through a circuit and the actual time available, with mismatches potentially causing timing violations or inefficiencies. The program product includes a method for adjusting timing slack in a digital circuit design. It evaluates the input timing slack, which is the difference between the required arrival time of an input signal and its actual arrival time, and the output timing slack, which is the difference between the required departure time of an output signal and its actual departure time. The invention ensures that the input timing slack is equal to the output timing slack, creating a balanced timing distribution across the circuit. This balance helps prevent timing violations, reduces power consumption, and enhances overall circuit performance. The program product may also include additional features, such as analyzing timing constraints, simulating circuit behavior under different conditions, and generating optimized circuit configurations. By dynamically adjusting timing parameters, the invention ensures that the circuit operates within specified timing margins while maintaining efficiency and reliability. This approach is particularly useful in high-speed digital circuits where precise timing control is essential.

Claim 7

Original Legal Text

7. A computer system for implementing timing adjustments in an integrated circuit, the computer system comprising: one or more computer processors, one or more computer-readable storage media, and program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to calculate an input timing slack at an input to a latch by program instructions to subtract an input arrival time to the latch from an input required arrival time of the latch; program instructions to calculate an output timing slack at an output to the latch by program instructions to subtract an output arrival time of the latch from an output required arrival time from the latch; program instructions to perform cycle stealing to improve the input timing slack by program instructions to modify the input required arrival time of the latch and the output arrival time; program instructions to reduce the output timing slack by a pessimism amount; program instructions to perform optimization by program instructions to make design modifications in the integrated circuit to improve the input timing slack and the output timing slack until a desired slack goal is achieved; and program instructions to increase the output timing slack by the pessimism amount.

Plain English Translation

This invention relates to timing adjustments in integrated circuits, specifically addressing the challenge of optimizing timing slacks in latch-based designs. The system calculates input and output timing slacks for a latch by comparing arrival times to required arrival times. Input timing slack is determined by subtracting the input arrival time from the input required arrival time, while output timing slack is calculated by subtracting the output arrival time from the output required arrival time. The system then performs cycle stealing to improve input timing slack by adjusting the input required arrival time and output arrival time. To account for design uncertainties, the output timing slack is reduced by a pessimism amount before optimization. The system then performs optimization by making design modifications to improve both input and output timing slacks until a desired slack goal is met. After optimization, the output timing slack is increased by the previously subtracted pessimism amount to restore conservative timing margins. This approach ensures robust timing closure while accounting for potential variations in the integrated circuit design.

Claim 8

Original Legal Text

8. The computer system according to claim 7 , further comprising: program instructions perform final power recovery.

Plain English Translation

A computer system is designed to manage power states efficiently, particularly in scenarios where power loss or interruption occurs. The system includes a power management module that monitors power conditions and initiates recovery procedures when power is restored. This module ensures that the system can resume operations smoothly after an interruption, minimizing data loss and downtime. The system also includes a memory management module that handles data storage and retrieval during power transitions, ensuring critical data is preserved. Additionally, the system incorporates a backup power source to sustain operations during brief power disruptions, allowing for graceful shutdowns or continued functionality. The system further includes program instructions that execute a final power recovery process, which restores the system to a fully operational state after a power loss event. This recovery process may involve reinitializing hardware components, reloading critical data, and verifying system integrity before resuming normal operations. The system is particularly useful in environments where uninterrupted operation is essential, such as data centers, medical devices, or industrial control systems. The final power recovery instructions ensure that the system can recover from power loss events without manual intervention, improving reliability and reducing maintenance overhead.

Claim 9

Original Legal Text

9. The computer system according to claim 7 , wherein the latch comprises at least one of the following: an unbalanced input timing slack and output timing slack, the output timing slack above a target threshold, or a cycle boundary occurring earlier than an end of an active clock interval.

Plain English Translation

This invention relates to computer systems with improved latch designs for timing optimization. The system addresses timing issues in digital circuits where latches, used to store data between clock cycles, may introduce timing slacks or misalignments that degrade performance. The invention focuses on optimizing latch behavior by addressing three specific timing conditions: unbalanced input and output timing slacks, excessive output timing slack exceeding a target threshold, or a cycle boundary occurring earlier than the end of an active clock interval. These conditions can lead to inefficiencies, such as unnecessary delays or data corruption. The system includes a latch with configurable timing parameters to mitigate these issues. The latch can be adjusted to balance input and output timing slacks, reduce output slack beyond a predefined threshold, or align cycle boundaries with the active clock interval. This ensures more efficient data transfer and processing within the computer system, improving overall performance and reliability. The invention is particularly useful in high-speed digital circuits where precise timing control is critical.

Claim 10

Original Legal Text

10. The computer system according to claim 7 , wherein program instructions to perform optimization comprises at least one of the following: program instructions to modify a physical size of a logic device in the integrated circuit; program instructions to change a wire size in the integrated circuit; and program instructions to swap design equivalents.

Plain English Translation

This invention relates to computer systems for optimizing integrated circuit designs. The problem addressed is the need to improve performance, reduce power consumption, or minimize area usage in integrated circuits by automatically adjusting design parameters. The system includes a processor and memory storing program instructions to analyze and optimize an integrated circuit design. Optimization involves modifying the physical size of logic devices, changing wire sizes, or swapping design equivalents to achieve desired performance, power, or area targets. The system evaluates the impact of these changes and selects the most effective modifications. Logic device resizing adjusts transistor or gate dimensions to balance speed and power. Wire sizing modifies interconnect widths to reduce resistance and improve signal integrity. Design equivalent swapping replaces components with functionally identical but more efficient alternatives. The optimization process may iterate until the design meets specified constraints or performance goals. This approach automates complex design trade-offs, reducing manual effort and improving efficiency in integrated circuit development.

Claim 11

Original Legal Text

11. The computer system according to claim 7 , wherein program instructions to perform final power recovery comprises: program instructions to remove unnecessary output timing slack improvement; and program instructions to remove unnecessary input timing slack improvement.

Plain English Translation

This invention relates to computer systems, specifically to power recovery mechanisms in integrated circuits. The problem addressed is the inefficiency in power consumption due to unnecessary timing slack improvements, which occur when timing margins are overly conservative, leading to wasted power. The system includes a computer with a processor and memory storing program instructions. The instructions perform power recovery by analyzing timing slack in the circuit. Timing slack refers to the difference between the actual signal delay and the required delay for correct operation. Excessive slack indicates that the circuit is operating with more margin than necessary, consuming more power than required. The power recovery process involves two key steps. First, it removes unnecessary output timing slack improvement, which means adjusting the timing of signals sent from one component to another to eliminate excessive delays. Second, it removes unnecessary input timing slack improvement, which involves optimizing the timing of signals received by a component to reduce unnecessary delays. By eliminating these unnecessary timing improvements, the system reduces power consumption while maintaining correct circuit operation. This approach ensures that timing margins are optimized, preventing both performance degradation and excessive power usage. The system dynamically adjusts timing slack based on actual operating conditions, improving energy efficiency without compromising functionality.

Claim 12

Original Legal Text

12. The computer system according to claim 7 , wherein the pessimism amount is based on at least one of the following: the input timing slack; program instructions to estimate a maximum possible slack improvement; and program instructions to calculate a difference between a current cycle boundary time and a time which corresponds with an end of an active clock interval.

Plain English Translation

This invention relates to computer systems that optimize timing analysis, particularly for managing pessimism in timing slack calculations. The system addresses the challenge of accurately estimating timing margins in digital circuits, where excessive pessimism can lead to overdesign and inefficiency, while insufficient pessimism may cause timing violations. The system dynamically adjusts pessimism amounts to improve timing closure and reduce design iterations. The system includes program instructions to estimate input timing slack, which represents the available time margin for signal propagation. It also includes instructions to predict the maximum possible slack improvement, accounting for potential optimizations in subsequent design stages. Additionally, the system calculates the difference between the current cycle boundary time and the end of the active clock interval, ensuring precise alignment with clock timing constraints. These factors collectively determine the pessimism amount, allowing the system to refine timing analysis and enhance circuit performance. The approach reduces unnecessary design conservatism while maintaining reliability, improving both efficiency and accuracy in timing verification.

Patent Metadata

Filing Date

Unknown

Publication Date

February 4, 2020

Inventors

Nathaniel D. Hieter
Kerim Kalafala
Alexander J. Suess

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “LEVERAGE CYCLE STEALING WITHIN OPTIMIZATION FLOWS” (10552562). https://patentable.app/patents/10552562

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/10552562. See llms.txt for full attribution policy.