Académique Documents
Professionnel Documents
Culture Documents
Cadence Trademarks
Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in this document are attributed to Cadence with the appropriate
symbol. For queries regarding Cadence trademarks, contact the corporate legal department at the address above or call 800.862.4522.
Other Trademarks
Open SystemC, Open SystemC Initiative, OSCI, SystemC, and SystemC Initiative are trademarks or registered trademarks of Open SystemC Initiative,
Inc. in the United States and other countries and are used with permission.
All other trademarks are the property of their respective holders.
Confidentiality Notice
No part of this publication may be reproduced in whole or in part by any means (including photocopying or storage in an information storage/retrieval
system) or transmitted in any form or by any means without prior written permission from Cadence Design Systems, Inc. (Cadence).
Information in this document is subject to change without notice and does not represent a commitment on the part of Cadence. The information
contained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and may be used only by
Cadence customers in accordance with a written agreement between Cadence and its customers. Except as may be explicitly set forth in such
agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or usefulness of the
information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does
Cadence assume any liability for damages or costs of any kind that may result from use of such information.
RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of
the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.
UNPUBLISHED This document contains unpublished confidential information and is not to be disclosed or used except as authorized by written
contract with Cadence. Rights reserved under the copyright laws of the United States.
2 June 3, 2013
Table of Contents
Abstract
Module 1: Help Resources
Lab 1-1 Locating Cadence Online Support Solutions ................................................................................ 7
Lab 1-2 Customizing Notification and Search Preferences ....................................................................... 9
Objective: To log in to Cadence Online Support (COS) and search for information
about a specific issue.
You can only complete this lab if you have access to the internet and a Cadence® Online Support
account. If you do not, your instructor might be able to perform a demo of this lab for the class.
7
Help Resources
On the Support Home page, make sure the following options are selected:
All Document Types
All Products
8
Help Resources
Objective: To set preferences so you can improve search results and receive email
notification.
You can set product and other preferences for improved search results and email notification.
d. Select the document types you are interested in and the frequency of delivery.
e. Click Save.
b. Click Save.
9
Module 2: Virtuoso Lab Setup
Virtuoso Lab Setup Lab 2-1
Objective: Setting up work directory, starting Virtuoso and viewing library cells.
In this lab, you will learn to setup your working directory to load and view physical libraries in Virtuoso. It
is important to know about the different library cell views and how to interrogate the physical layout
information. Layer information is important in determining how to create abstracts for use in Place &
Route tools.
Design Information
Once you have downloaded and extracted the lab database Abstract.tar.gz you should see the following
directory structure:
Change to the working directory where you will run Virtuoso and Abstract
cd ABSTRACT/work
Modify the Abstract.cshrc example to point to your SOFTWARE locations and source it.
This will launch the Virtuoso Command Interpreter Window GUI and create a log file CDS.log
in your current directory.
12 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
From the Command Interpreter Window (CIW) select Tools – Library Manager which will
launch the Library Manager.
The Library Manager allows you to load and view physical libraries along with the cells and
their different views.
Select the Abstract_Lib library to populate the Cell and View columns. You can then scroll down to
the BUFX2 cell and select it, or you can search for the cell name by typing BUFX2 in the window
below the Cell column.
The View column is then populated by all the different views that currently exist for BUFX2
cell.
In this section, you learn more about the objects on the screen, and how to view and interpret what you see
in the design window.
In the Library Manager window you can either double click on the layout view for the BUFX2
cell, or right-mouse-key select open. This will open the layout view.
14 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
All the layers can be seen in this particular view. To view only the layers that we are interested
in you will select the Used button under the Layers heading on the left side of the form. This
will limit the layers viewable and selectable for this view.
Select the NV (None Visible) switch as shown above, and the select the layers: Metal1 drw
(drawing layer), Metal1 label (Pin Text), Metal1 pin (physical pin marker)
In this simple process, all the logic and power pins are on Metal1 layer. This is important as
these are the only layers that we are interested in using to create an abstract view. Other process
may have pins on Metal2 which we need to make allowances for during extraction.
In viewing the cell you should be able to see that the (0,0) coordinate does not fall on the lower
left corner of the cell. This is important as we need to determine the size of the actual cell that
will be represented to Place & Route tools. Measure the distance from the (0,0) coordinate
point to the edge of the Metal1, what is the distance _____
If we change the boundary locations for the extracted cell to start at the (0,0) coordinate we will
not include the full Metal1 from the layout. The final abstract of this cell will be smaller than
the layout of the cell.
To determine if this is necessary we would need to measure the total height and width of the
cell layout. What is the measured width_____ what is the measured height_____
In the work directory is the Virtuoso technology file named tech.tf, go ahead and open it up to
read in your favorite text viewer. Search for Pitch in this file, what is the Metal1 Pitch____
What is the Metal2 Pitch____
Take your measured width from above and divide it by the Metal2 pitch, what is the result___ is
the result evenly divisible with no remainder?
Take your measured height from above and divide it by the Metal1 pitch, what is the result____
is the result divisible with no remainder?
In this example the height is not divisible by the pitch. If we were take the distance from the
(0,0) coordinate to the edge of the Metal1 what is the distance___. If we subtract this distance
from both the top and bottom of the cell, what is the resulting height____. Is this distance
divisible by the pitch?
Having the cell boundary divisible is extremely important to insure that cells can abut
each other and have the routing grids align accurately. This maximizes placement
and routing densities for a standard cell library.
16 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
In the same window that you started Virtuoso from issue the command abstract &
The Abstract Graphics User Interface (GUI) commands can be executed from both the pull down
menu, as well as using the icons shown above.
In the upper left corner of the GUI is the Bin area, this is used to separate standard cells (Core),
Input/Output cells (IO), Power corner cells (Corner), Macro cells (Block), and cells that may not
need to have abstracts created (Ignore). This provides for the ability to have different abstraction
techniques and setting to applied to each Bin category.
18 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
How many cells have been added to the Core Bin ____ how many cells have been added to the
Ignore Bin ____. On the right side of the Abstract GUI you will see a progress menu that will
have green check marks for each successful completion of each abstract step.
Once again we will scroll down the cells shown in the Core Bin, and select the same BUFX2 cell
we selected previously in Virtuoso. This will highlight the cell that we are going to run
abstraction steps on.
When we were looking at the BUFX2 layout view we noticed that there were four pins, A, Y,
VDD, VSS. Even though the physical pins exist in the layout, we still need to assign the logical
inference to the pin. In other words, is the pin an input pin, output pin, power pin. This is
accomplished with the first step of abstraction called the “Logical” step.
20 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
There are several means of importing the pin logic inference, in the example above we have selected
to use the Liberty library (.lib) file. You can also choose to use a Verilog cell information file. I
have provided and example file ../LIB/vlog/typical.v.
Selecting OK should results in all the cells to have pin logic inference applied. This should result in
green check marks under the Logical column for all the cells.
The next step, is called the “Pins step. Usually, no pins are explicitly defined in the layout view,
so they have to be generated before you can continue the abstract generation process. The
abstract generator derives pins from the text labels in the layout view and places the locations at
the text origins.
Select Flow – Pins or the Pins icon which will launch the Pins step form shown below.
The form has four tabs, the “Map” tab is used to map text labels to physical geometries.
Since we have used the logical step previously, there is nothing we need to add to this form. For
more information on the different elements of this form or any other form within abstract, I have
enclosed the Abstract Editors Users Guide in the work directory.
22 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The “Text” tab is used to manipulate text labels that may contain ASCII characters that may be
reserved Verilog characters or names like VDD!, VSS! This could cause issues with Place and
Route tools. Once again it has been automatically populated and no further action is needed.
The “Boundary” tab is where we will adjust the abstracted cell boundary size based upon our
earlier calculations for pitch divisibility. As you can see from above I have subtracted 0.180u
from both the top and bottom of the layout.
Even though the actual layout will have a larger Metal power and ground pin shape, the
overlap, introduced in Place & Route, will not result in any DRC violations.
24 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The “Blocks” tab is used specifically for the abstraction of macro cells and or layouts from Place
& Route that you would like to create an IP block from.
Select Run.
Once complete you can go back to the Virtuoso Library Manger window and see that a new view
called “abstract.pin” has been created. If you open this view, you should see the image shown
above. The bright blue squares are the Metal1 Text markers, and the light blue rectangles are
the Metal1 drawing layers.
26 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
Once this step is complete you will see the green check mark once again signifying correct
completion of this step. It is always a good idea that you also check the log file to look for
warnings and info tags. In this instance you will notice that since we choose to only create the
cell boundary around the Metal1 layer other layers fall outside this boundary area.
The next step called the “Extract” step is used to extract from layout, the full physical shapes of
the pins, obstructions, and the cell boundary size.
In viewing the original layout above, you will see that there exists a Metal1 Pin layer as well
as a Metal1 drawing layer. The extract step will extract the actual pin shape as defined by
the overlap of the Metal1 Pin shape and the Metal1 drawing shapes. Any Metal1 drawing
shape that does not have a Metal1 Pin shape overlapping it will become a Metal1 routing
obstruction.
Select Flow – Extract or the Extract icon which will launch the Extract step form shown
below
The Extract form has four tabs, the “Signal” tab is automatically populated, as shown above, to
extract the metal layer and contact layer information from the layout. These layers will be used
to extract and form both the physical pin shapes as well as obstruction shapes of the cell.
28 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The “Power” tab, like the Signal tab is used to extract the physical shapes of the Power and
Ground pins. It is also automatically populated with both the metal and contact layer names to
assist in extracting the power pin geometries.
The “Antenna” tab is a very important in the calculation of process antenna data. This data is
used during Place &Route to model process antenna information. Place & Route tools can then
make the appropriate routing decisions to prevent process antenna violations. The data for this
table can be found in the provided ./work/ tech.tf file, under the techLayerProperties subsection
heading. In this simple exercise, we will leave this with the default settings.
30 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The fourth tab “General” has also been populated with the layer connectivity extraction rules.
As mentioned previously, when a Metal1 text layer overlaps a Metal1 drawing layer, the pin
geometry will be created by following the Metal1 drawing layer as well as any subsequent
contact layers. In the example above, you can see that if a Metal1 drawing layer also overlaps
Via1 and Metal2 layers, they will be extracted as part of the pin geometry.
Select Run
In viewing the BUFX2 abstract.ext view above, you will notice that the A, Y, VDD and VSS
pins have been physically extracted and a new layer called Metal1 net has been formed.
32 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
When I also turn on the Metal1 drawing layer, you will also see a set of geometries in the middle
right of the layout that do not have Metal1 net properties and are not part of any pin. These will
become Metal1 obstructions.
The next step, called the abstract step is used to determine how pin shapes are to be adjusted including
both signal and blockage pin shapes. This step will create the abstract view from which a Layout
Exchange File (LEF) will be created from. Information like routing grids, placement sites, pin
fracturing, are considered during this step.
Select Flow – Abstract or select the Abstract icon which will launch Abstract step form,
shown below.
The abstract form has 7 tabs, the “Adjust” tab is used to control how pin shapes are adjusted
during connectivity extraction for creating the final required pin shapes. These pin shapes are
then fractured into rectangles. You will notice that the Signal Nets and Power Nets section are
turned off, as they are specifically used for Blocks and not for Core cells. The Power rail section
is once again automatically populated with the extracted pin width and offset from the cell.
34 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The Blockage tab will allow us to direct the Abstract step to determine how routing blockages
(obstructions) to be created. In the abstract.ext view shown above, you can see that both Metal1
drawing and Metal1 net layers are coincident, which defines the pin geometries. If we were to
perform the Abstract step, using default settings, the pins would have geometries defined in both
the PINS and OBS section of the LEF file. In order to abstract the correct geometries we define
that blockages will be created for Metal1 drawing layers but not if they are coincident with
Metal1 net layers, as shown above.
Change the Metal1 Geometry Specification element in your form with (Metal1 drawing andnot
Metal1 net).
The “Density’ tab allows you to generate metal density information for abstracts in LEF 5.6. The
density value in LEF helps in verifying metal density fabrication rules early in the design cycle
without having to replace the abstracts with actual layouts. This information in LEF can reduce
the memory requirements and increase the speed of metal fill tools and aid these tools to analyze
and fix the designs using abstracts. We will not make any changes to this form.
36 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The options on the “Fracture” tab let you control whether or not pins and blockages are fractured
depending on the PR system you are using. By using the options on the Fracture tab, you can
also control the modeling of 45-degree geometry.
In this step we will turn off the Fracturing of pin selection, as there are small Metal1 drawing /
Metal1 net layer geometries that would violate the Minimum Area Rules (MAR), as defined in
the technology file.
The “Site’ tab allows you to determine a common site requirement for the cells that are located
in the “Core’ bin. Sites tell the placer where it can place cells. All cells located in a particular
bin share a common set of properties: symmetry, class (for example, pad or core), width, and
height. These properties are used by the placer to assist in the placement process. We will not
make any changes to this form.
38 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The “Overlap” tab controls the creation of the overlap boundary. The overlap boundary is a
second, more detailed boundary used by placement tools to test whether cells overlap. Unlike the
PR boundary, which is always rectangular, the overlap boundary can be a rectilinear polygon.
This helps the placement tools achieve better placement density for certain types of standard
cells and rectilinear blocks. The options on this tab control whether the abstract generator is to
update the overlap boundary geometry. We will not make any changes to the default settings.
The final “Grids” tab is used to define the routing grids pitch and offset. The options on this tab
control the grid analysis function that calculates the best metal1, metal2, and metal3 routing grid
pitches and offsets for your standard cells. As you can see that metal pitch and offset have been
automatically extracted from the tech.tf file.
Select Run
40 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
In the Abstract Editor GUI, you should now see that you have 5 green check marks, to indicate
that you have completed steps up to and including the Abstract set.
In viewing the BUFX2 abstract view from the Library Manager window you can then see the
Pins outlined in bright blue and the blockages in a lighter blue. From the Abstract Editor GUI
you can now perform a File – Export LEF and using the default values output a LEF file for the
BUFX2 cell.
42 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
The abstract generator performs the following functions during the Verify step:
Checks terminals for any differences between logical and abstract views
Creates a small test design for each abstract and verifies whether it can be routed using Cadence
Encounter.
1. The Verify form has two tabs, as shown above. The first tab “Check” is used to select Terminals
and Manufacturing grid. The “Terminals” check verifies that the cell pins have both a logical
and physical shapes. The “Manufacturing Grid” check verifies that the physical pins shapes, that
have been abstracted, intersect the defined routing grid.
Guidelines for creating the test design that would contain the cell abstracts to be verified
44 Abstract Generator
06/13/13
Abstract Generator Lab Lab 3-1
Router messages that can be ignored when creating the verify view
3. In this step we will use the default values. Select Run to execute the verification step.
4. In viewing the BUFX2 abstract.ver view from the Library Manager Window, shown above, we
can see that several instances of the BUFX2 cell have been Placed & Routed. We can then
visually check the routing to determine that the pins are accessible.
5. You can see from the Abstract Editor GUI, that we have successfully completed the abstraction
of the BUFX2 cell. This exercise has allowed you to properly setup your abstract forms and
setting such that you can now proceed to run abstract editor on all the cells in the CORE bin. I
would suggest that you pick a more complex cell like a register to verify your settings.
46 Abstract Generator
06/13/13