Programmable clock division methodology with in-context frequency checking

US9910954B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9910954-B2
Application numberUS-201615165058-A
CountryUS
Kind codeB2
Filing dateMay 26, 2016
Priority dateMay 26, 2016
Publication dateMar 6, 2018
Grant dateMar 6, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system, and compute program product use a generalized macro or a generalized macro timing abstract for a timing analysis in a specific timing context. The method includes setting up a timer, and determining a divide ratio of each external clock divider of one or more external clock dividers associated with the generalized macro or the generalized macro timing abstract programmatically as a function of another value. The method also includes performing the timing analysis using the divide ratios of the one or more external clock dividers. Obtaining a physical implementation of an integrated circuit is based on the timing analysis.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of using a generalized macro or a generalized macro timing abstract for a timing analysis in a specific timing context, the method comprising: setting up a timer; determining, using a processor, a divide ratio of each external clock divider of one or more external clock dividers associated with the generalized macro or the generalized macro timing abstract programmatically as a function of another value; performing the timing analysis using the divide ratios of the one or more external clock dividers; and obtaining a physical implementation of an integrated circuit based on the timing analysis, further comprising generating the generalized macro timing abstract based on performing a detailed timing analysis of an associated macro using an initial timing context defined by a fastest expected clock. 2. The method according to claim 1 , wherein the determining the divide ratio of each external clock divider of the one or more external clock dividers as the function of another value includes determining the divide ratio according to a name of a timing signal corresponding with each external clock divider when the timing analysis is a hierarchical timing analysis involving more than one hierarchical level of a design of the integrated circuit. 3. The method according to claim 1 , wherein the determining the divide ratio of each external clock divider of the one or more external clock dividers as the function of another value includes determining the divide ratio based on a constraint at an input port of the generalized macro associated with each external clock divider. 4. The method according to claim 1 , wherein the determining the divide ratio of each external clock divider of the one or more external clock dividers as the function of another value includes determining the divide ratio for the generalized macro timing abstract based on a look-up table. 5. The method according to claim 1 , further comprising performing a cross domain check to verify the generalized macro timing abstract for the specific timing context based on the generalized macro timing abstract including a launch latch that sends data and a capture latch that receives data from the launch latch, wherein the launch latch and the capture latch are associated with two different external clock dividers. 6. The method according to claim 5 , wherein the performing the cross domain check includes comparing an effective cycle time value computed for the initial timing context with the effective cycle time value computed for the specific timing context. 7. The method according to claim 6 , further comprising computing the effective cycle time value according to: GCD+capture_edge−launch_edge,where GCD is a greatest common divider of clock cycles of the two different external clock dividers, launch_edge is a time of a clock edge of a clock signal driving the launch latch, and capture_edge is a time of a clock edge of a clock signal driving the capture latch. 8. A system to use a generalized macro or generalized macro timing abstract for a timing analysis in a specific timing context, the system comprising: a memory device configured to store the generalized macro or the generalized macro timing abstract with a divide ratio associated with each external clock divider of one or more external clock dividers defined programmatically as a function of another value; and a processor configured to determine the divide ratio associated with each external clock divider of one or more external clock dividers based on the corresponding function and perform the timing analysis, wherein the processor generates the generalized macro timing abstract based on performing a detailed timing analysis of an associated macro using an initial timing context defined by a fastest expected clock. 9. The system according to claim 8 , wherein the processor determines the divide ratio associated with each external clock divider of the one or more external clock dividers according to a name of a timing signal corresponding with each external clock divider of the one or more external clock dividers when the timing analysis is a hierarchical timing analysis involving more than one hierarchical level of a design of an integrated circuit. 10. The system according to claim 8 , wherein the processor determines the divide ratio associated with each external clock divider of the one or more external clock dividers based on a constraint at an input port of the generalized macro associated with the clock divider. 11. The system according to claim 8 , wherein the processor determines the divide ratio for each external clock divider of the one or more external clock dividers associated with the generalized macro timing abstract based on a look-up table. 12. The system according to claim 8 , wherein the processor performs a cross domain check to verify the generalized macro timing abstract for the specific timing context based on the generalized macro timing abstract including a launch latch that sends data and a capture latch that receives data from the launch latch, wherein the launch latch and the capture latch are associated with two different external clock dividers. 13. The system according to claim 12 , wherein the processor performs the cross domain check based on comparing an effective cycle time value computed for the initial timing context with the effective cycle time value computed for the specific timing context, and the processor computes the effective cycle time value according to: GCD+capture_edge−launch_edge,where GCD is a greatest common divider of clock cycles of the two different external clock dividers, launch_edge is a time of a clock edge of a clock signal driving the launch latch, and capture_edge is a time of a clock edge of a clock signal driving the capture latch. 14. A non-transitory computer program product for using a generalized macro or a generalized macro timing abstract for a timing analysis in a specific timing context, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to perform a method comprising: setting up a timer; determining a divide ratio of each external clock divider of one or more external clock dividers associated with the generalized macro or the generalized macro timing abstract programmatically as a function of another value; performing the timing analysis using the divide ratios of the one or more external clock dividers; obtaining a physical implementation of an integrated circuit based on the timing analysis; and generating the generalized macro timing abstract based on performing a detailed timing analysis of an associated macro using an initial timing context defined by a fastest expected clock. 15. The computer program product according to claim 14 , wherein the determining the divide ratio of each external clock divider of the one or more external clock dividers as the function of another value includes determining the divide ratio according to a name of a timing signal corresponding with each external clock divider when the timing analysis is a hierarchical timing analysis involving more than one hierarchical level of a design of the integrated circuit. 16. The computer program product according to claim 14 , wherein the determining the divide ratio of each external clock divider of the one or more external clock dividers as the function of another value includes determining the divide ratio based on a constraint at an input port of the generalized macro associated

Assignees

Inventors

Classifications

  • Clock trees · CPC title

  • G06F30/398Primary

    Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36) · CPC title

  • Timing analysis or timing optimisation · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9910954B2 cover?
A method, system, and compute program product use a generalized macro or a generalized macro timing abstract for a timing analysis in a specific timing context. The method includes setting up a timer, and determining a divide ratio of each external clock divider of one or more external clock dividers associated with the generalized macro or the generalized macro timing abstract programmatically…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F30/398. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 06 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).