<MODIFYROW 
"MODIFY ROW     

Modifies named rows or portions of rows that intersect a specified rectangular area. 


Syntax

MOD*IFY R*OW 
 {rows... | A*REA pt pt}  	
 { L*ENGTH 	  
    [PR*EFIX | PO*STFIX | C*ENTERFIX] 	  
    [D*ELTA] {pt | length | R*OW row}  	
 | T*YPE 	  
    {newType | C*ELL cellID | R*OW rowID} 	
 | O*RIENTATION 	  
    { N*ORTH | FN*ORTH | S*OUTH | FS*OUTH 
    | E*AST | FE*AST | W*EST | FW*EST } 	
 | A*LIGN 	  
   { L*EFTTOLEFT |T*OPTOTOP | R*IGHTTORIGHT 	  
   | B*OTTOMTOBOTTOM | LEFTTOR*IGHT 	  
   | TOPTOB*OTTOM | BOTTOMTOT*OP 	  
   | RIGHTTOL*EFT } 	  
   {pt | R*OW rowID | C*ELL cellID} 	
 | D*ISTRIBUTE  	  
  { CH*ANNEL 		  
    { F*ACTOR channelFactor 			
    | W*IDTH channelWidth | A*REA pt pt }  		
 | CE*LL [A*REA pt pt] 		  
  J*USTIFY 		  
   {PR*E | PO*ST | C*ENTER | F*IT} 		
 | S*PACE [P*GRID | R*GRID] spacing } } ;


Arguments

rows
Selects one or more rows by location or name. Can be repeated.

AREA pt pt
Selects rows that intersect the specified rectangle. Any portions of the rows that intersect the rectangle are modified.

LENGTH
Lengthens or shortens the selected rows either at the center or pre- or post- ends of the row by length. The length is snapped to grid.

PREFIX
Leaves the pre-edge of the row fixed. Modifies the length on the post-end.

POSTFIX
Leaves the post-edge of the row fixed. Modifies the length on the pre-end.

CENTERFIX
Leaves the center of the row fixed. Distributes the length evenly to both ends.

DELTA
The length specified is the difference between the current length and the desired length. DELTA can be negative to shorten a row.

ROW row
In the LENGTH option, this specifies the new length. If the DELTA option also is used here, the length of the row is added to the old length.

pt 
Location to put the end of the row. If the point is pre- of all the rows and the PREFIX option is specified, then the point is rejected.

length 
The new length of the row. The length is snapped to grid. The row is changed depending on the PREFIX, CENTER, and POSTFIX options.

TYPE
Changes the type of the row. Any placed cells are unplaced. Row dimensions are updated with the appropriate height and length. Rows keep the current orientation.

newType 
The new type for the row. Must exist in library.

CELL cellID
Cell uses the type of the cell model for the row type.

ROW rowID 
Use the type of the row for the row type.

ORIENTATION
Changes row orientation for the selected set. This does not allow change of row direction between Horizontal and Vertical. Cells are unplaced unless the have the Modify.Code attribute Cover. Orientations include NORTH, FNORTH, SOUTH, FSOUTH, EAST, FEAST, WEST, and FWEST.

ALIGN
Moves rows to line up the specified edges of the selected rows. The options (LEFTTOLEFT, and so on) indicate the edges to align from and to. For example, LEFTTORIGHT aligns the left edges of all selected rows to the right edge of the row or cell selected to align to. If you select a pt as the alignment location, LEFTTOLEFT and LEFTTORIGHT are the same.

pt 
Location to put the rows' edges. If the move is horizontal (LEFTTOLEFT or RIGHTTORIGHT) then only the X value of the pt applies. If the move is vertical (BOTTOMTOTOP or TOPTOBOTTOM) then only the Y value applies.

ROW rowID 
Aligns the selected rows with the specified row. Can be in the selected set of rows.

CELL cellID 
Aligns the selected rows with the specified cell. Can be in the selected set of rows.

