Tuesday, November 10, 2015

Magnet Placement

To improve congestion for a complex floorplan or to improve timing for the design, you can use magnet placement to specify fixed objects as magnets and have ICC move their connected standard cells close to them. You can specify fixed macro cells, a pin of a fixed macro cell, or an I/O pin as the magnet object.

For the best results, perform magnet placement before the standard cells are placed.

To perform magnet placement, use the magnet_placement command with a specification of the magnets and options for any special functions you need to perform.

icc_shell> magnet_placement [options] magnet_objects

To instruct the magnet_placement cmd whether or not to pull cells toward the magnet objects, you can set the magnet_placement_fanout_limit variable to specify the fanout limit.  If the fanout of a net exceeds the specified limit, the cmd does not pull cells of the net toward the magnet objects. The default setting is 1000.

Magnet placement allows cells to be overlapped by default. To prevent overlapping of cells, you can set the magnet_placement_disable_overlap variable to true, changing it from its default of false.

To return a collection of cells that can be moved with magnet placement, use the get_magnet_cells  command with the options you need.

icc_shell> get_magnet_cells [options] magnet_list






1 comment: