IPP(1ICD)

NAME
ipp - an interactive placement program

SYNOPSIS
ipp [-g graphics] [-d device]

OPTIONS
One of the following options can be specified:

-g  The name of a graphics terminal.
    The following graphics terminals are supported:
    apollo_15_color, hp2397, hp98700, hpgp, rast10.

-d  The pathname of the graphics device. Normally only used in combination with the hpgp graphics device. If no options are used the environment variable TERM is used to obtain the name of the graphics terminal.

DESCRIPTION
Ipp is an interactive program for the generation of a placement from a given circuit description. To use the program the project directory must be chosen as the current working directory. Ipp uses a cursor to select a point or an area on the screen. To select a point a cross is used, which is moved around with the aid of the stylus (or mouse). Upon pressing the stylus (pushing the rightmost button of the mouse) the point is selected. When rectangular areas have to be entered, ipp switches to rubber-box / line cursors after the first point has been fixed. Ipp is menu driven, with the commands to be used appearing on the left and bottom sides of the screen. The commands are selected by moving the cursor into the command area on the screen and pressing the mouse. On occasions where ipp expects the user to specify a point in the design area it is often allowed to select a command instead, thereby cancelling / interrupting the command in progress. Ipp has a hierarchical menu structure. Upon starting the main menu is shown on the screen from which one may choose one of the command clusters. Upon doing so the set of commands belonging to the cluster are shown, and one may choose one of them. A brief description of the commands are given below:

dm menu
    This cluster contains all the commands to interact with the data manager (database). When the program is started, ipp commences in the read circuit command of this cluster to get a circuit description for which a placement can be assembled. To generate a placement, the instances of the circuit-description must have an equivalent description in the layout-view. After the circuit description is read, one can input a (partial) placement using the "read_floorplan" command or one can place individual instances using the "add_inst" command. The terminals of the father cell can be placed with the "add_io" command. Note the "add_inst" and "add_io" commands can also be found in the instance menu and the io_menu, respectively. When the placement must be saved in the database, the write_floorplan command must be selected. One may store the placement with the old name (if it had one) or store in with a new name. One must remember which circuit description belongs to a floorplan cell.

instances
    In this menu, the commands associated with instances are contained. Instances may be added according to the circuit description, or mirrored, moved, rotated, etc. The program will refuse the command, if an instance overlaps another element (an instance, a channel or a terminal) by a move or rotate command.

io_menu
    This menu contains the commands associated with io_terminals. Io_terminals can be added according to the circuit description, or deleted, resized, moved, etc. One dimensional array of terminal (either in x direction or in y direction) may be used by setting the repetition and offset array parameters. A special command is border_io which moves all the io-terminals to their closest border, when invoked. This is necessary if this program is used as a preprocessor for glroute(1ICD) and sequ(1ICD).

channels
    This cluster of commands contains all the commands for the construction and manipulation of routing channels. A command to note is init_channels with which the outmost four channels can be generated. Note that the terminals of the father cell must be placed outside the outmost channels. An inner channel can be generated by selecting two points on its parent channels using the "add_channel" command. A channel can be deleted using the "delete_chan" command. Note that all channels that are descendants of the selected channel are also deleted.

flags menu
    This menu contains commands with which the drawing of subterminals or white text can be dis- or enabled.

grid_menu
    In this menu, the grid size can be set interactively.

bottom menu
    This is the permanent menu on the bottom side of the screen. It operates independently from the vertical menus. "Bottom menu" commands can be invoked within "vertical menu" commands, without cancelling them. They can be terminated by invoking any other command or by executing the "return" command, in which case, control will return to the current "vertical menu" command. The "repeat" command can be used to put the repeatable commands of the bottom menu in auto-repeat mode. The menu contains commands for the manipulations of windows and commands for the display of nets connected to objects on the screen. Connections can be displayed for an individual net, all connections to a selected instance or all connections of the circuit. The program displays the connections in the form of (parts of) the minimum spanning tree for each net.

AUTHOR
A. van der Hoeven

SEE ALSO
dali(1ICD), gcr(1ICD), glroute(1ICD), sequ(1ICD).