Encounter
Encounter
Encounter
Version 10.1
Lab Manual January 29, 2010
1990-2010 Cadence Design Systems, Inc. All rights reserved.
Printed in the United States of America.
Cadence Design Systems, Inc., 2655 Seely Avenue, San Jose, CA 95134, USA
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.
Table of Contents Floorplanning, Physical Synthesis, and Place and Route (Flat)
Table of Contents
Floorplanning, Physical Synthesis, and Place and Route (Flat)
Lab 6-1 Routing Critical Nets with Shielding and Spacing .......................................................... 6-1
Loading the Design .................................................................................................... 6-1
Setting Shielded and Spacing Net Attributes............................................................. 6-1
Routing the Nets ........................................................................................................ 6-2
Lab 10-1 Using the dbGet and dbSet Commands ......................................................................... 10-1
Getting Started ......................................................................................................... 10-1
Lab 11-1 Generating and Running the Foundation Flow Scripts.................................................. 11-1
Getting Started ......................................................................................................... 11-1
Running the Foundation Flow Wizard..................................................................... 11-2
pull down Move the mouse cursor to the menu name on the menu
banner, press and hold the left mouse button, move the
cursor down to highlight the menu selection, release the
mouse button to execute the selection.
Choose Position the cursor over a command and press the left
mouse button. Select or pick are synonyms for choose.
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.
3. On the Support Home page, make sure the following options are
selected:
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) ii-1
b. All Products
End of Lab
ii-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Customizing Notification and Search Preferences
---------------------------------------------------------------------------------
1. 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.
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) ii-3
ii-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 1
In this lab, you import a gate-level netlist and libraries into the Encounter®
Digital Implementation system and create a floorplan. You become familiar
with the floorplanning and power planning forms and icons. You also
become familiar with checking the libraries, checking the design, and using
bindkeys.
Design Information
The design contains almost 6000 instances, 57 I/Os and about 6274 nets. The
netlist is a hierarchical Verilog® netlist. The DMA source clock is
DTMF_INST/clk. The Serial Port Interface Clock is DTMF_INST/spi_clk.
The scan clock is scan_clk. The process used is the180 nanometer process
technology with 6 layers of metal.
Do not use the window where you started the software for any
windowing or UNIX operations, except to communicate with the
tool.
Importing a Design
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-1
Importing a Design Lab 1-1
Field Description
1-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-1 Importing a Design
Field Description
LEF Files Library of components and physical data for the components in LEF
format.
IO Assignment File This file contains the I/O pad order information to enable the software
to place the pads on the periphery of the design. If this file is not
provided, the tool will place the I/O pads randomly around the
periphery of the design.
MMMC View Contains pointers to timing libraries and SDC constraints files
Definition File
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.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-3
Importing a Design Lab 1-1
1-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-1 Importing a Design
Note: The size of the module guides relates to the utilization of each
module and the number of standard cells that the modules
contain.
10. To zoom a particular area, press and drag the right mouse button
over a rectangular area.
The window zooms to that area.
a. Click the Help button on the form to better understand the fields
on the form.
Most forms have a Help button to bring up a Cadence Help
window and give you more information about the form.
b. Click the Cancel button on the form when you are finished.
12. Regroup the modules by selecting one of the pink guides and
pressing the Group icon.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-5
Importing a Design Lab 1-1
End of Lab
1-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-2 Using Bindkeys
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-7
Using Bindkeys Lab 1-2
7. Click OK.
Using Bindkeys
Note: The blue flight lines display connections between the block
and the module guide that it connects to.
4. Double-click RAM_256X16_INST.
2
The Attribute Editor appears.
1-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-2 Using Bindkeys
7. Click the Move button and move the RAM inside the core area of
the design.
12. Press a to get out of the move mode and into the selection mode. a
13. Select DTMF_INST, the large pink module on the left of the core
area.
G
14. Press Shift-g once to ungroup the DTMF_INST module.
16. Hold the Shift key down and click to select another module. Release
Shift –
the Shift key after selecting the module.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-9
Using Bindkeys Lab 1-2
17. Click the Move button and move the two modules into the core
area.
End of Lab
1-10 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-3 Tearing Off Menus
1. Choose Floorplan.
2. Click the dashed line above the menu list to detach the menu from
the main task bar.
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-11
Clearing the Floorplan Lab 1-4
3. Click OK.
The Module Guides and the hard macro that were placed in the core
area will be unplaced.
End of Lab
1-12 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-5 Initializing the Floorplan
2. Click the Help button on the Specify Floorplan form to learn more
about the options on this form.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-13
Initializing the Floorplan Lab 1-5
4. Select the ruler icon or press the k key and measure the distance
between the core area and the I/O boundary.
5. Delete the ruler by clicking the Clear all ruler icon or by pressing
Shift-k.
1-14 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-6 Customizing the Menus
Use the commands uiAdd and uiDelete to add and delete menu items.
1. Run the following command in the csh window where you started
the tool:
uiAdd expMenu -type menu -label NewMenu -in main
2. Notice that a new menu NewMenu appears in the upper right corner
of the main menu. You might have to expand the design window to
see the newly created menu.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-15
Customizing the Menus Lab 1-6
5. Run the following command to add New Verify to the Verify menu:
uiAdd expVerify -type command \
-label "New Verify..." -command [list puts \
"New Verify"] -in $vMenu
6. Notice that a new menu item appears under the Verify menu.
End of Lab
1-16 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-7 Checking the Design
In this lab, you check the design files and identify the problems to fix.
Tip: Hint: Check for the string “Output Floating nets” in the
checkDesign/DTMF_CHIP.main.htm.ascii file.
Answer: _____________
Which cells are marked “Dont Use”?
Answer:
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-17
Checking the Design Lab 1-7
End of Lab
1-18 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
Floorplanning
This section introduces you to the floorplanning icons in the Tools area.
1. Position your cursor over each of the icons in the Tools area to
display their functionality.
2. Pan left in the design window by pressing the Tab key and by
clicking the left arrow button on your keyboard.
5. Click the Move button and move a module guide (pink) into the core
design area.
If you do not want to see these blue flight lines, click theAll Colors
button.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-19
Floorplanning a Design Lab 1-8
9. Grab an edge or corner of the selected module guide using the left
mouse button and draw a box to represent the cutout area.
1-20 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
10. Click again. The resulting rectangle will become the cutout area of
the originally rectangular-shaped guide.
Notice that the TU number changes. The TU value is the target
utilization percentage for the given module area.
Tip: The binding key is associated with the selectMode action in the
Binding Key form.
13. Select the placement blockage that you created, and press q to view q
the properties.
What type of placement blockage is it?
Answer: ________________________
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-21
Floorplanning a Design Lab 1-8
Relative Floorplanning
In this section, you use the Relative Floorplan tool to place blocks in the core
area.
1-22 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
7. Click Apply.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-23
Floorplanning a Design Lab 1-8
16. View the saved .tcl script and notice that the parameters that are
saved correspond to the settings that you specified in the forms
earlier.
1-24 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
You can place the blocks in your design before placing the standard cells by
running automatic floorplanning.
3. Click OK.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-25
Floorplanning a Design Lab 1-8
d. Click OK.
3. Zoom in to the area where the block was placed to view the halo that
you created.
9. Click Save.
1-26 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
12. View its properties by selecting the blockage and then pressing q. q
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-27
Floorplanning a Design Lab 1-8
Power Planning
a. In the Nets field, make sure that the nets are VSS and VDD.
1-28 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
d. Use METAL6 V as the layer for left and right. Select a width of
8, a spacing of 1.
a. Make sure that the nets field contain VDD and VSS.
a. For the Relative from Core Area or selected area, enter 100 for
both X from left and X from right.
b. Click OK.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-29
Floorplanning a Design Lab 1-8
c. Notice the power stripes and the vias connecting the rings to the
stripes are created.
1-30 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
5. Select the instance in the Design Browser form and open the
Attribute form for the instance by clicking the Attribute Editor
icon.
b. Move the mouse pointer into the core design area. The pointer
changes to a crosshair.
d. In the Attribute Editor, change the Status field to Placed and click
OK.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-31
Floorplanning a Design Lab 1-8
1-32 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 1-8 Floorplanning a Design
4. For Layer Change Control, select Metal 6 for the top layer and Metal
1 for the bottom layer
5. Make sure that Allow Jogging and Allow Layer Control and
selected.
6. Click OK
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1-33
Floorplanning a Design Lab 1-8
12. Notice that the power routes have been connected to the power
planned targets with relevant vias.
3. Click OK.
Summary
End of Lab
1-34 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 2
2. Choose File –Import Design on the pull-down menu and load the
dtmf.conf file.
a. Select dtmf.fp.
b. Click Open.
c. Press OK.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 2-1
Running Placement Lab 2-1
c. Click OK.
6. Specify the two scan chains in the design by entering the following:
specifyScanChain scan1 \
-start {IOPADS_INST/Pscanin1ip/C} \
-stop {IOPADS_INST/Pscanout1op/I}
specifyScanChain scan2 \
-start {IOPADS_INST/Pscanin2ip/C} \
-stop {IOPADS_INST/Pscanout2op/I}
2-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 2-1 Running Placement
Notice that the status of the design on the lower right corner changes to
ScanOptimized. This field is a convenient way to check where you are in the
flow and determine what you need to do next.
11. In a separate xterm window, view the log file for this session.
What were the initial and final wirelengths of scan1 and scan2 as a
result of reordering?
Answer: ___________________________________
14. Make sure that Std. Cell and Instance under All Colors is set to
visible.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 2-3
Running Placement Lab 2-1
16. Notice that in addition to cell placement, Trial Route has been run
on the design.
2-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 2-1 Running Placement
26. Save the design by choosing File–Save Design and entering this file
name:
placement.enc
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 2-5
Running a Trial Route Lab 2-2
2. Make sure that the max. route layer is set to 4. Even though there are
6 routing layers for this technology, for this lab, restrict Trial Route
to use only 4 layers.
3. With all other default options, click OK to run Trial Route using
Medium (default) effort.
Notice the diamond and multicolored congestion shapes that appear
in the Design window. These are areas of congestion.
2-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 2-2 Running a Trial Route
b. In the Vertical Congest area, click the square shape next to the
check box to bring up the Vertical Congest Color Selection form.
The colors on this form map to the congestion colors that result
from Trial route.
c. Click Close.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 2-7
Running a Trial Route Lab 2-2
4. To get a general idea on the routability of the design, view .log file
for your session and view the log generated by Trial Route. Look for
the keyword Congestion distribution in the log file. Just above this
is a line stating the Overflow.
If both numbers in the (#% H) and (#% V) are less than 0.5% (for
3-layer metal), and less than 1.0% (for 5 or more layers), then this
design is routable. Evaluate the routability according to the layer
routing constraints (routing restricted to 4 layers) that you have set
for Trial Route.
Is this design routable?
Answer: ____________________________
2-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 2-2 Running a Trial Route
5. Select a net.
6. Press F12 to dim the background so that you can see the net better.
7. Double-click on the net to bring up the Attribute Editor and view its 2
properties.
What is the name of the net?
Answer: ______________________
Which layer is the selected net on?
Answer: ______________________
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 2-9
Running a Trial Route Lab 2-2
18. Verify that the net is selected by looking at the SelNum value on the
lower right corner of the design window.
19. Select the Zoom Selected icon in the Design Browser form to see
this net.
You might have to zoom further into this area to finally see this net.
20. To see better, dim the background by pressing F12. You can get
back to the original display by pressing F12 again.
21. You can see all the color assignments for the metal layers by
clicking the All Colors button and the Wire/Via tab.
2-10 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 2-2 Running a Trial Route
Metal1 _________
Metal2 _________
Metal3 _________
Metal4 _________
Metal5 _________
Metal6 _________
Note: By default, Trial Route does not use metal1. You can force the
trial router to use metal1 by entering this command:
trialRoute -useM1
23. Save the design and enter pr.enc for the filename.
Summary
In this lab, you ran placement and trial routing. You also analyzed the
congestion after trial routing and determined the routability of the design.
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 2-11
Running a Trial Route Lab 2-2
2-12 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 3
In this lab, you extract RCs (resistance and capacitance). They are a
prerequisite for running timing analysis.
a. Copy the file pr.enc and the directory pr.enc.dat from the saved
directory to the work directory.
cp -R ../saved/pr.* .
Note: For the purposes of this lab, don’t save any files, because the
generated files will be very large. The extracted RC
information is annotated in the design database.
Notice that the status of the design on the bottom right corner
changes from Routed to RC Extracted.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-1
Extracting RC Data Lab 3-1
Calculating Delays
Next, delays are calculated for the interconnect wires and include instance
delays.
a. Select Ideal Clock if it is not selected, because you have not yet
run clock tree synthesis on the design.
b. Click OK.
The command creates a file in SDF format.
2. To see what the default delay for the large nets has been set to,
choose File – Import Design.
3. If you do this step, click Cancel to avoid importing the design again.
End of Lab
3-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-2 Running Timing Analysis and Generating a Slack Report
2. In the Timing Analysis form, make sure that the Pre-CTS option is
selected because you have not yet created a clock-tree for the design. Note: The Pre-Place option
considers a zero wire-load model
The Setup option is selected (default), because we are interested in while ignoring high-fanout nets.
generating reports for setup under worst-case conditions. This option is useful to check if
there are any errors in your
The timing reports will be saved to the directory specified in the constraints file prior to running
Output Directory field. placement for the first time.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-3
Running Timing Analysis and Generating a Slack Report Lab 3-2
5. Click OK.
The Timing Debug window comes up.
How many failing paths do you have in the design?
Answer: ______________________________________
What is the Worst Negative Slack (WNS) and the Total Negative
Slack (TNS)?
Answer: ____________________________________
7. Close the Timing Path Analyzer window by clicking the X at the top
corner of the window.
End of Lab
3-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-3 Running Timing Optimization
2. Because you have not yet run clock tree synthesis (CTS), make sure
that the pre-CTS button is selected.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-5
Running Timing Optimization Lab 3-3
5. Select the file folder icon next to the Report File(s) parameter.
a. Make sure that you save the file in the work directory and not in
the timingReports directory.
End of Lab
3-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-4 Running Clock Tree Synthesis
3. Select the cells that start with CLK by selecting the first one on the
list.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-7
Running Clock Tree Synthesis Lab 3-4
3-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-4 Running Clock Tree Synthesis
4. In the Display Clock Tree form, select the Display Clock Tree and
All Level buttons.
5. Click Apply.
In the Physical view window, the clock tree is highlighted in yellow.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-9
Running Clock Tree Synthesis Lab 3-4
7. Click OK.
8. Zoom in to any area that contains a highlighted area and you see
multicolored instances.
Note: These colors represent the different insertions delays for the
leaf cells. The color coding is Red (most delay), orange,
yellow, green, blue-gray, blue, and purple (least delay). The
clock segments do not represent the entire clock tree. They
represent segments of the tree that are connected to the leaf
cells.
3-10 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-4 Running Clock Tree Synthesis
11. Display the detail routed clocks by first deleting the trial routes in
the design by entering the following command:
dbDeleteTrialRoute
12. Make sure that Std. Cell and Net are visible under All Colors.
b. Select Post-Route.
d. Click OK.
14. Save the design by choosing File – Save Design and entering this
file name:
clock_tree_syn.enc
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-11
Running Clock Tree Synthesis Lab 3-4
19. Click OK
The Global Clock Debug Tool will be displyed.
20. The left pane contains details about the clocks in your design. You
can expand the levels to display additional information.
As you explore the details, notice that some of the clocks seem to be
driving too few flip-flops. If this were a real design, you would go
back to the SDC file and debug why these clocks are defined in this
way and determine if there is an error that must be corrected.
3-12 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-4 Running Clock Tree Synthesis
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-13
Running Clock Tree Synthesis Lab 3-4
Notice that the min path is highlighted in green and the max path is
highlighted in red.
32. The right pane contains the root, timescale, and the number of
flip-flops. Move your mouse over the objects in the right hand pane
to display the names of the drivers, the leaf cells and their skew and
delay values.
33. Explore the clock tree analyst and close it after you are finished.
The clock uncertainty value in the dtmf.sdc file includes both jitter and
insertion delay. Because you have a clock tree now, the actual insertion delay
will be taken into account by the timing analysis tool. Therefore, you need to
reduce the clock uncertainty number in the constraints file and leave in the
jitter value.
3-14 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 3-4 Running Clock Tree Synthesis
38. If you have hold violations (negative slack), run optimization for
hold.
What is the slack after optimization?
Answer: ________________________________
If you have hold violations after running hold optimization, then
routing the design might improve or fix the negative slack. In later
labs, you will route the design and rerun hold checks to see if you
still have violations.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 3-15
Running Clock Tree Synthesis Lab 3-4
Summary
In this lab, you extracted parasitics, ran timing analysis, and ran an
optimization. After optimization, you ran clock-tree synthesis to create a
clock tree in your design. You reran timing analysis to check if there are any
post-CTS timing violations. When you had violations, you reran optimization
to improve timing.
For a specific floorplan, you quickly got relatively accurate feedback on the
timing of the design.
End of Lab
3-16 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 4
Objective: Extract the RCs in the design using both the sign-off
and built in extractors and generate scale factors.
3. In the graphical interface, load the design which has been detail
routed by choosing File – Restore Design and specifying this file:
routeExtract.enc
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 4-1
Extracting and Generating Scale Factors Lab 4-1
Note: In order to set the scale factors you can either modify the
create_rc_corner defaults in the dtmf.view file or run the
setRCFactor command.
Summary
End of Lab
4-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 5
Power Analysis
Lab 5-1 Running Power Analysis
Importing a Design
a. Click the Load button, select the dtmf.conf file, and click Open.
This file populates the fields in the Design Import window.
Loading a Floorplan
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 5-1
Running Power Analysis Lab 5-1
Extracting RC Data
5-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 5-1 Running Power Analysis
2. Click OK.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 5-3
Running Power Analysis Lab 5-1
5. Click OK.
5-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 5-1 Running Power Analysis
6. Click OK.
1. After the power analysis tool runs, the Power and Rail Analysis
Results form appears.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 5-5
Running Power Analysis Lab 5-1
2. The filter ranges displayed in the form are organized from the
highest drop (in red) to the lowest drop (green).
3. Click Apply.
What are the primary colors and corresponding ranges of your IR
drops?
Answer: ____________________________________________
4. Change the filter range by by entering 1.59 for min and 1.62 for max.
5-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 5-1 Running Power Analysis
Summary
In this lab, you ran and viewed the power and IR drop analysis of the
Encounter software.
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 5-7
Running Power Analysis Lab 5-1
5-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 6
Certain critical or high speed nets require shielding or spacing from other
nets. In this lab, you specify attributes to shield those nets and to assign the
nets used for shielding. You will also set up extra spacing for a particular net.
You typically want to route these nets and shields before routing any other
nets.
2. If you did not save your design at the end of Lab 3, copy a saved
design that has been placed and in which the clock tree has been
synthesized.
cp -R ../saved/postCTSopt.enc* .
1. In the csh Encounter® window where you started the software, enter
this command at the encounter prompt:
setAttribute \
-net DTMF_INST/TDSP_CORE_INST/read_data \
-shield_net VDD
The actual shielding will take place in a later step.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 6-1
Routing Critical Nets with Shielding and Spacing Lab 6-1
2. In the same csh window, check the attributes that you set for the
read_data net by entering:
getAttribute -net \
DTMF_INST/TDSP_CORE_INST/read_data
Is the read_data net going to be shielded?
Answer: __________________________
If so, with what net will be used for shielding?
Answer: __________________________
3. Set the net attributes to add space around a critical net (clk) by
entering this command:
setAttribute -net DTMF_INST/clk \
-preferred_extra_space 2
The router will add extra tracks of spacing around the net if the
design is not overly congested.
You will route the shielded net first. After routing the shielded net, you will
route the spaced net along with the remaining nets. The power nets will be
connected using default width wires to other prerouted power nets.
1. In the csh Encounter window, select the net that you will be
shielding by entering:
selectNet DTMF_INST/TDSP_CORE_INST/read_data
Make sure that you are in the Physical view.
c. Click OK.
6-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 6-1 Routing Critical Nets with Shielding and Spacing
c. Press Return.
d. Select the net in the Design Browser with the left mouse button
and click the Zoom Selected icon to highlight the net in the
Encounter window.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 6-3
Routing Critical Nets with Shielding and Spacing Lab 6-1
6-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 6-1 Routing Critical Nets with Shielding and Spacing
a. In the Routing Control section, turn off the Selected Nets Only
option before starting the router.
c. Select SI Driven.
8. View the log file for the current session to determine if there were
antenna violations that have been fixed during Search and Repair.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 6-5
Routing Critical Nets with Shielding and Spacing Lab 6-1
9. Run setup timing analysis in postroute mode and include the effects
of SI.
a. Click OK.
Are there any timing violations?
Answer: _________________
10. If there are were timing violations, you would run the following
commands for optimization and timing analysis:
setSIMode –analysisType default
setDelayCalMode –engine default –siAware true
optDesign –postRoute
optDesign –postRoute –hold
setDelayCalMode -engine signalStorm -SIAware
false
timeDesign –postRoute –si
timeDesign –postRoute –si –hold
11. Save the design by choosing File–Save Design and then entering
this file name:
DTMF_detailrouted.enc
6-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 6-1 Routing Critical Nets with Shielding and Spacing
Summary
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 6-7
Routing Critical Nets with Shielding and Spacing Lab 6-1
6-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 7
Wire Editing
Lab 7-1 Using the Interactive Wire Editor
In this lab, you load a design, set up wire snapping to pins and tracks, and
route with nondefault wires. You also route shielded nets and change the
width of a signal wire.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-1
Using the Interactive Wire Editor Lab 7-1
7-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
5. Select the Prefclkip instance by clicking the name, then use the
Zoom Selected icon in the Design Browser window to view the
instance.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-3
Using the Interactive Wire Editor Lab 7-1
The net that you will route connects the pin in the lower right corner
of the I/O instance to the PLLCLK_INST block.
7-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
7. With the left mouse button, draw a box around the Prefclkip pad.
You will see the connectivity of the pin on the pad to the pin on the
PLL.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-5
Using the Interactive Wire Editor Lab 7-1
8. Click and drag the right mouse button to zoom to the point where
you can see both the pad pin and the PLL pin for this net.
This view lets you determine an optimal route for the net.
9. Again, click and drag the right mouse button to zoom an area near
the PLL block pin where you can see the pin and the nearest stripe
to its left.
7-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-7
Using the Interactive Wire Editor Lab 7-1
Bindkey Description
7-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
10. Click on an area where there is empty space to set the selection of
objects to 0.
11. Turn on auto query by clicking the Q button in the bottom of the
Encounter graphical interface.
Use this auto query feature to add the net name to the Nets field.
12. Make sure that the Encounter window is the active window and
move the pointer over the refclkI net (connecting to the refclk pin on
the PLL block).
14. Making sure that the cursor is in the Encounter graphical window,
press Shift-a to change the cursor to a pencil for wire A or
editing.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-9
Using the Interactive Wire Editor Lab 7-1
16. In the Edit Route Form, under the Nets tab, change the Rule field
from Default to widewire.
You will see a wider wire (defined in the LEF file) coming from the
pin, but you will also see violations. The width of the wire is greater
than the pin size and violates the obstructions that surround it.
18. Move the cursor to left (in the horizontal direction) about half way
from the refclk pin to the destination pin by dragging the wire.
The wire segment will be created with a default width wire on M1.
19. Click the left mouse button to complete this segment of the
route.
7-10 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
21. Change the Rule to widewire to route the next segment with a wide
wire in M4.
22. Click the left mouse button to end the M4 vertical route when the
flight line is horizontally even with the I/O pin.
24. Press 5 on the keyboard to change the layer for the horizontal route
to M5.
25. Finish the route to the I/O pin by double-clicking the left mouse
button near the I/O pin. 2
Because you have previously set the Snap to Pin value to Auto, the
tool will automatically snap to pin C.
26. Press a to get out of the wire edit mode and into select mode. a
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-11
Using the Interactive Wire Editor Lab 7-1
You can replace a selected via with another, provided they both have the
same LEF rule.
3. To select the via to change, draw a box around the via while pressing
the left mouse button at the same time.
7-12 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
Note: The Edit Route form does not provide access to this feature.
You can only change one via at a time using the bindkeys.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-13
Using the Interactive Wire Editor Lab 7-1
Reshaping a Wire
You can use the Cut Wires and Move Wires icons to modify a wire
following routing or editing.
3. Click and drag at two different places on Metal4 where you want to
create a jog.
You will see overlapping wire segments formed based on where you
made the cuts.
7-14 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
7. To create a jog, click and drag the Metal4 segment (where you
previously created the cuts). Click again where you want to place the
segment.
The segment and connecting wires are moved while keeping the
route intact.
In addition to routing a nondefault wire with a wide wire rule defined in the
LEF file, you can also use the Wire Editor to force the width of a wire by
making it a special wire. This procedure lets you specify any width for the
wire.
In this section, assume that you have just learned that the nondefault width
used for the refclkI net was too small. You need to make the width of the wire
the same as the width of the I/O pad pin.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-15
Using the Interactive Wire Editor Lab 7-1
3. Press d.
d
This bindkey brings up the Select/Deselect/Delete Routes form.
7. Click Apply.
9. Make sure that Special Net under All Colors is Visible and
Selectable.
12. Put the cursor over Pin C on the I/O pad and press Shift-s. S
This action will populate the Nets field and select layers for
horizontal and vertical routing.
13. Turn the Force Special (to allow arbitrary widths) button on.
14. In the Edit Route form, click the Route tab and set the Vertical
Layer to M4 and the width field to 2.0.
15. Select the Snap tab and make sure that the Snap to Pin option is
selected and set to Auto.
16. Make sure that the net name in the Nets field is refclkI.
7-16 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
18. You will start the route by clicking left on the I/O pin to start the
horizontal route.
21. Complete the horizontal route to the PLL block pin using default
Metal1 widths.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-17
Using the Interactive Wire Editor Lab 7-1
22. When you get to the pin, double-click left to end the route.
You may need to click the numeric keys (1, 2, 3, etc.) to select the
2
layers for routing.
7-18 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 7-1 Using the Interactive Wire Editor
Summary
■ Loaded a design.
■ Swapped vias.
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 7-19
Using the Interactive Wire Editor Lab 7-1
7-20 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 8
Verifying a Design
Lab 8-1 Using the Verify Commands in a Design
In this lab, you run different verification options in the Encounter® system.
3. In the csh Encounter window, load the design for power routing by
choosing File–Import Design.
4. Click the Load button at the bottom of the Design Import form.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 8-1
Using the Verify Commands in a Design Lab 8-1
2. Make sure you are looking at the Physical View. Turn on the
Geometry Loop option, and click OK.
You can also run this from the command line by entering:
verifyConnectivity -geomLoop
8-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 8-1 Using the Verify Commands in a Design
5. Select the violation on net n_4074 and use the Fit Violation icon to
zoom into the violation marker.
You can alternatively zoom into the area which has the x violation
marker.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 8-3
Using the Verify Commands in a Design Lab 8-1
12. Repeat the Select and Apply steps until all the loop segments are
deleted.
8-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 8-1 Using the Verify Commands in a Design
13. After you have deleted the loop segments, click Close in the
Select/Delete/Deselect form.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 8-5
Using the Verify Commands in a Design Lab 8-1
8-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 8-1 Using the Verify Commands in a Design
Summary
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 8-7
Using the Verify Commands in a Design Lab 8-1
8-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 9
Getting Started
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 9-1
Loading a Design for ECO Routing Lab 9-1
5. View the ecoFile and verify the connections have been changed.
If this was a production design, you would continue with the
postroute flow if you want, including timing and signal integrity
analysis, repair, metal fill, and verification.
Summary
End of Lab
9-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 10
Database Commands
Lab 10-1 Using the dbGet and dbSet Commands
Getting Started
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 10-1
Using the dbGet and dbSet Commands Lab 10-1
5. Select head from the attributes that are available at this level and
enter:
dbGet head.?
This command returns the attributes that are available at this level.
The attributes are:
head: allCells dbUnits layers mfgGrid objType
props ptns rules vias
8. List all the attributes and their values by entering the following:
dbGet head.??
The results might not always be readable text, as in this example.
10-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 10-1 Using the dbGet and dbSet Commands
12. To get to the top level of the hierarchy, enter the following
command:
dbGet top.?
13. This lists all the attributes that you can query.
topCell: bumps fPlan hInst insts markers name
nets numBidirs numInputs numInsts numNets
numPGTerms numPhysInsts numPhysNets numPhysTerms
numTerms objType pgTerms physInsts physNets
physTerms pinToCornerDist props
statusClockSynthesized statusGRouted
statusIoPlaced statusPlaced statusPowerAnalyzed
statusRCExtracted statusRouted statusScanOpted
symmetryR90 symmetryX symmetryY terms texts
Try out different attributes and think of examples of how you can
use the results in scripts, or just to query the attributes of your design
and check a few things.
16. Report the size of the halo on the right of the block by entering the
following command:
dbGet selected.pHaloRight
What is the value that is returned?
Answer: ___________________
17. Change the size if the halo around the block by entering the
following:
dbSet selected.pHaloRight 5
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 10-3
Using the dbGet and dbSet Commands Lab 10-1
20. Explore the attributes and properties that are returned and change
them.
Summary
In this lab, you ran the db commands to report and modify the attributes of
the design and its objects.
End of Lab
10-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Labs for Module 11
Getting Started
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-1
Generating and Running the Foundation Flow Scripts Lab 11-1
3. Click Continue
11-2 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 11-1 Generating and Running the Foundation Flow Scripts
6. Enter ../../lef/all.lef for the technology LEF file. In this example, the
technology part of the LEF file and the Physical LEF models for the
standard cells and macros are contained in one file.
7. Click Continue.
9. Click the file navigator icon next to the field which will contain the
paths and the names of the Verilog netlists.
Thie will bring up the form which you will use to navifate the
directory structure and select the Verilog files.
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-3
Generating and Running the Foundation Flow Scripts Lab 11-1
11. In the right hand pane navigate up and into the verilog directory.
13. Make sure that the two files appear in the left hand pane.
11-4 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 11-1 Generating and Running the Foundation Flow Scripts
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-5
Generating and Running the Foundation Flow Scripts Lab 11-1
21. This will bring up the Setup your Clock Tree Synthesis Constraints
form
25. Make sure that the information that you see is correct
27. This will bring up the form Setup your design for Timing-driven
Place and Route
11-6 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 11-1 Generating and Running the Foundation Flow Scripts
32. In the Add Library Set form, create a new library set called
dtmf_lib_max
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-7
Generating and Running the Foundation Flow Scripts Lab 11-1
33. Use the navigation icons to populate the fields with the *slow*.lib
files and the slow.cdb file.
Refer to the .lib files and .cdb file specified for the dtmf_lib_max
library set in the dtmf.view file to make sure that you select all the
files associated with the dtmf_lib_max parameter.
37. Use the navigation icons to populate the fields with the *fast*.lib
files and the fast.cdb file.
11-8 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 11-1 Generating and Running the Foundation Flow Scripts
43. For the Cap Table File field, navigate to or enter in the following:
../../captable/t018s6mlv.capTbl
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-9
Generating and Running the Foundation Flow Scripts Lab 11-1
45. Expand the dtmf_rc_corner field and make sure that you see the
following:
52. Click OK
11-10 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 11-1 Generating and Running the Foundation Flow Scripts
57. Click OK
59. Click one of the two OFF buttons that you see.
This will bring up the Add Analysis View form
63. Click OK
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-11
Generating and Running the Foundation Flow Scripts Lab 11-1
67. Click OK
71. In the interest of time, you will be leaving in defaults in the Setup
Your Power form.
80. This command will use the Foundation flow code generator to
generate the scripts required for implementation as well as the
Makefile
11-12 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11
Lab 11-1 Generating and Running the Foundation Flow Scripts
84. If time permits, run additional make commands and record the slack.
Summary
■ Used the setup.tcl file and the Foundation flow code generator to
create scripts and ran though parts of the implementation flow
End of Lab
1/12/11 Floorplanning, Physical Synthesis, and Place and Route (Flat) 11-13
Generating and Running the Foundation Flow Scripts Lab 11-1
11-14 Floorplanning, Physical Synthesis, and Place and Route (Flat) 1/12/11