Identifying hierarchical chip design intellectual property through digests
First Claim
1. A computer-implemented method of analyzing cells in a hierarchical design of a circuit device for functional similarity, the method including:
- analyzing the hierarchical design using a processor to determine dependency chains from leaf cells that do not reference any other cells in the hierarchical design upward to higher levels in the hierarchical design, wherein n-level cells, by definition, are limited to referencing leaf cells through n−
1 level cells and not referencing n−
level or n+level cells;
detecting matching leaf cells, assigning matching names to the matching leaf cells, and propagating the matching names to higher level cells in the hierarchical design in place of the original, non-matching names of the matching leaf cells;
applying the detecting, assigning and propagating steps to at least some first-level, second-level, third-level, and subsequent-level cells along the dependency chains; and
evaluating functional similarity of at least some of the n-level cells above the leaf cells in the hierarchical design after propagating the matching names into the n-level cells along the dependency chains.
1 Assignment
0 Petitions
Accused Products
Abstract
One method implementation disclosed includes detecting matching leaf cells that have functionally identical designs (optionally, similar designs) and assigning matching names for the matching leaf cells to replace original, non-matching names. Optionally, digests can be calculated for the leaf cells and used to detect similarities and/or differences. The matching names are propagated to at least some higher-level cells in the hierarchical design, in place of the original names. The method can further include calculating digests for at least some of the higher level cells after the propagating of the matching names into the higher level cells. Various design matching technologies can be used in combination with cell renaming and new name propagation, not limited to use of digests. Dependency chains can be calculated to improve propagation of names through the hierarchy.
31 Citations
8 Claims
-
1. A computer-implemented method of analyzing cells in a hierarchical design of a circuit device for functional similarity, the method including:
-
analyzing the hierarchical design using a processor to determine dependency chains from leaf cells that do not reference any other cells in the hierarchical design upward to higher levels in the hierarchical design, wherein n-level cells, by definition, are limited to referencing leaf cells through n−
1 level cells and not referencing n−
level or n+level cells;detecting matching leaf cells, assigning matching names to the matching leaf cells, and propagating the matching names to higher level cells in the hierarchical design in place of the original, non-matching names of the matching leaf cells; applying the detecting, assigning and propagating steps to at least some first-level, second-level, third-level, and subsequent-level cells along the dependency chains; and evaluating functional similarity of at least some of the n-level cells above the leaf cells in the hierarchical design after propagating the matching names into the n-level cells along the dependency chains. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable storage medium storing computer program instructions that, when executed on a processor, carry out actions including:
-
analyzing the hierarchical design using a processor to determine dependency chains from leaf cells that do not reference any other cells in the hierarchical design upward to higher levels in the hierarchical design, wherein n-level cells, by definition, are limited to referencing leaf cells through n−
1 level cells and not referencing n−
level or n+level cells;detecting matching leaf cells, assigning matching names to the matching leaf cells, and propagating the matching names to higher level cells in the hierarchical design in place of the original, non-matching names of the matching leaf cells; applying the detecting, assigning and propagating steps to at least some first-level, second-level, third-level, and subsequent-level cells along the dependency chains; and evaluating functional similarity of at least some of the n-level cells above the leaf cells in the hierarchical design after propagating the matching names into the n-level cells along the dependency chains. - View Dependent Claims (6)
-
-
7. A computer system including:
-
a processor; and a computer-readable storage medium storing computer program instructions that, when executed on the processor, carry out actions including; analyzing the hierarchical design using a processor to determine dependency chains from leaf cells that do not reference any other cells in the hierarchical design upward to higher levels in the hierarchical design, wherein n-level cells, by definition, are limited to referencing leaf cells through n−
1 level cells and not referencing n−
level or n+level cells;detecting matching leaf cells, assigning matching names to the matching leaf cells, and propagating the matching names to higher level cells in the hierarchical design in place of the original, non-matching names of the matching leaf cells; applying the detecting, assigning and propagating steps to at least some first-level, second-level, third-level, and subsequent-level cells along the dependency chains; and evaluating functional similarity of at least some of the n-level cells above the leaf cells in the hierarchical design after propagating the matching names into the n-level cells along the dependency chains. - View Dependent Claims (8)
-
Specification