IP Library Granted Patent US 7,979,819
Granted Patent B2
US 7,979,819 · App. 12/358,793 · Granted Jul 12, 2011

Minterm tracing and reporting

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 7,979,819
App. No.
12/358,793
Granted
Jul 12, 2011
Kind
B2
Abstract

Disclosed are a method, a system and a computer program product for determining and reporting minterms to aid in implementing an engineering change order (ECO). A Minterm Tracing and Reporting (MTR) utility, which executes on a computer system, receives two or more timing points of an optimized netlist, where one or more of the two or more timing points are received from one or more of a user, a memory medium, and/or a network. For example, a timing point is a primary input, a primary output, or a latch point. After receiving the two or more timing points of the optimized netlist, the MTR utility determines two or more minterms of the optimized netlist. In determining the minterms, from one timing point to a next timing point: a polarity at the timing point may be determined, and a forward trace from the timing point to the next timing point is performed to determine the two or more minterms of the optimized netlist. In the forward trace from the timing point to the next timing point, the MTR utility determines two or more logical cones and one or more intersections of the logical cones. The MTR utility reports (e.g., communicates) each of the determined minterms, the determined polarities, and the one or more intersections of logical cones to one or more of a computer-executable application, a network, a memory medium, and/or a display.

Claims (56)

1. A computer-implemented method for minterm tracing and reporting, comprising:

receiving a plurality of timing points;

determining, by a computer, a plurality of minterms, wherein said determining the plurality of minterms includes:

for each timing point of the plurality of timing points:

determining a polarity at the timing point;

determining if a next timing point exists from the plurality of timing points; and

if the next timing point exists, tracing forward from the timing point to the next timing point, wherein said tracing forward includes:

determining one or more minterms of the plurality of minterms;

determining a plurality of logical cones; and

determining one or more intersections of the plurality of logical cones;

reporting the plurality of minterms;

reporting the polarity at each timing point of the plurality of timing points; and

reporting the one or more intersections.

2. The method of claim 1 , wherein said reporting the polarity at each timing point of the plurality of timing points includes reporting the polarity at each timing point of the plurality of timing points to one or more of a computer-executable application, a network, a memory medium, and/or a display.

3. The method of claim 1 , wherein said reporting the one or more intersections includes reporting the one or more intersections to one or more of a computer-executable application, a network, a memory medium, and/or a display.

4. The method of claim 1 , wherein said receiving the plurality of timing points includes receiving at least one timing point of the plurality of timing points from a user, from a memory medium, or from a network.

5. The method of claim 1 , wherein said reporting the plurality of minterms includes reporting the plurality of minterms to one or more of a computer-executable application, a network, a memory medium, and/or a display.

6. A system for minterm tracing and reporting, comprising:

a processor;

a memory medium coupled to the processor; and

a utility including instructions, which when executed on the processor, provides logic for performing the function of:

receiving a plurality of timing points;

determining a plurality of minterms, wherein said determining the plurality of minterms includes:

for each timing point of the plurality of timing points:

determining a polarity at the timing point;

determining if a next timing point exists from the plurality of timing points; and

if the next timing point exists, tracing forward from the timing point to the next timing point, wherein said tracing forward includes:

 determining one or more minterms of the plurality of minterms;

 determining a plurality of logical cones; and

 determining one or more intersections of the plurality of logical cones;

reporting the plurality of minterms;

reporting the polarity at each timing point of the plurality of timing points; and

reporting the one or more intersections.

7. The system of claim 6 , wherein said reporting the polarity at each timing point of the plurality of timing points includes reporting the polarity at each timing point of the plurality of timing points to one or more of a computer-executable application, a network, a display, the memory medium, and/or a second, different, memory medium.

8. The system of claim 6 , wherein said reporting the one or more intersections includes reporting the one or more intersections to one or more of a computer-executable application, a network, a display, the memory medium, and/or a second, different, memory medium.

9. The system of claim 6 , wherein said receiving the plurality of timing points includes receiving at least one timing point of the plurality of timing points from a user, from a network, from the memory medium, or from a second, different, memory medium.

10. The system of claim 6 , wherein said reporting the plurality of minterms includes reporting the plurality of minterms to one or more of a computer-executable application, a network, a second, different, memory medium, and/or a display.

11. A computer program product, comprising:

a non-transitory computer-readable medium; and

program instructions stored on said non-transitory computer-readable medium that when executed on a processing system, cause the processing system to perform the functions of:

receiving a plurality of timing points;

determining a plurality of minterms, wherein said determining the plurality of minterms includes:

for each timing point of the plurality of timing points:

determining a polarity at the timing point;

determining if a next timing point exists from the plurality of timing points; and

if the next timing point exists, tracing forward from the timing point to the next timing point, wherein said tracing forward includes:

 determining one or more minterms of the plurality of minterms;

 determining a plurality of logical cones; and

 determining one or more intersections of the plurality of logical cones;

reporting the plurality of minterms;

reporting the polarity at each timing point of the plurality of timing points; and

reporting the one or more intersections.

12. The computer program product of claim 11 , wherein said reporting the polarity at each timing point of the plurality of timing points includes reporting the polarity at each timing point of the plurality of timing points to one or more of a computer-executable application, a network, a display, and/or a memory medium.

13. The computer program product of claim 11 , wherein said reporting the one or more intersections includes reporting the one or more intersections to one or more of a computer-executable application, a network, a display, and/or a memory medium.

14. The computer program product of claim 11 , wherein said receiving the plurality of timing points includes receiving at least one timing point of the plurality of timing points from a user, from a network, or from a memory medium.

15. The computer-readable medium of claim 11 , wherein said reporting the plurality of minterms includes reporting the plurality of minterms to one or more of a computer-executable application, a network, a second, different, memory medium, and/or a display.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 029733/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2009
From: HOPKINS, JEREMY T.; ROSSER, THOMAS E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022148/0891 →