Automatic Floorplanning, Place, and Route From an ADK Schematic

1. Create an IC cell for the adder1 design

    1.1 If not already there, move back to the location of the schematic and symbol for the adder1 design you created in lab 7 and start ICStation:
     
      >> cd egre429
      >> cd lab7/netlist/work
      >> adk_ic &
     
    1.2 Create a cell for the adder1 by clicking on Create under the Cell item in the Session palette. Enter adder1 under the Cell Name item. Click the Navigator... button under the Attach Library button and navigate to $ADK/technology/ic. Click on the ami05 library and click OK in the Navigate dialog box. Use the same method to select the ami05 process  and ami05.rules files under the Process and Rules File items. Click on With connectivity under the Connectivity? item and select the ami05 viewpoint under the adder1 component back in your lab7/netlist/work directory (note this is different than the sdl viewpoint you used in lab 6). Click the Logic Loading Options... button and select Flat in the Logic Loading item in the dialog box that comes up. Click OK in that dialog box and the Create Cell dialog box should now look like the one below:

    Click OK and this will create a new, blank IC window called adder1.

2. Floorplan, autoplace, and autoroute the adder1 block

    2.1 Click on Floorplan in the IC Palettes palette. In the Floorplan palette, click Autofp. Leave the default setting in the Autofloorplan Options dialog box that pops up and click OK. This will result in a set of floorplan shapes being added to the adder1 window which specify the rows into which the standard cells that make up the adder1 component will be placed and the external edges of the block onto which the ports will be placed. The adder1 window should look like the one below:

    2.2 Click Back in the Floorplan palette and click Place & Route in the IC Palettes palette. In the Place & Route palette, click StdCel under the Autoplc item. Leave the default options set in the dialog box that comes up and click OK. Next, click Ports under the Autoplc item. Leave the defaults checked in the dialog box that pops up and click OK. The result should be an adder1 window that looks like this one:

    2.3 From the Place & Route palette select All under the Autorou item. Click Options in the Autoroute All dialog box that comes up. In the Autoroute All Options dialog box, click Expert options. Select Channel Over Cell Routing and click OK in the Router Expert Options dialog box that comes up. Click OCR options back in the  Autoroute All Options dialog box and set the step size to .5 and the Operation Mode Type to Center Weighted and click OK in the OCR options dialog box. Finally, click OK in the Autoroute All Options dialog box and the Autoroute All dialog box to begin routing. Depending on the size of the design this may take several minutes. When the process has completed the mouse pointer changes back from an hourglass to an arrow and the results of the process are in the transcript. The result should be an adder1 window that looks like the one below:

    This small design will route completely the first time. However, for large designs, some un-routed overflows may still exist. These overflows must be routed as described below:

    This step is necessary even if overflows don't immediately appear in the routed layout. When zoomed out small overflows may not be viewable, but may still exist. To select all overflows in the design type "check over". In the form window that appears select All and OK the form. Next, from the Place & Route palette select Overflw. If the response "An object of type Overflow must be selected" appears in the status block, there are no overflows to route. Otherwise, the overflows will be routed.

    2.4 Save the layout by selecting File->Cell->Save Cell->Current Context. You may save the layout and exit the ICStation session at any time. To re-load the layout later, choose open from the IC station palette. If you wish to make changes to the cell, you must also selectFile->Cell->Reserve Cell->Current Context.