Home > Community > Blogs > Digital Implementation > how to create a self contained testcase in encounter
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the Digital Implementation blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

How To: Create a Self-Contained Testcase in Encounter

Comments(3)Filed under: Digital Implementation forums, Encounter Digital Implementation System 8.1, testcase, How To
saveTestcase image

In the course of performing design work in Encounter, it frequently becomes desireable to create a self-contained testcase that can be shared with colleagues at other sites, or with Cadence to aid in troubleshooting tool issues.  By self-contained, I mean the design data (netlist, floorplan, placement, routing, timing constraint files, etc) and all of the supporting collateral (.libs, LEFs, extraction tech files, etc) within a sub-directory that can be tarred up and uploaded to an ftp site such that someone else can download the design and see the design just as you're seeing it.  Because this data is often drawn from various shared locations on the network, symbolic links are used, and pointers often make use of shell/TCL variables, creating a self-contained testcase is frequently quite a bit more complicated than it appears at first glance.  But fear not- a new command has been introduced that automates this for us.

In the Encounter Digital Implementation System version 8.1.USR2, a new public command was introduced that automates the testcase creation. It is called: "saveTestcase"

Here's how it works...

  1. Load a design into the tool (either via a .conf file -or- by restoring a design)
  2. Get the design into the desired state (ie,placed or routed)
  3. At the tool prompt, issue the command: "saveTestcase"
  4. By default, a sub-directory in your current run directory will be created called "testcase" which contains the design data and collateral. The pointers in the .conf file and the viewDefinition file (if you're running in MMMC mode will all be resolved to point to these new locations relative to the current directory.
  5. This new directory can be tarred up and E-mailed or ftp'ed to other people you're working with.

Complete usage:

Usage: saveTestcase [-name <testcaseName>]
                    [-dir <directoryName>]
                    [-rc] [-merge] [-overwrite] [-gzip]

Enter "man saveTestcase" at the tool prompt in 8.1.USR2 for extended help -or- see the complete documentation on Sourcelink here.

Additional nice features:

  • saveTestcase can automatically tar and gzip the resulting testcase. Use the "-gzip" option.
  • In 9.1 the GUI will be updated to include the image shown at the top of this piece. It will be accessible under "File->Save->Testcase..."

Not using 8.1.USR2 yet?

  • Here are Three Reasons to Move to 8.1
  • Download it here [select your platform, "then SOC81", then "SOC08.10.002"]
  • In versions prior to 8.1.USR2 there was is a script available in <install_path>/share/fe/gift/scripts/tcl/ called "userCreateZeroReg.tcl" with a very similar use model and capabilities.
Congratulations to userCreateZeroReg.tcl on "graduating" from the gift scripts to being a productized command. I'm proud of you. :)

Question of the Day: What are some of the scenarios where self-contained testcase creation is useful to you?

-Bob Dwyer


By Kari on July 16, 2009
Great post, Bob. I just sent the link to this post out to my entire group. We can finally get rid of our "frankenstein" scripts for making testcases.

By eminemshow on July 18, 2009
Bob, this would be industry's 1st testcase submission system, congratulations. :)

By BobD on July 20, 2009
Thanks for the kind words!  I'll pass your comments along to our developers.

Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.