×

Method and apparatus for improving engineering change order placement in integrated circuit designs

  • US 6,014,506 A
  • Filed: 03/21/1996
  • Issued: 01/11/2000
  • Est. Priority Date: 10/31/1995
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for laying out an integrated circuit design based upon a netlist provided by a behavioral synthesis tool, said method comprising:

  • placing cells specified by said netlist in a layout area in a placement step, said cells including pins that are interconnected by nets;

    verifying timing constraints in a timing verification step of said placed cells in said layout area; and

    if said timing verification step indicates that timing does not verify in that said timing constraints are not met;

    modifying said netlist pursuant to an engineering change order (ECO); and

    making an ECO placement of at least one cell into said layout area by;

    (1) picking an unplaced cell from a set of unplaced cells to be a picked cell;

    (2) determining a target window within said layout area for the placement of said picked cell;

    (3) mapping said picked cell inside said target window;

    (4) removing said picked cell from said set of unplaced cells;

    (5) optimizing the placement of said picked cell by analyzing said picked cell within said target window with respect to said placed cells, and modifying said placement of said picked cell with respect to said placed cells if modifying said placement of said picked cell improves timing; and

    (6) repeating steps (1)-(5) until said set of unplaced cells is empty wherein said optimizing the placement of said picked cell includes performing an m-way interchange;

    wherein said m-way interchange includes;

    determining a closed loop pattern of m windows;

    moving cells either clockwise or counter-clockwise within said closed loop pattern;

    calculating said target window for said picked cell;

    picking an additional cell and calculating a target window for said additional cell until a predetermined number of additional cells has been picked;

    picking a last additional cell and calculating a target window for said last additional cell such that said picked cell is within said target window for said last additional cell; and

    ,moving said picked cell, said additional cells, and said last additional cell either clockwise or counter clockwise within said closed loop pattern; and

    moving cells either clockwise or counter clockwise within said closed loop pattern.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×