US20050086624A1 - Process and apparatus for fast assignment of objects to a rectangle - Google Patents
Process and apparatus for fast assignment of objects to a rectangle Download PDFInfo
- Publication number
- US20050086624A1 US20050086624A1 US10/688,460 US68846003A US2005086624A1 US 20050086624 A1 US20050086624 A1 US 20050086624A1 US 68846003 A US68846003 A US 68846003A US 2005086624 A1 US2005086624 A1 US 2005086624A1
- Authority
- US
- United States
- Prior art keywords
- cost
- assignment
- computer
- maximal
- readable program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Definitions
- This invention concerns placement of objects in a rectangle, and particularly to placement of cells in integrated circuit designs during creation of a floorplan.
- the present invention is directed to a process and apparatus for assigning N objects to M points of a rectangle, where M ⁇ N.
- the invention is particularly useful in placement of cells in an integrated circuit (IC) chip, although it is also useful in other environments where a large number of object must be placed in a space.
- IC integrated circuit
- Points P 1 (x 1 ,y 1 ), P 2 (x 2 ,y 2 ), . . . , P M (x M ,y M ), are the points of rectangle R.
- Objects Q 1 (x′ 1 ,y′ 1 ), Q 2 (x′ 2 ,y′ 2 ), . . . , Q N (x′ N ,y′ N ) are the objects to be placed in rectangle R.
- T is a set of types of points and objects.
- Kuhn's algorithm requires a considerable amount of time to execute. More particularly, execution of Kuhn's algorithm requires time defined as O(N 2 M 2 ).
- cell placement might require processing cell assignments for large values of parameters N and M (N,M>1000), and might be repeated many times during the design process. Consequently, execution of Kuhn's algorithm requires an unacceptable amount of time. Therefore, a need exists for a technique to quickly estimate objects assignment.
- a process assigns objects to points of a first rectangle.
- An initial assignment of the objects to points of the first rectangle is created.
- the first rectangle is divided into a plurality of second, smaller rectangles.
- An object assignment procedure is applied to the initially assigned objects in each second rectangle.
- each point in the first rectangle is in at least two second rectangles.
- the initial assignment of objects is performed by calculating a maximal cost of assignment of object to points, and selecting an assignment of objects having a minimum value of maximal cost. More particularly, a maximal matching assignment is calculated by iteratively recalculating the maximal matching assignment based on a midpoint of between the minimum and maximum costs of the assignment calculated during the prior iteration, and then recalculating the minimum and maximum costs of the recalculated assignment, iterating until the minimum cost is not smaller than the maximum cost.
- the object assignment procedure comprises finding objects assigned to points of each second rectangle, applying Kuhn's algorithm of object assignment to the second rectangle, and correcting the assignment. This procedure is iteratively repeated until the assignment does not change.
- the process is carried out in a computer under the control of a computer readable program having computer readable code that causes the computer to carry out the process.
- FIG. 1 is a flowchart of a process of assigning objects in accordance with an embodiment of the present invention.
- FIG. 2 is a flowchart of initial object assignment used in the process of FIG. 1 .
- FIG. 3 is a diagram useful in explaining the process of FIG. 1 .
- FIG. 4 is a flowchart of application of Kuhn's algorithm used in the process of FIG. 1 .
- FIG. 1 is a flowchart of a process of object assignment in accordance with a presently preferred embodiment of the present invention.
- the process is preferably carried out by a computer performing the process under control of a computer readable program code.
- the costs are evaluated in accordance with the definition of costs assigned by the designer.
- an initial assignment s(i) of objects Q i to points P j is created to achieve a minimization of the maximal cost.
- the process of initial assignment is more fully described in connection with FIG. 2 .
- Step 12 shown in detail in FIG. 2 , obtains an initial assignment s(i) that results from the minimization of the maximal value of the cost: max 1 ⁇ i ⁇ N (C(i,s(i))).
- LowerBound is set to 0
- UpperBound is set to the maximal cost integer (C)
- UpperBound is assigned to the value of middle
- UpperBound middle.
- step 12 calculates a maximal matching assignment by iteratively recalculating the maximal matching assignment based on a midpoint of between the minimum and maximum costs of the assignment calculated during the prior iteration, and then recalculating the minimum and maximum costs of the recalculated assignment. The process continues to iterate until the minimum cost is not smaller than the maximum cost (i.e., LowerBound ⁇ UpperBound).
- the technique of finding the maximal matching s(i) in the bipartional graph determined by the matrix d(i,j) is well-known. It is also well known that the time required for the solution of this problem is O(MN).
- the process of FIG. 2 is a binary-searching algorithm for finding the value max 1 ⁇ i ⁇ N ( ⁇ overscore (C) ⁇ (i,s(i))).
- the LowerBound and UpperBound used in the algorithm are the lower and upper bounds of the value max 1 ⁇ i ⁇ N ( ⁇ overscore (C) ⁇ (i,s(i))).
- the number of repetitions of the steps 32 - 36 is ⁇ log 2 C ⁇ , where ⁇ log 2 C ⁇ is the minimal integer number that is not less than log 2 C. Consequently, time required to obtain the initial assignment s(i) is O(log 2 C ⁇ MN).
- a rectangle R is split into a set of small rectangles R 1 , R 2 , . . . , R k .
- the splitting of rectangle R can be made by any of several techniques.
- the small rectangles R 1 , R 2 , . . . , R k has intersections such that every point of the rectangle R belongs to at least 2 small rectangles.
- each small rectangle R 1 , R 2 . . . . R k is examined using Kuhn's algorithm of assignment to correct the assignment s(i).
- the procedure of step 16 is more fully described in connection with FIG. 4 .
- all points P j 1 , P j 2 , ... ⁇ , P j M q that belong to the small rectangle R q are considered.
- all objects Q i 1 , Q i 2 , ... ⁇ , Q i N q that are assigned to points P j 1 , P j 2 , ... ⁇ , P j M q are located.
- Objects Q i 1 , Q i 2 , ... ⁇ , Q i N q are those objects Q i for which s(i) ⁇ j 1 , j 2 , . . . , j M q ⁇ .
- Kuhn's algorithm of object assignment is applied to place objects Q i 1 , Q i 2 , ... ⁇ , Q i N q at points P j 1 , P j 2 , ... ⁇ , P j M q and obtain an assignment s′(i).
- the assignment achieved at step 12 FIG.
- step 18 determines whether the assignment s(i) was changed at step 16 . If assignment s(i) did not change at step 16 , the process continues to step 20 where the final assignment s(i) is output. If s(i) changed, the process returns to step 16 to re-define small rectangles and re-calculate Kuhn's algorithm. Each iteration uses the assignment calculated in the prior iteration, with the iterations continuing until s(i) does not change at step 18 . Hence, each iteration produces a more accurate object assignment than the prior iteration.
- step 18 the process could continue to step 20 upon some other convenient event, such as execution of a predetermined number of iterations of the loop including step 16 , or if the assignment change by the latest iteration of step 16 is less than some predetermined amount.
- the present invention thus provides a good estimate of the placement of objects in a rectangle, such as cells in the floorplan of an integrated circuit, in a shorter period of time than required by the Kuhn's algorithm. More particularly the time of performing the process of the present invention in a computer is the sum of the initial assignment (step 12 ) and the final assignment (step 16 ) and is O ⁇ ( MN ⁇ log 2 ⁇ C ) + O ⁇ ( M 4 k 3 ) .
Abstract
Description
- This invention concerns placement of objects in a rectangle, and particularly to placement of cells in integrated circuit designs during creation of a floorplan.
- The present invention is directed to a process and apparatus for assigning N objects to M points of a rectangle, where M≧N. The invention is particularly useful in placement of cells in an integrated circuit (IC) chip, although it is also useful in other environments where a large number of object must be placed in a space.
- Consider a rectangle having left and right edges a and b, where a<b, and bottom and top edges c and d, where c<d. The rectangle containing a point having coordinates (x,y) can be defined as R={(x,y)|a≦x≦b, c≦y≦d}.
- Points P1(x1,y1), P2(x2,y2), . . . , PM(xM,yM), are the points of rectangle R. Objects Q1(x′1,y′1), Q2(x′2,y′2), . . . , QN(x′N,y′N) are the objects to be placed in rectangle R. T is a set of types of points and objects. ti is a type of a point Pi, where i is each member of the sequence of 1 to M (i={overscore (1,M)}). Thus, tiεT. t′i is a type of an object Qi, i={overscore (1,N)}, thus t′iεT. For any pair of types, uεT and vεT, the relation of these types TR(u,v) is such that if the object having a type v is allowed to be assigned to a point of type u, TR(u,v)=1. Otherwise, TR(u,v)=0. TR(u,u)=1 for each type uεT.
- The goal of objects assignment is to assign all objects Qi, i={overscore (1,N)} to points Ps(i) (or to find the assignment s(i) for each i={overscore (1,N)}), so that:
-
- a) s(i1)≠s (i2) for any 1≦i1<i2≦N,
- b) TR(ts(i),t′i)=1 for any i={overscore (1,N)}, and
- c) distances between objects Qi and points Ps(i) is as small as possible.
- The cost C(i,j) of assignment of an object Qi to a point Pj is denoted as follows:
- One well-known technique of assigning objects is Kuhn's algorithm, which finds the optimal solution s(i) such that the sum
is the smallest possible value. However, Kuhn's algorithm requires a considerable amount of time to execute. More particularly, execution of Kuhn's algorithm requires time defined as O(N2M2). In practice, cell placement might require processing cell assignments for large values of parameters N and M (N,M>1000), and might be repeated many times during the design process. Consequently, execution of Kuhn's algorithm requires an unacceptable amount of time. Therefore, a need exists for a technique to quickly estimate objects assignment. - In a first embodiment, a process assigns objects to points of a first rectangle. An initial assignment of the objects to points of the first rectangle is created. The first rectangle is divided into a plurality of second, smaller rectangles. An object assignment procedure is applied to the initially assigned objects in each second rectangle. Preferably, each point in the first rectangle is in at least two second rectangles.
- In some embodiments, the initial assignment of objects is performed by calculating a maximal cost of assignment of object to points, and selecting an assignment of objects having a minimum value of maximal cost. More particularly, a maximal matching assignment is calculated by iteratively recalculating the maximal matching assignment based on a midpoint of between the minimum and maximum costs of the assignment calculated during the prior iteration, and then recalculating the minimum and maximum costs of the recalculated assignment, iterating until the minimum cost is not smaller than the maximum cost.
- In other embodiments, the object assignment procedure comprises finding objects assigned to points of each second rectangle, applying Kuhn's algorithm of object assignment to the second rectangle, and correcting the assignment. This procedure is iteratively repeated until the assignment does not change.
- In accordance with another embodiment of the present invention, the process is carried out in a computer under the control of a computer readable program having computer readable code that causes the computer to carry out the process.
-
FIG. 1 is a flowchart of a process of assigning objects in accordance with an embodiment of the present invention. -
FIG. 2 is a flowchart of initial object assignment used in the process ofFIG. 1 . -
FIG. 3 is a diagram useful in explaining the process ofFIG. 1 . -
FIG. 4 is a flowchart of application of Kuhn's algorithm used in the process ofFIG. 1 . -
FIG. 1 is a flowchart of a process of object assignment in accordance with a presently preferred embodiment of the present invention. The process is preferably carried out by a computer performing the process under control of a computer readable program code. The process commences atstep 10 by evaluating the costs C(i,j) of assignment of objects Qi to points Pj, where i={overscore (1,N)} and j={overscore (1,M)}. The costs are evaluated in accordance with the definition of costs assigned by the designer. Atstep 12, an initial assignment s(i) of objects Qi to points Pj is created to achieve a minimization of the maximal cost. The process of initial assignment is more fully described in connection withFIG. 2 . -
Step 12, shown in detail inFIG. 2 , obtains an initial assignment s(i) that results from the minimization of the maximal value of the cost: max1≦i≦N(C(i,s(i))). In order to simplify this step the process employs rounded costs {overscore (C)}(i,j) instead of the original costs C(i,j), where
and where └C(i,j)┘ is the maximal integer not greater than C(i,j). For purposes of explanation, the maximal cost is designated C, C=max{overscore (C)}(i,j)≠∞ ({overscore (C)}(i,j)). - At
step 30, the terms LowerBound is set to 0, UpperBound is set to the maximal cost integer (C), and middle is set to the midvalue between LowerBound and UpperBound: - At
step 32, the maximal matching assignment s(i) is found for matching matrix
Atstep 34, if the maximal matching s(i) obtained atstep 32 is determined for each i={overscore (1,N)}, such that the maximal cost is not greater than the middle (maximal cost≦middle), UpperBound is assigned to the value of middle, UpperBound=middle. Otherwise, LowerBound is assigned to the value of middle plus 1, LowerBound=middle+1. - If, at
step 36, LowerBound<UpperBound, the process returns tostep 32. Otherwise atstep 38, the initial assignment is the maximal matching s(i) found atstep 32 for the value middle=LowerBound. The assignment thus obtained is output to step 14 (FIG. 1 ). - The process of
step 12 calculates a maximal matching assignment by iteratively recalculating the maximal matching assignment based on a midpoint of between the minimum and maximum costs of the assignment calculated during the prior iteration, and then recalculating the minimum and maximum costs of the recalculated assignment. The process continues to iterate until the minimum cost is not smaller than the maximum cost (i.e., LowerBound≧UpperBound). - The technique of finding the maximal matching s(i) in the bipartional graph determined by the matrix d(i,j) is well-known. It is also well known that the time required for the solution of this problem is O(MN). The process of
FIG. 2 is a binary-searching algorithm for finding the value max1≦i≦N({overscore (C)}(i,s(i))). The LowerBound and UpperBound used in the algorithm are the lower and upper bounds of the value max1≦i≦N({overscore (C)}(i,s(i))). The number of repetitions of the steps 32-36 is ┌log2C┐, where ┌log2C┐ is the minimal integer number that is not less than log2C. Consequently, time required to obtain the initial assignment s(i) is O(log2C·MN). - As shown in
FIG. 1 , at step 14 a rectangle R is split into a set of small rectangles R1, R2, . . . , Rk. The splitting of rectangle R can be made by any of several techniques. The small rectangles R1, R2, . . . , Rk has intersections such that every point of the rectangle R belongs to at least 2 small rectangles.FIG. 3 illustrates splitting a rectangle R into k=41 small rectangles, shown as 16 equal small rectangles in the upper portion ofFIG. 3 and 25 more small portions in the lower portion of the figure. Note that the small rectangles may have different sizes. - If Mq is the number of points, Pj, j={overscore (1,M)}, that belong to a small rectangle Rq, it is evident that more powerful splitting is obtained as the number of points of rectangle Rq becomes smaller (value of max1≦q≦k (Mq) becomes smaller). If rectangle R is uniformly split, then
- At
step 16, each small rectangle R1, R2 . . . . Rk, is examined using Kuhn's algorithm of assignment to correct the assignment s(i). The procedure ofstep 16 is more fully described in connection withFIG. 4 . For each small rectangle Rq atstep 40, all points
that belong to the small rectangle Rq are considered. Atstep 42, all objects
that are assigned to points
are located. Objects
are those objects Qi for which s(i)ε{j1, j2, . . . , jMq }. Atstep 44, Kuhn's algorithm of object assignment is applied to place objects
at points
and obtain an assignment s′(i). Atstep 46, the assignment achieved at step 12 (FIG. 12 ) is corrected as
s(i 1)=s′(i 1), s(i 2)=s′(i 2), . . . , s(i Nq )=s′(i Nq ). - The time required to perform Kuhn's algorithm to each small rectangle R1, R2, . . . , Rk at
step 44 is
so the time required to perform Kuhn's algorithm to all k small rectangles is
which is significantly shorter than the time required to apply Kuhn's algorithm of assignment to the entire rectangle R. - The process of
FIG. 1 then continues to step 18 to determine whether the assignment s(i) was changed atstep 16. If assignment s(i) did not change atstep 16, the process continues to step 20 where the final assignment s(i) is output. If s(i) changed, the process returns to step 16 to re-define small rectangles and re-calculate Kuhn's algorithm. Each iteration uses the assignment calculated in the prior iteration, with the iterations continuing until s(i) does not change atstep 18. Hence, each iteration produces a more accurate object assignment than the prior iteration. As an alternative to detecting an unchanging assignment atstep 18, the process could continue to step 20 upon some other convenient event, such as execution of a predetermined number of iterations of theloop including step 16, or if the assignment change by the latest iteration ofstep 16 is less than some predetermined amount. - The present invention thus provides a good estimate of the placement of objects in a rectangle, such as cells in the floorplan of an integrated circuit, in a shorter period of time than required by the Kuhn's algorithm. More particularly the time of performing the process of the present invention in a computer is the sum of the initial assignment (step 12) and the final assignment (step 16) and is
- Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/688,460 US7111264B2 (en) | 2003-10-17 | 2003-10-17 | Process and apparatus for fast assignment of objects to a rectangle |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/688,460 US7111264B2 (en) | 2003-10-17 | 2003-10-17 | Process and apparatus for fast assignment of objects to a rectangle |
Publications (2)
Publication Number | Publication Date |
---|---|
US20050086624A1 true US20050086624A1 (en) | 2005-04-21 |
US7111264B2 US7111264B2 (en) | 2006-09-19 |
Family
ID=34521177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/688,460 Expired - Fee Related US7111264B2 (en) | 2003-10-17 | 2003-10-17 | Process and apparatus for fast assignment of objects to a rectangle |
Country Status (1)
Country | Link |
---|---|
US (1) | US7111264B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149993B1 (en) * | 2004-03-29 | 2006-12-12 | Xilinx, Inc. | Method, system, and apparatus for incremental design in programmable logic devices using floorplanning |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313775B2 (en) * | 2005-04-06 | 2007-12-25 | Lsi Corporation | Integrated circuit with relocatable processor hardmac |
US7404166B2 (en) * | 2005-10-24 | 2008-07-22 | Lsi Corporation | Method and system for mapping netlist of integrated circuit to design |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535134A (en) * | 1994-06-03 | 1996-07-09 | International Business Machines Corporation | Object placement aid |
US5818729A (en) * | 1996-05-23 | 1998-10-06 | Synopsys, Inc. | Method and system for placing cells using quadratic placement and a spanning tree model |
US6014506A (en) * | 1995-10-31 | 2000-01-11 | Vlsi Technology, Inc. | Method and apparatus for improving engineering change order placement in integrated circuit designs |
US6134702A (en) * | 1997-12-16 | 2000-10-17 | Lsi Logic Corporation | Physical design automation system and process for designing integrated circuit chips using multiway partitioning with constraints |
US6189132B1 (en) * | 1998-04-09 | 2001-02-13 | International Business Machines Corporation | Design rule correction system and method |
US6292929B2 (en) * | 1996-06-28 | 2001-09-18 | Lsi Logic Corporation | Advanced modular cell placement system |
US6415425B1 (en) * | 1999-03-04 | 2002-07-02 | Xilinx, Inc. | Method for analytical placement of cells using density surface representations |
US20030163795A1 (en) * | 2002-02-27 | 2003-08-28 | Morgan David A. | Method of repeater insertion for hierarchical integrated circuit design |
US20030188274A1 (en) * | 2002-03-27 | 2003-10-02 | Gasanov Elyar E. | Floor plan tester for integrated circuit design |
US6637016B1 (en) * | 2001-04-25 | 2003-10-21 | Lsi Logic Corporation | Assignment of cell coordinates |
US6650046B2 (en) * | 2000-11-17 | 2003-11-18 | Tdk Corporation | Thin-film EL device, and its fabrication process |
US6725432B2 (en) * | 1998-09-30 | 2004-04-20 | Cadence Design Systems, Inc. | Blocked based design methodology |
US6748574B2 (en) * | 2001-03-14 | 2004-06-08 | Fujitsu Limited | Method of and apparatus for determining an optimal solution to a uniform-density layout problem, and medium on which a program for determining the solution is stored |
US20040166864A1 (en) * | 2001-03-28 | 2004-08-26 | Stephen Hill | Minimising signal interference within a wireless network |
US20050038728A1 (en) * | 2003-08-11 | 2005-02-17 | Pierfrancesco La Mura | Double auctions with bargaining |
US20050091625A1 (en) * | 2003-10-27 | 2005-04-28 | Lsi Logic Corporation | Process and apparatus for placement of cells in an IC during floorplan creation |
-
2003
- 2003-10-17 US US10/688,460 patent/US7111264B2/en not_active Expired - Fee Related
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535134A (en) * | 1994-06-03 | 1996-07-09 | International Business Machines Corporation | Object placement aid |
US6014506A (en) * | 1995-10-31 | 2000-01-11 | Vlsi Technology, Inc. | Method and apparatus for improving engineering change order placement in integrated circuit designs |
US5818729A (en) * | 1996-05-23 | 1998-10-06 | Synopsys, Inc. | Method and system for placing cells using quadratic placement and a spanning tree model |
US6292929B2 (en) * | 1996-06-28 | 2001-09-18 | Lsi Logic Corporation | Advanced modular cell placement system |
US6134702A (en) * | 1997-12-16 | 2000-10-17 | Lsi Logic Corporation | Physical design automation system and process for designing integrated circuit chips using multiway partitioning with constraints |
US6189132B1 (en) * | 1998-04-09 | 2001-02-13 | International Business Machines Corporation | Design rule correction system and method |
US6725432B2 (en) * | 1998-09-30 | 2004-04-20 | Cadence Design Systems, Inc. | Blocked based design methodology |
US6415425B1 (en) * | 1999-03-04 | 2002-07-02 | Xilinx, Inc. | Method for analytical placement of cells using density surface representations |
US6650046B2 (en) * | 2000-11-17 | 2003-11-18 | Tdk Corporation | Thin-film EL device, and its fabrication process |
US6748574B2 (en) * | 2001-03-14 | 2004-06-08 | Fujitsu Limited | Method of and apparatus for determining an optimal solution to a uniform-density layout problem, and medium on which a program for determining the solution is stored |
US20040166864A1 (en) * | 2001-03-28 | 2004-08-26 | Stephen Hill | Minimising signal interference within a wireless network |
US6637016B1 (en) * | 2001-04-25 | 2003-10-21 | Lsi Logic Corporation | Assignment of cell coordinates |
US20030163795A1 (en) * | 2002-02-27 | 2003-08-28 | Morgan David A. | Method of repeater insertion for hierarchical integrated circuit design |
US20030188274A1 (en) * | 2002-03-27 | 2003-10-02 | Gasanov Elyar E. | Floor plan tester for integrated circuit design |
US20050038728A1 (en) * | 2003-08-11 | 2005-02-17 | Pierfrancesco La Mura | Double auctions with bargaining |
US20050091625A1 (en) * | 2003-10-27 | 2005-04-28 | Lsi Logic Corporation | Process and apparatus for placement of cells in an IC during floorplan creation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149993B1 (en) * | 2004-03-29 | 2006-12-12 | Xilinx, Inc. | Method, system, and apparatus for incremental design in programmable logic devices using floorplanning |
Also Published As
Publication number | Publication date |
---|---|
US7111264B2 (en) | 2006-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6308299B1 (en) | Method and system for combinational verification having tight integration of verification techniques | |
Campos et al. | Context-independent scatter and tabu search for permutation problems | |
US6611951B1 (en) | Method for estimating cell porosity of hardmacs | |
RU2004120678A (en) | METHODS FOR DETERMINING AN APPROXIMATE LOCATION OF A DEVICE BASED ON EXTERNAL SIGNALS | |
US6330526B1 (en) | Characteristic variation evaluation method of semiconductor device | |
Moshkovitz | Parallel repetition from fortification | |
Schreiber et al. | Cut size statistics of graph bisection heuristics | |
Brugger et al. | Mixed precision multilevel Monte Carlo on hybrid computing systems | |
US7949661B2 (en) | System and method for identifying web communities from seed sets of web pages | |
Guo et al. | Approximately counting bases of bicircular matroids | |
CN111475402A (en) | Program function testing method and related device | |
US7111264B2 (en) | Process and apparatus for fast assignment of objects to a rectangle | |
Tian et al. | Two-stage stochastic Runge-Kutta methods for stochastic differential equations | |
US6557159B1 (en) | Method for preserving regularity during logic synthesis | |
CN108664593A (en) | Data consistency verification method, device, storage medium and electronic equipment | |
CN116595918B (en) | Method, device, equipment and storage medium for verifying quick logical equivalence | |
US6278898B1 (en) | Model error bounds for identification of stochastic models for control design | |
US6609234B2 (en) | Ordering binary decision diagrams used in the formal equivalence verification of digital designs | |
US6263480B1 (en) | Efficient tracing of shorts in very large nets in hierarchical designs | |
US7313778B1 (en) | Method system and apparatus for floorplanning programmable logic designs | |
Mazet et al. | Simulation of postive normal variables using several proposal distributions | |
KR102104295B1 (en) | Method for automatically generating search heuristics and performing method of concolic testing using automatically generated search heuristics | |
Ma et al. | A dynamic merge-or-split learning algorithm on Gaussian mixture for automated model selection | |
US6671656B2 (en) | Structure analysis method and program, and recording medium thereof | |
US20040054702A1 (en) | Method for on-demand generation of individual random numbers of a sequence of random numbers of a 1/f noise |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LSI LOGIC CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDREEV, ALEXANDER E.;NIKITIN, ANDREY A.;SCEPANOVIC, RANKO;REEL/FRAME:014632/0017;SIGNING DATES FROM 20031013 TO 20031015 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031 Effective date: 20140506 |
|
AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:LSI LOGIC CORPORATION;REEL/FRAME:033102/0270 Effective date: 20070406 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:035390/0388 Effective date: 20140814 |
|
AS | Assignment |
Owner name: LSI CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 |
|
AS | Assignment |
Owner name: BELL SEMICONDUCTOR, LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;BROADCOM CORPORATION;REEL/FRAME:044887/0109 Effective date: 20171208 |
|
AS | Assignment |
Owner name: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERA Free format text: SECURITY INTEREST;ASSIGNORS:HILCO PATENT ACQUISITION 56, LLC;BELL SEMICONDUCTOR, LLC;BELL NORTHERN RESEARCH, LLC;REEL/FRAME:045216/0020 Effective date: 20180124 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20180919 |
|
AS | Assignment |
Owner name: BELL NORTHERN RESEARCH, LLC, ILLINOIS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CORTLAND CAPITAL MARKET SERVICES LLC;REEL/FRAME:059720/0223 Effective date: 20220401 Owner name: BELL SEMICONDUCTOR, LLC, ILLINOIS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CORTLAND CAPITAL MARKET SERVICES LLC;REEL/FRAME:059720/0223 Effective date: 20220401 Owner name: HILCO PATENT ACQUISITION 56, LLC, ILLINOIS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CORTLAND CAPITAL MARKET SERVICES LLC;REEL/FRAME:059720/0223 Effective date: 20220401 |