DISTRIBUTE CHANNEL
Reallocates channel space between selected rows. DISTRIBUTE CHANNEL can operate only on rows of the same type, direction, and orientations and must operate on at least two rows. If you select rows individually (the recommended method if you expect to overlap rows of different types) the first row selected determines the legal row type, direction, and orientations. If you select rows by AREA, the first row created in the area determines what the rest are.

FACTOR channelFactor
Ratio of row height to channel height. Determines the channel width from the row height.

WIDTH channelWidth
Determines the channel width to use between rows. If channelWidth is not on grid, it is snapped to grid.

AREA pt pt
When redistributing channels, allows you to respecify the area that the rows can occupy. The number of rows does not change, nor does their length, height, or alignment. Channel width is distributed evenly between the rows. Channel width is snapped to the grid. If the area does not allow every row to exist without two rows having the same origin, then the area is expanded to allow all rows unique origins and a warning is issued.

DISTRIBUTE CELL
Redistributes all cells intersecting in the selected rows, or portions of rows, or rows and portions of rows.

AREA pt pt 
Picks up the horizontal or the vertical delimiters within the rows for the cell distribution.

JUSTIFY 
Allows the user to select the type of justification, PRE, POST, CENTER, or FIT.

PRE 
Cells spread out starting from the left edge of a horizontal row or the bottom edge of a vertical row. If an Area is specified then the edge of the area is used. Default.

POST 
Cells spread out starting from the right edge of a horizontal row or top edge of a vertical row. If an Area is specified then the edge of the area is used.

CENTER 
Cells spread out starting from the center of the row or the Area. The order of cell distribution is center (for odd number of cells), left, right, left, right, and so on.

FIT 
Cells spread out starting from the both ends of the row or the Area. The order of cell distribution is left, right, left, right, and so on. A row containing only one cell is a special case and the cell is put in the center of the row.

DISTRIBUTE SPACE 
Allows the user to specify the spacing between cells. The value of the space is calculated by the spacing times the snapping unit, where the snapping unit is one of: the database unit, the PGrid, or the RGrid. Default: the database distance unit is the default snapping unit, and the default spacing is -1.

PGRID
Cells spread out by snapping to the placement grid.

RGRID
Cells spread out by a multiple of the routing pitch.
spacing 

Cells spread out by the specified spacing. The default value of the spacing (-1) allows the cells to be distributed evenly. To abut cells, specify 0 spacing.


Description

MODIFY ROW can be done anytime after the design exists. The modifications possible include

- Lengthening or shortening a selected set of rows

- Aligning row edges to each other

- Adjusting channels

- Changing the type or orientation of selected rows

- Distributing cells within selected rows

If you specify a first pt, a rubber rectangle starts from that location. The second pt defines the opposite corner of the rectangle. All rows selected for modification are highlighted and snapped to the placement grid defined in LEF.

If the rows are selected by objectIDs, those selected are highlighted. NEXT can be used for other selections.

Any placed cells in the rows selected also move (unless they are COVER) if the row moves. A message is issued which names all cells not moved. If MODIFY ROW changes the row orientation or type, all cells in the rows are unplaced. Any unplaced cells that had Modify.Code attribute of FIXED are set to FREE. Modification does not occur until DONE has been specified.

MODIFY ROW DISTRIBUTE CELL allows you to redistribute cells within rows. MODIFY ROW DISTRIBUTE CELL rejects a selected row if there is insufficient space to contain all the cells. 

If there are cells with COVER Modify.Code within the modification row or area, MODIFY ROW DISTRIBUTE CELL issues a warning and does not move those cells. Users can either change the Modify.Code or use a different area. If cells cannot be distributed with the specified spacing, MODIFY ROW DISTRIBUTE CELL issues a warning message and distributes the first n cells with the specified spacing and abuts the rest of the cells to each other.

MODIFY ROW DISTRIBUTE can change the channel width between rows by making the channel a specific width or a multiple of the row width, or by distributing the rows evenly over the specified area. 


Related Commands

MOVE ROW adjusts the locations and configuration of rows.
"

	<Type QHELP>
	<Header "Modify Row Command Help">
>
