← Back to Patent Explorer
US5404313A Expired / Lapsed US ⏱️ 0.0 years remaining

System for assigning positions of block terminals in a VLSI

Assignee: Panasonic Holdings Corp
•
Filing: 1993-03-25
•
Granted: 1995-04-04
•
Expires: 2013-03-25
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system in which blocks are classified into one or more fixed shape blocks in which terminal positions are previously determined and one or more variable shape blocks in which terminal positions are changeable. The system includes an initial terminal assign section for provisionally assigning terminal positions relating to the variable shape blocks for the purpose of minimizing the total length of the wirings; and a terminal distribution and assign section for evaluating the provisionally assigned terminal positions and for distributing the provisionally assigned terminal positions on the basis of the evaluation.

Inventors

  • 👤 Takahiro Shiohara
  • 👤 Masahiro Fukui

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 08:09
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F30/392

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 314 words
A system for assigning positions of block terminals, said terminals being connected through wirings, said system comprising: initial terminal assign means for provisionally assigning terminal positions for the purpose of minimizing the total length of said wirings; and terminal distribution and assign means for evaluating said provisionally assigned terminal positions and for distributing said provisionally assigned terminal positions on the basis of said evaluation, said terminal distribution and assign means comprising: means for dividing an area at the periphery of each of said blocks into quantized areas; means for setting a first set of vertices which corresponds to a set of terminals of said block; means for setting a second set of vertices which corresponds to a set of said quantized areas; means for setting first directed edges from each of first vertices which belong to said first set to second vertices which belong to said second set and to which a terminal corresponding to said first vertex can be assigned, to each of which a cost is added, said cost being at a minimum when said terminal is assigned to said provisional terminal position, said cost increasing in accordance with one or more predetermined conditions; means for setting second directed edges from a third vertex to each of said first vertices, the flow capacity of said second directed edge being 1; means for setting third directed edges from each of said second vertices to a fourth vertex, the flow capacity of said third directed edge being the maximal number of terminals which can be assigned to said quantized area; means for determining a flow from said third vertex to said fourth vertex in which the flow is an integer, the cost is minimized, and the flow is maximized; and means for obtaining terminal assignment which corresponds to directed edges between said first vertices and said second vertices and having a flow of 1.
Claim 2
Independent Claim 314 words
A system for assigning positions of block terminals, said terminals being connected through wirings, said system comprising: initial terminal assign means for provisionally assigning terminal positions for the purpose of minimizing the total length of said wirings; and terminal distribution and assign means for evaluating said provisionally assigned terminal positions and for distributing said provisionally assigned terminal positions on the basis of said evaluation, said terminal distribution and assign means comprising: means for dividing an area at the periphery of each of said blocks into quantized areas; means for setting a first set of vertices which corresponds to a set of terminals of said block; means for setting a second set of vertices which corresponds to a set of said quantized areas; means for setting first directed edges from each of first vertices which belong to said first set to second vertices which belong to said second set and to which a terminal corresponding to said first vertex can be assigned, to each of which a cost is added, said cost being at a minimum when said terminal is assigned to said provisional terminal position, said cost increasing in accordance with one or more predetermined conditions; means for setting second directed edges from a third vertex to each of said first vertices, the flow capacity of said second directed edge being 1; means for setting third directed edges from each of said second vertices to a fourth vertex, the flow capacity of said third directed edge being the maximal number of terminals which can be assigned to said quantized area; means for determining a flow from said third vertex to said fourth vertex in which the flow is an integer, the cost is minimized, and the flow is maximized; and means for obtaining terminal assignment which corresponds to directed edges between said first vertices and said second vertices and having a flow of 1.
Claim 3
Dependent Claim 23 words
A system according to claim 1 wherein said system further comprises a terminal fine assign means for determining fine positions of said terminals.
Claim 4
Dependent Claim 56 words
A system according to claim 1 wherein said initial terminal assign means comprises: means for dividing an area for forming said wirings into quantized areas; means for representing the length of a wiring connecting equipotential terminals by the number of quantized areas through which said wiring passes; and means for minimizing the length of each wiring.
Claim 5
Dependent Claim 93 words
A system according to claim 1 wherein said predetermined conditions include one or more of the followings: the distance from said provisional terminal position; whether inside or outside the minimum rectangle which enclose a wiring between a set of equipotential terminals including said terminal; the number of bends of said wiring; the distance with respect to previously assigned one or more terminals of adjacent blocks which are connected equipotentially to said terminal; and whether on one edge of said block or on another edge, said one edge corresponding to said provisional terminal position.
Claim 6
Independent Claim 352 words
A system for assigning positions of block terminals, said terminals being connected through wirings, said blocks being classified into one or more fixed shape blocks in which terminal positions are previously determined and one or more variable shape blocks in which terminal positions are changeable, said system comprising: initial terminal assign means for provisionally assigning terminal positions relating to said variable shape blocks, for the purpose of minimizing the total length of said wirings; and terminal distribution and assign means for evaluating said provisionally assigned terminal positions and for distributing said provisionally assigned terminal positions on the basis of said evaluation, said terminal distribution and assign means comprising: means for dividing an area at the periphery of each of said blocks into quantized areas; means for setting a first set of vertices which corresponds to a set of terminals of said block; means for setting a second set of vertices which corresponds to a set of said quantized areas; means for setting first directed edges from each of first vertices which belong to said first set to said second vertices which belong to said second set and to which a terminal corresponding to said first vertex can be assigned, to each of which a cost is added, said cost being at a minimum when said terminal is assigned to said provisional terminal position, said cost increasing in accordance with one or more predetermined conditions; means for setting second directed edges from a third vertex to each of said first vertices, the flow capacity of said second directed edge being 1; means for setting third directed edges from each of said second vertices to a fourth vertex, the flow capacity of said third directed edge being the maximal number of terminals which can be assigned to said quantized area; means for determining a flow from said third vertex to said fourth vertex in which the flow is an integer, the cost is minimized, and the flow is maximized; and means for obtaining terminal assignment which corresponds to directed edges between said first vertices and said second vertices and having a flow of 1.
Claim 7
Independent Claim 352 words
A system for assigning positions of block terminals, said terminals being connected through wirings, said blocks being classified into one or more fixed shape blocks in which terminal positions are previously determined and one or more variable shape blocks in which terminal positions are changeable, said system comprising: initial terminal assign means for provisionally assigning terminal positions relating to said variable shape blocks, for the purpose of minimizing the total length of said wirings; and terminal distribution and assign means for evaluating said provisionally assigned terminal positions and for distributing said provisionally assigned terminal positions on the basis of said evaluation, said terminal distribution and assign means comprising: means for dividing an area at the periphery of each of said blocks into quantized areas; means for setting a first set of vertices which corresponds to a set of terminals of said block; means for setting a second set of vertices which corresponds to a set of said quantized areas; means for setting first directed edges from each of first vertices which belong to said first set to said second vertices which belong to said second set and to which a terminal corresponding to said first vertex can be assigned, to each of which a cost is added, said cost being at a minimum when said terminal is assigned to said provisional terminal position, said cost increasing in accordance with one or more predetermined conditions; means for setting second directed edges from a third vertex to each of said first vertices, the flow capacity of said second directed edge being 1; means for setting third directed edges from each of said second vertices to a fourth vertex, the flow capacity of said third directed edge being the maximal number of terminals which can be assigned to said quantized area; means for determining a flow from said third vertex to said fourth vertex in which the flow is an integer, the cost is minimized, and the flow is maximized; and means for obtaining terminal assignment which corresponds to directed edges between said first vertices and said second vertices and having a flow of 1.
Claim 8
Dependent Claim 23 words
A system according to claim 5 wherein said system further comprises a terminal fine assign means for determining fine positions of said terminals.
Claim 9
Dependent Claim 56 words
A system according to claim 5 wherein said initial terminal assign means comprises: means for dividing an area for forming said wirings into quantized areas; means for representing the length of a wiring connecting equipotential terminals by the number of quantized areas through which said wiring passes; and means for minimizing the length of each wiring.
Claim 10
Dependent Claim 93 words
A system according to claim 5 wherein said predetermined conditions includes one or more of the followings: the distance from said provisional terminal position; whether inside or outside the minimum rectangle which enclose a wiring between a set of equipotential terminals including said terminal; the number of bends of said wiring; the distance with respect to previously assigned one or more terminals of adjacent blocks which are connected equipotentially to said terminal; and whether on one edge of said block or on another edge, said one edge corresponding to said provisional terminal position.
Claim 11
Independent Claim 237 words
A system for assigning positions of terminals of blocks, comprising: means for dividing an area at the periphery of each of said blocks into quantized areas; means for setting a first set of vertices which corresponds to a set of terminals of said block, means for setting a second set of vertices which corresponds to a set of said quantized areas; means for setting first directed edges from each of first vertices which belong to said first set to second vertices which belong to said second set, to each of which a cost is added, said cost representing a usefulness specification for assigning a terminal to a quantized area, the flow capacity of said first directed edge being 1; means for setting second directed edges from a third vertex to each of said first vertices, the flow capacity of said second directed edge being 1; means for setting third directed edges from each of said second vertices to a fourth vertex, the flow capacity of said third directed edge being the maximal number of terminals which can be assigned to said quantized area; means for determining a flow from said third vertex to said fourth vertex in which the flow is an integer, the cost is minimized, and the flow is maximized; and means for obtaining terminal assignment which corresponds to directed edges between said first vertices and said second vertices and having a flow of 1.
Claim 12
Independent Claim 237 words
A system for assigning positions of terminals of blocks, comprising: means for dividing an area at the periphery of each of said blocks into quantized areas; means for setting a first set of vertices which corresponds to a set of terminals of said block, means for setting a second set of vertices which corresponds to a set of said quantized areas; means for setting first directed edges from each of first vertices which belong to said first set to second vertices which belong to said second set, to each of which a cost is added, said cost representing a usefulness specification for assigning a terminal to a quantized area, the flow capacity of said first directed edge being 1; means for setting second directed edges from a third vertex to each of said first vertices, the flow capacity of said second directed edge being 1; means for setting third directed edges from each of said second vertices to a fourth vertex, the flow capacity of said third directed edge being the maximal number of terminals which can be assigned to said quantized area; means for determining a flow from said third vertex to said fourth vertex in which the flow is an integer, the cost is minimized, and the flow is maximized; and means for obtaining terminal assignment which corresponds to directed edges between said first vertices and said second vertices and having a flow of 1.
Claim 13
Independent Claim 343 words
A method for automatically designing a layout for a semi-conductor device such as a VLSI, said method comprising the steps of: (i) positioning a terminal on the periphery of a rectangular block by a relative position of one dimension at a position j, where j is a real number, and the center of said block is represented by a real number a, said step (i) comprising the steps of: (i)-a selecting one of a first, second, third and fourth edge of said block on which to position said terminal; (i)-b provisionally positioning said terminal relative to said layout according to the following conditions: (a) when said first edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said first edge by (j-a)/b, where a<j≦a+b, and b is a real number, (b) when said second edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said second edge connected to the other end of said first edge by (j-a-b)/b, where a+b <j≦a+2b, (c) when said third edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said third edge connected to the other end of said second edge by (j-a-2b)/b, where a+2b<j≦a+3b, and (d) when said fourth edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said fourth edge connected to the other end of said third edge by (j-a-3b)/b, where a+3b<j≦a+4b; (ii) evaluating said provisional position of said terminal as a function of reducing chip area; (iii) repositioning said provisionally positioned terminal with respect to said layout relative to said selected one of said first, second, third and fourth edge of said block, based on said evaluating step; and (iv) placing a block terminal on said semi-conductor device at a position corresponding to said repositioned terminal relative to said layout, and connecting wires thereto.
Claim 14
Independent Claim 343 words
A method for automatically designing a layout for a semi-conductor device such as a VLSI, said method comprising the steps of: (i) positioning a terminal on the periphery of a rectangular block by a relative position of one dimension at a position j, where j is a real number, and the center of said block is represented by a real number a, said step (i) comprising the steps of: (i)-a selecting one of a first, second, third and fourth edge of said block on which to position said terminal; (i)-b provisionally positioning said terminal relative to said layout according to the following conditions: (a) when said first edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said first edge by (j-a)/b, where a<j≦a+b, and b is a real number, (b) when said second edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said second edge connected to the other end of said first edge by (j-a-b)/b, where a+b <j≦a+2b, (c) when said third edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said third edge connected to the other end of said second edge by (j-a-2b)/b, where a+2b<j≦a+3b, and (d) when said fourth edge of said block is selected in step (i)-a, positioning said terminal such that said terminal is separated from one end of said fourth edge connected to the other end of said third edge by (j-a-3b)/b, where a+3b<j≦a+4b; (ii) evaluating said provisional position of said terminal as a function of reducing chip area; (iii) repositioning said provisionally positioned terminal with respect to said layout relative to said selected one of said first, second, third and fourth edge of said block, based on said evaluating step; and (iv) placing a block terminal on said semi-conductor device at a position corresponding to said repositioned terminal relative to said layout, and connecting wires thereto.

References Cited (Backward Citations)

US3629843A Cited
US4593363A Cited
US4577276A Cited
US4839821A Cited
US4908772A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-04-03 1998-10-03 1999-04-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-04-03 2002-10-03 2003-04-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-04-03 2006-10-03 2007-04-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag