IP Library Granted Patent US 10,354,046
Granted Patent B2
US 10,354,046 · App. 15/810,314 · Granted Jul 16, 2019

Programmable clock division methodology with in-context frequency checking

Inventors: Naiju K Abdul (Bangalore, IN); Jennifer E. Basile (Poughkeepsie, NY); Hemlata Gupta (Hopewell Junction, NY); Kerim Kalafala (Rhinebeck, NY); Jeremy J. Leitzen (Kasson, MN); Stephen G. Shuma (Underhill, VT); Manish Verma (Bangalore, IN); James D. Warnock (Somers, NY); Michael H. Wood (Hopewell Junction, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/5081G06F2217/62G06F2217/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,354,046
App. No.
15/810,314
Granted
Jul 16, 2019
Kind
B2
Abstract

A method, system, and compute program product use a generalized macro or a generalized macro timing abstract for 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.

Claims (23)

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

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 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 non-transitory 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; 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.

9. The computer program product according to claim 8 , 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.

10. The computer program product according to claim 8 , 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 or determining the divide ratio for the generalized macro timing abstract based on a look-up table.

11. The computer program product according to claim 8 , 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, and 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, and computing the effective cycle time value according to:

GCD+capture_ ri sin g _edge−launch_ ri sin g _edge, where

GCD is a greatest common divider of clock cycles of the two different external clock dividers, launch_rising_edge is a time of a rising edge of a clock signal driving the launch latch, and capture_rising_edge is a time of a rising edge of a clock signal driving the capture latch.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: ABDUL, NAIJU K.; BASILE, JENNIFER E.; GUPTA, HEMLATA; KALAFALA, KERIM; LEITZEN, JEREMY J.; SHUMA, STEPHEN G.; VERMA, MANISH; WARNOCK, JAMES D.; WOOD, MICHAEL H.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044103/0399 →
Continuity (2)
Continuation 15165058 · May 26, 2016
Related Publication 20180068051A1 · Mar 8, 2018