Previous Tutorial                 Main Menu                 Next Tutorial

Generating Abstract View for Silicon Ensemble

Unfortunatly the abstract view created in Virtuoso does not include some important information required by Silicon Ensemble, so this intermediate step helps in moving the design between programs.

Export GDS

Abstract generator comes as a part of the Silicon Ensemble package. As such, it cannot directly read ICFB library databases. We need to export the standard cell library to Stream (GDS) format, then re-import the GDS file in Abstract Generator. To export to GDS format from ICFB:

In the Stream Out User-Defined Data form, enter for the Layer Map Table. Then, click on OK.

The text file tells ICFB which layers correspond to which GDS numbers. Copy this file into your cadence directory. When we re-import the GDS file back into Abstract Generator, the tech file we are going to use has the same layer mappings.

Now, back in the Virtuoso Stream Out form, click on the Options button.
A new form, the Stream Out Options form, will appear.

In the Stream Out Options form, select No Merge for the Convert PCells to Geometry field. This flattens out any parametric cells in the cell library (For the I/O Pad Cells). Then, click on OK.

Click on OK in the Virtuoso Stream Out form. A GDS file containing the standard cell library will be generated. (There will probably be some warnings and possibly an error, but you can usually ignore them.)

Initialize Abstract Generator

Before we use Abstract Generator, we need to set it up so that it uses our technology file (i.e. ami06 technology).
First create a directory for Silicon Ensemble with a subdirectory called tech Copy this file into your tech directory and name it tech.dpux. Start the Abstract Generator by typing abstract -tech ./tech in your Silicon Ensemble directory. First we will add your library to the technology file (tech.dpux) inside of Silicon Ensemble's Abstract Generator.

Begin by clicking on File -> Technology... to bring up the Technology File Editor. Under Categories (on the left), click on Library Path. Click on Add and replace newLib1 with the name of your library (e.g. mylib) and newPath with the path to your cadence library (e.g. /home/usr_name/cadence/mylib) I would recommend having one library for each of your local Viruoso design libraries (but not the system-wide libraries) and have the library path point directly to the Cadence version of the library. The Silicon Ensemble abstract version of the cells will show up in ALL CAPS in Virtuoso, but the views will not be readable by Virtuoso. If your cells are named using ALL CAPS in Virtuoso, you will need to make a seperate library directory for you abstract generator cells. In the Technology File Editor window, click on File -> Save and close the Technology File Editor window.

Using Abstract Generator

Next we will be importing the GDS file exported earlier from Virtuoso. In the main window click on File -> Library. Since you only have one Library at this point it should come up automatically.

Click on File -> Import -> Layout and browse until you find the GDS file you exported earlier from Virtuoso. Then click OK.

After a few moments the cells from your library will appear in the window in bin Core.

At this point, if there are any cells that do not have a green check next to them in the layout view, select them (Shift allows you to select groups, Control allows you to select or deselect one at a time...same as windows). When they are all selected, click on Cells -> Move The Move Select Cells form will appear, click on the ignore bin and OK to move these cells to the Ignore bin.
Note: If there are cells without any valid views in the Core bin, you may not be able to export the library later.

To see what your cells look like in the Abstract Generator, make sure that you are in the Core bin, select the cell you would like to view, and click on Cells -> Edit -> Layout...
The inverter cell (created in the layout tutorial) should look something like this:

Because we are only interested in the metal and via layers, lets make them visible

There are three main steps in generating abstracts - generating the Pins view, the Extract view, and finally the Abstract view.
The resulting Abstract view contains only net and blockage information, which will be exported into an LEF file and imported into Silicon Ensemble.

Pins Step

If all of your cells are alike, you can process them all at once, but for now we will use the INV from the layout tutorial as an example.

Select INV and click on Flow -> Pins. The Pins form will appear.

Under Map Text label to Pins we entered ((text drawing) (metal1 pin) (metal1 drawing))
This tells Abgen to map any text in text.drawing to shapes if there are any shapes overlapping the text.
If there are not any shapes overlapping the text, then map the text to any overlapping metal1.drawing shapes.
This works if all of your text labels are either located over shapes (for your regular pins), or over metal1.drawing shapes (for your vdd/gnd pins).
If you have metal2 pins, you might try
((text drawing) (metal1 pin) (metal2 pin) (metal1 drawing) )

Under Power pin names are all of the possible nets that specify power (we only use the vdd! net).

Under Ground pin names are all of the possible nets that specify ground (we only use the gnd! net).

Under Output pin names is where you list the names of any output pins in the cells you are abstracting (e.g. y is the output of the inverter created in the layout tutorial) In the exported LEF file, these pins will have "output" as their direction.

The Pins step also generates Place-and-Route Boundaries (PR Boundaries) for each cell.

Extract Step

Abstract Step

Always take a cell (or group of cells) all the way through the process before going back and processing cells with different options in the forms (e.g. Pins form). When abgen detects changes in form options, it will try to re-run the preceeding steps again using the most recent options.

Cell Orientation

When all of the cells in the core bin that you wish to process have abstract views, it is time to set the correct properties.
Select the inverter cell and click on Cells -> Cell Properties
Make sure the bin is Core, the site is core, and symmetry property is X Y (this means they can be flipped across both the X and Y axis). Then click OK.

LEF File

There is one last step before exporting the LEF. Select General Options under the File menu and choose Silicon Ensemble for Target place and route system, 100 for LEF units, and 5.3 forLEF version. Click OK.

In the main window click on File -> Export -> LEF to bring up the Export LEF form.
Specify the location of where you wish to save the file.
Select Core fro the Export LEF for Bin field and click on OK.

This LEF file will be imported into Silicon Ensemble in the next section of this tutorial.
Previous Tutorial                 Main Menu                 Next Tutorial