Quantcast
Channel: Cadence Custom IC Design Blogs
Viewing all 824 articles
Browse latest View live

Virtuosity: New Modgen and Row-Based Placement Rapid Adoption Kits

$
0
0

Cadence Rapid Adoption Kits (RAKs) are designed to help users quickly adopt new technologies into their flows and boost their productivity. Keeping this in mind, RAKs to help you understand the following features are now available on Cadence Online Support:

  • Modgen On Canvas
  • Row-Based Placement

Modgen On Canvas

The Modgen On Canvas commands were introduced in the IC6.1.7 ISR8 and ICADV12.3 base releases. These commands, available in the Place menu and the Placement toolbar, provide quick and easy access to various Modgen features. You can use these commands to edit Modgens directly in the layout editor, without opening the Modgen Editor.

The Modgen On Canvas RAK has been designed specifically for Virtuoso users who want to learn to effectively use Modgens for placement and routing. The RAK provides step-by-step instructions on how to:

  • Create a Modgen.
  • Define the placement of the Modgen.
  • Define routes using topology patterns.

It also covers the procedure of using Wire Assistant to create topological objects and edit constraints on these objects, which will, in turn, let the Pin to Trunk Router establish via controls, pin coverage, and matched net routing.

For more information about these tasks, see the Modgen on Canvas RAK on Cadence Online Support.

Row-Based Placement

The requirements of advanced node layout are distinctly different from those of legacy nodes. These requirements have already spurred many innovations, notably Snap Patterns (SPs), Width Spacing Patterns (WSPs), and Multiple Patterning tools. Advanced node processes follow grid-based placement, and therefore these designs lend themselves readily to the row-based placement methodology, which was introduced in Virtuoso in the ICADV12.3 base release.

At the core of row-based placement lies the new row template infrastructure. A row template comprises specifications for a set of rows to be generated in the layout canvas; and it defines how instances, such as standard cells, macros, and devices, must be placed in these rows. Rows are compatible with SPs, and therefore ensure that the resulting placement is correct by construction. You can then use the various Virtuoso Placer commands to perform custom digital and custom analog placement in these rows.

Note: Virtuoso Placer is available in the Virtuoso Layout EAD cockpit in advanced node releases.

The Row-Based Placement RAK includes a lab that provides in-depth information about how to use the various placement tools to perform the following tasks:

  • Import existing row templates.
  • Use the row templates to generate rows in the layout canvas.
  • Use Virtuoso Placer to perform custom digital and custom analog placement in these rows.
  • Use the assisted placement commands to refine the current placement.
  • Apply the edge constraints defined in the standard cell masters (applicable to custom digital placement).
  • Insert boundary cells (applicable to custom digital placement).
  • Use the following post-processing utilities:
    • Fill utilities (applicable to custom analog placement)
    • Tap cell and filler cell utilities (applicable to custom digital placement)

For more information about these tasks, see the Row-Based Placement RAK on Cadence Online Support.

Related Resources

Note: For more information on placement-related Cadence products and services, visit www.cadence.com.

About Virtuosity

Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more… Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts. Happy Reading!

Priya Sriram


Virtuosity: Setting up License Preferences for ADE Products

$
0
0

Over a year ago when the new Virtuoso ADE product suite was released, we had our fingers crossed. Today, we feel immense pleasure to mention that the new Virtuoso ADE product suite is well-received by the ADE customers and has been getting appreciation across geographies. It's now evident that the newer products– Virtuoso ADE Explorer, Virtuoso  ADE Assembler, Virtuoso Variation Option, and Virtuoso ADE Verifier – are much more powerful, efficient, robust, and dynamic, and are gradually taking over their older counterparts. But,Cadence supports both set of products for now, and as the products are co-existing, it’s important to manage license usage and consumption among these products. 

I’ve ADE Explorer and Assembler Licenses. Can I Use Them to Open ADE L/XL/GXL?

Yes, the older set of products are very much supported with the new product licenses! As you have a mix of old and new ADE products available at the moment, you can open ADE L using the ADE Explorer or ADE Assembler licenses and ADE XL using the ADE Assembler license. Before we move ahead, let's get answers to some specific questions you may have in mind, such as:

  • Is there a way that could help ensure that the old set of products consume their own licenses first, rather than utilizing the ADE Explorer or Assembler licenses?
  • Can I keep the new product licenses only for the newer products, as I do not want old products to consume the new product licenses?

Well, if you are interested in setting up license preferences to control the license usage and checkout order among old and new set of ADE products, you’ll be glad to know that Cadence provides the adeMaestroCheckoutOrder environment variable, which you can set in your .cdsinit file or CIW as shown below:

envSetVal("asimenv" "adeMaestroCheckoutOrder" 'cyclic "ADE_Maestro")

You can control the license checkout order by setting this variable to one of the following values:

  • ADE: When you set this variable to ADE, only ADE L, XL, or GXL licenses will be searched and used to run ADE L, XL, or GXL. It’s important to note that with this setting ADE Explorer or ADE Assembler licenses will never be used to run ADE L, XL, or GXL.
  • ADE_Maestro: It is the default value. When it is set, ADE L, XL or GXL licenses will be searched first to run these tools. If these licenses are not available, ADE Explorer and ADE Assembler licenses will be searched and used when found.
  • Maestro: When this value is set, only ADE Explorer and ADE Assembler licenses will be searched and used to run ADE L, XL, or GXL. Note that with this setting, ADE Explorer or ADE Assembler licenses are always used to run ADE L, XL, or GXL. In this case, the following license checkout order is followed:
      • ADE L: ADE Explorer - ADE Assembler
      • ADE XL and GXL: ADE Assembler
  • Maestro_ADE: When this value is set, ADE Explorer and ADE Assembler licenses will be searched and used first. If they are not available, ADE L or XL licenses are searched and used. In this case, the following license checkout order is followed:
    •  ADE L: ADE Explorer - ADE Assembler - ADE L - ADE XL - ADE GXL
    • ADE XL and GXL: ADE Assembler - ADE XL - ADE GXL

Can I Set Up License Preferences to Open ADE Explorer and ADE Assembler?

Yes, you can! The checkoutOrder environment variable helps control the license checkout order for ADE Explorer and Assembler. Here’s how you can set it in your .cdsinit file or CIW:

 envSetVal("maestro.license" "checkoutOrder" 'cyclic "Explorer_Assembler")

 You can set this variable to one of the following  values:

  • Explorer_Assembler: This is the default value. When this value is set, the ADE Explorer license will be searched first to open a maestro cellview. If it is not available, then ADE Assembler license will be searched and used. However, it is important to note that with the ADE Explorer license, you can open the maestro view in ADE Explorer only. To open ADE Assembler, you need to obtain its license.
  • Assembler_Explorer: When this value is set, the ADE Assembler license is searched first to open a maestro cellview. If it is not available, then ADE Explorer license is searched and used.
  • Explorer: When set, only ADE Explorer license will be searched and used.
  • Assembler: When set, only ADE Assembler license will be searched and used.

Related Resources

 For more information on Cadence circuit design products and services, visit www.cadence.com.

 About Virtuosity

Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more…Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts. Happy Reading!

Ashu Vashishtha

Virtuosity: Does Smart Software Need Help Assistants?

$
0
0
No, smart software like Virtuoso doesn't need Help assistants. What users of smart software, like our's, do care about is a Smart Help system - a Help system that gives more power in the hands of it's smart users! With Virtuoso scaling new heights in innovation and customer delight each day, it sounds reasonable to expect that the Virtuoso Help system would have evolved as well. Read along to know if it has .... (read more)

Virtuosity: How Can I Organize My Assistants and Toolbars?

$
0
0

Many things in Virtuoso can be customized, showing/hiding and configuring the layout of assistants and toolbars are no exception. They can be configured and saved as a workspace. It seems that this might be a little known fact, so I'll explain with an example.

Take Virtuoso ADE Explorerfor example, we have assistants for Parasitics & Electrical Setup, Parasitic Filters, Parasitic Report, Explorer Run Summary, SetupOperating Region,Variables and Parameters, Save By Subckt Instances and ViVA Graph. By default we only see the Setup assistant as we intentionally tried to keep ADE Explorer as simple as possible. The other assistants are available by right clicking on the menu bar or selecting from the Window->Assistants menu.

Similarly, we have toolbars for Run, Explorer Simulation Setup, Real Time Tuning, Results, Plotting, Named filters, Parasitic Mode, Bookmarks, Go and Workspaces and again, by default, only some of these are enabled. Again these are available by right clicking on the menu bar or selecting from the Window->Toolbars menu.

You can also disable assistants and toolbars through the same menus.

So, lets change ADE Explorer up a bit.

By default, it looks like this:

So, I'll enable the Variable and Parameters assistant, the Run Summary assistant and the ViVA assistant and arrange them just how I want them. I've left the Save By Subckt Instances assistant floating outside my ADE Explorer window. I've enabled the Parasitic Mode, Results and Workspace toolbars too. 

Then I want the ADE Explorer Simulation Setup toolbar down the left hand side of ADE, so I'll drag that there.

Now my Virtuoso session looks completely different, but that is how I like it....

Saving, Loading and Deleting Workspaces

This configuration can be saved as a Workspace and loaded in the current or future sessions.

Click the save workspace icon on the Workspace toolbar, or choose Window->Workspaces->Save As.

Give the workspace a name.

Then this workspace will be available in the drop-down and it's simple to toggle between them. You can also decide whether to save it to the project .cadence directory or your home .cadence if you'd like to share it on other projects.

You can delete a workspace by selecting Windows->Workspaces->Delete.

Setting a Default Workspace

You can save a workspace as the default workspace for that application, so you don't have to choose your favorite one from the drop down every time you open the tool. Simply, choose Window->Workspaces->Save Default and you'll get this form.

So every time I open an ADE Explorer view, it will use this workspace.

Does This Only Work for ADE?

No, workspaces are available in the schematic and layout editors, VIVA XL, ADE XL, GXL and ADE Assembler too.

Toggling Assistants and Toolbars

Maybe a handy tip if you didn't already know, all assistants can be toggled on/off with this button on the toolbar - or from the Window->Assistants menu.

Toolbars don't have an icon, but you can use the toggle these via the Window->Toolbars menu.

Workspace Search Order

When you create a custom workspace, whether it's just for you or for your project/site, the built-in Cadence search mechanism determines which configuration is used.  By default, the locally defined workspace will take precedence over the others; followed by the workspaces defined for your site, then Cadence workspaces.

The search order can be controlled by editing the setup.loc file. 

For more information and examples on this, you can refer to the Cadence Application Infrastructure User Guide.

Related Resources

For more information on Cadence circuit design products and services, visit www.cadence.com

About Virtuosity

Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more… Click Subscribeto visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts. Happy Reading!

 Arja Hunkin

Virtuosity: More Info Button – A Shortcut to Detailed API Help Through SKILL Finder

$
0
0


The best part about programming in SKILL™ is that you don't have to build everything from scratch. Cadence provides SKILL APIs that let you quickly and easily customize existing CAD applications and develop new ones. Before you adopt any new API, you have to first understand its usage and behavior. At times, you start using an API thinking you know all that you need to know about it, only to get stuck at some point. You may use the help command, but it only provides the API syntax and quick description to get you started. Just when you need the detailed documentation of an API, you don't know where to find it.

Well, did you know that the Cadence SKILL API Finder (Finder) was updated to take the guesswork out of your API search?



With the new and improved Finder, not only can you view the syntax and abstract information of an API, but also view its complete documentation in Cadence Help. Keep reading to see how.

Starting Cadence SKILL API Finder

Did you know that there are multiple ways to start the Finder?

  • In the CIW, choose Tools SKILL API Finder or type startFinder ( ) on the input line
  • In SKILL IDE, choose Window – Assistants – Finder
  • Type cdsFinder on the UNIX command line

At first, you may not notice any change in the Finder interface. Wait till you perform an API search.

Let us assume you are searching for an API named axlWriteDatasheetForm.

1. So, you type the API name in the Find what field and click Go.




2. The results matching the searched API appear in the Results area.

3. Select an API in the Results area to view its description in the Description area.



4. At this point, you may notice that a new More Info button appears enabled in the Description area.


This little button, my fellow SKILL aficionado, is the game changer!


If the abstract description doesn’t give you the information that you are looking for, select the API name in the Results area and click More InfoFinder will then fetch the complete documentation of the selected API and display it in a new Cadence Help window.


So, with the click of a button, not only can you see the API syntax and description, but also access its detailed documentation with working code samples and related references!

Related Resources

Note: If you don’t have a Cadence Online Support account, you can play the above video (mp4) natively in Cadence Help when you are using Virtuoso IC6.1.7/ ICADV12.3 (ISR10 or later). In the Cadence Help Virtuoso Documentation Library, look for the video title under Video Demos.

For more information on Cadence circuit design products and services, visit www.cadence.com

About Virtuosity

Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more…Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts.

Happy Reading!

Deepti Kamal

Virtuosity: Handy UI Enhancements in ADE Assembler & ADE Explorer

$
0
0

We have been busy working on several small UI enhancements for Assembler & Explorer that will have a big impact! In this blog, I will give you an overview of the enhancements we have made to the Results tab, Corners Setup form, and the Data View and Setup assistants.

Detail Transpose Enhancements

Ever wished you could see the test name in the Detail Transpose view? Well, if you are using lC6.1.7 ISR10 or a later version, you can!

Simply toggle Test Name from the Configure what is shown in the table icon in the Detail Transpose view.

The Fixed Parameter option will show the values that are not swept in the Detail Transpose view like this:

Both the options are off by default, but if you want to see them all the time, without having to toggle the menu then just set this environment variable in the.cdsinit/.cdsenv file.

envSetVal("adexl.gui" "detailtransposeViewShowDefault" 'string "\"Scalar Expressions\" \"Waveform Expressions\" \"Signals\" \"Corner Expressions\" \"Sweep Expressions\" \"Top Level Expressions\" \"Device Checks\" \"Test Name\" \"Fixed Parameters\"")

There are more environment variables to control the alignment and truncation of the text in the header. 

  • envSetVal("adexl.gui" "headerAlignmentSide" 'string "Center")
    • Other options are "Right" or "Left"
  • envSetVal("adexl.gui" "headerTruncationWidth" 'int 24)

You can right-click on a column and choose to hide it, or drag columns around to reorder them.

Sorting by Failure Count or Range

The same drop-down above can sort the results in the Detail Transpose view by Failure Count. This means you can see all the points that fail towards the left hand side of the results like this:

Or by Range Spread, which shows the largest variation from the spec towards the left.

Or, you can reorder the columns as you please and this will be saved as the Custom order.

Corners Setup Form Enhancements

Apart from the fantastic filtering control now available in the Corners Setup form — see our Filtering Your Way Through Corners blog for details — there is now an easy, one-click button to resize all the corner columns to fit the header width.

Data View and Setup Assistant Enhancements

Here are a couple of eagerly awaited features to both—the Data View assistant in Assembler and the Setup assistant in Explorer.

Column Width Expansion

About time I hear you shout - we now have the ability to expand the width of the Name column, so you can actually read the long variable names! Simply drag the header.

There is an environment variable to control this, the default is Interactive, allowing you to drag the slider.

envSetVal("maestro.gui" "nameDisplayWidthInDataView" 'cyclic "Interactive")

The other options are Fixed, which is the old behavior that we all know and love ;-)  and also FitToColumn,which automatically fits the column to the optimum width.

Data View and Setup Assistant Filters

Oh, and almost forgot about the even cooler feature available from IC_6.1.7 ISR13!

You can now use filters in the Data View and Setup assistants in order to find variables, parameters, corners, analyses, or values. 

In the Filter field, just type what you are searching for such as "load", and the data view updates to expand all the tests and corners that include the word.

We can extend this further by filtering for load values greater than 200p.

You can even filter for values between a range like this:

As usual, the search criteria for the filters can be configured by right-clicking on the Filter column. 

Of course, if you don't like these filters, you can switch them off with an environment variable.

With these small but impactful new enhancements, we hope your everyday ADE experience will be improved.

Related Resources

    Note: For more information on Cadence circuit design products and services, www.cadence.com.

    About Virtuosity

    Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more… Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts. Happy Reading!

     

     

     

    Arja Hunkin

    Virtuosity: The New Virtuoso ADE Product Suite - Knowledge Resource Kit

    $
    0
    0

    Cadence introduced its new set of Virtuoso® ADE products, which includes Virtuoso ADE ExplorerVirtuoso ADE AssemblerVirtuoso Variation Option, and Virtuoso ADE Verifier, in the IC6.1.7 and ICADV12.3 releases. It’s really exciting to mention that this next-generation ADE product suite has been well-received by customers all across the globe. This product suite also won the prestigious Product of the Year award from Electronic Products magazine for the year 2016, which is a testimony to its remarkable performance.

    If you too are curious to know about the special offerings and features of the new ADE product suite, then you’re at the right place! The New Virtuoso ADE Product Suite Knowledge Resource Kit has been specially created to help you get started with the new ADE products.

    Here are some key highlights of this kit:

    • Acts as a one-stop-shop for getting started information by bringing together the most relevant knowledge resources, such as product introduction, press releases, licensing requirements, migration information, videos, published blogs, and Rapid Adoption Kits (RAKs) on each product.
    • Includes cherry-picked information from the official documentation and portals, such as Cadence Community and Cadence Online Support (COS).
    • Offers the kit contents offline and eliminates the need for an Internet connection. At the same time, direct links have been provided for Cadence website and social media channels if you want to access the latest information.
    • Provides an intuitive and neatly structured user interface for accessing the kit contents to help you navigate to the area of interest with ease.

    Here’s a screenshot showing the homepage of the HTML-based user interface of the kit:

    Just imagine you don’t have to struggle between pages and portals to find the required information. Everything is available within this package and works smoothly even when you’re not connected to the Internet. Sounds interesting? Let’s not wait more...Download the kit now and experience it yourself! 

    For information about how and from where to download the kit, read the New Virtuoso ADE Product Suite Knowledge Resource Kit article on Cadence Online Support.

    Although the steps to open and use the kit are pretty easy and self-explanatory, if you want to quickly catch a glimpse of how you can use the kit, view the New Virtuoso ADE Product Suite Knowledge Resource Kit video available on Cadence Online Support.

    Disclaimer

    • This kit provides only selected information that is static in nature. If you wish to access the full-fledged product documentation, videos, blogs, and other knowledge collateral, check Cadence Help, COS, or the Cadence Community portal.
    • For the best experience, view the content of this kit in Mozilla Firefox or Google Chrome (Windows only).
    • To play the videos included in this kit, ensure that you have all the required plugins installed on your system.

    For any queries and/or feedback, you can write to ade_knowledge_kit@cadence.com. We are happy to hear from you and will try our best to resolve your queries.

    Important Note

    If you do not have a COS account or are unable to download the kit by yourself, contact your Cadence representative for assistance. As the kit contents can be viewed offline, you could also place a request to get the kit in pen drives. So, what are you waiting for…Grab your copy now!

    Related Resources

    For more information on Cadence circuit design products and services, visit www.cadence.com.

    About Virtuosity

    Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more… Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts. Happy Reading!

    ADE Technical Publications Team

    Virtuosity: Loading Complete 'Routing Recipes' with a Single Click

    $
    0
    0

    Have you checked out the new VSR Preset feature and the related forms in the IC6.1.7 and ICADV12.3 releases? We all have heard how automatic routing has significantly reduced the turnaround time for layout designers. VSR Preset is a bonus from Cadence to further reduce the time required. It is a "Jewel in the Crown" of Automatic Routing.

    What is a VSR Preset?

    A VSR preset is a simple and user-friendly mechanism that lets you save all routing options and user override constraints in a text file and reload them with a single click. That's right, there is no need to define the same routing options again. You can directly load the predefined routing options from the text file just by a single click. This ultimately saves time and ensures consistent results.

    The VSR Preset feature can be accessed from the VSR Preset toolbar, which is a part of the Virtuoso Space-based Router toolbar, and is available in Virtuoso Layout XL. Alternatively, you can access the VSR Preset options from the Wire Assistant toolbar.

     

    What is a Preset File?

    A preset file lets you change the Virtuoso environment variables quickly and easily. It is similar in format to the .cdsenv file and can be manually edited using a generic ASCII text editor. The VSR Preset file lets you save and restore the router-related environment variables not only for Pin to Trunk routing, but also for other automatic routing commands. The beginning section of a sample VSR Preset is shown below.

    Note: Each preset is stored as an individual text file. These text files are easy to understand, edit, and can be shared with a specific user, for a specific project, or at an organization level.

    Saving a Preset File

    The VSR Save Preset form is displayed when you click the VSR Save Preset icon. The form lets you save the modified override constraint values and the automatic routing and interactive routing environment variables to a preset file. The steps to save a preset file are as follows:

    1. Open a layout design in Layout XL.

    2. Open the Wire Assistant.

    3. Specify the desired automatic and interactive routing options in the Wire Assistant.

    4. Using the VSR Save Preset form, save the specified routing settings to an appropriate preset name. For example, myVSR.

    Note: To add the saved preset as an icon on the VSR Preset toolbar, select the Create Toolbar Icon check box in the VSR Save Preset form. For more information, see Saving a Preset File.

    After saving the file, load the preset file to set the specified routing options.

    Loading a Preset File

    On clicking the VSR Load Preset icon, the preset files found in the preset search paths are searched and loaded. Also, the list of available VSR presets is refreshed and the last preset file, if any, is reloaded. Preset files are searched and loaded in the following order.

    • ./.cadence/dfII/ia/presets

    • $CDS_WORKAREA/.cadence/dfII/ia/presets

    • $CDS_SEARCHDIR/.cadence/dfII/ia/presets

    • $HOME/.cadence/dfII/ia/presets

    • $CDS_PROJECT/.cadence/dfII/ia/presets

    • $CDS_SITE/.cadence/dfII/ia/presets

    To load a particular preset file on startup, specify the following command:

    ia presetDefaultFile string "file.preset"

    The first file that is found with the specified name in the search path gets loaded.

    Note that, by default, when a preset file with errors is encountered, it will fail to load. When this happens:

    • A window with the detail of errors is displayed.

    • Any settings or overrides loaded from the preset file are not considered and the previously specified settings remain as is.

    • Any SKILL procedures in the preset file do not get executed.

    To avoid this and allow preset files to be shared between different users and projects, you can specify that the errors and inconsistencies in the file are ignored on loading. To do this, set the following environment variable:

    ia presetLoadMode cyclic "setting"

    Setting the environment variable lets you partially load the preset file and skip the lines with errors.

    Deleting a Preset File

    Clicking the VSR Delete Preset icon lets you delete a preset file. When you click Delete, the preset file is actually not deleted but is only renamed and saved as <file-name>.presetDeleted. As a result, it is possible to restore a deleted preset file and use it later. In case you do not have permissions to delete the preset file, the Delete button is disabled.

    Resetting Preset Options

    On clicking the Reset VSR Options button, based on the selected option, the routing settings are set to the respective .cdsenv default value.

    The function of the Reset button can be customized.

    • "A" mode clears both constraint overrides and all VSR options.

    • "C" mode clears only constraint overrides.

    • "O" mode clears only VSR options.

    Running SKILL in a VSR Preset

    Expert users can edit the preset file to execute SKILL after the settings in the preset file are loaded. Locate the [postcmd] keyword in the .preset file, and insert the SKILL function name between the quotes as shown below:

    ;; ---------------------------------------------------------------------------

    ;; [postCmd]:     "mySkillFunction()"

    ;; ---------------------------------------------------------------------------

    A preset, which executes SKILL is displayed in the drop-down list with an asterisk (*), and the icon text is displayed in blue, as highlighted in the figure below.

      Related Resources

      • Video

      • Virtuoso Layout Suite SKILL Reference Manual

      For more information on Cadence circuit design products and services, visit www.cadence.com.

      About Virtuosity

      Virtuosity has been our most viewed and admired blog series for a long time that has brought to fore some lesser known, yet very useful software and documentation improvements, and also shed light on some exciting new offerings in Virtuoso. We are now expanding the scope of this series by broadcasting the voice of different bloggers and experts, who would continue to preserve the legacy of Virtuosity, and try to give new dimensions to it by covering topics across the length and breadth of Virtuoso, and a lot more… Click Subscribe to visit the Subscription box at the top of the page in which you can submit your email address to receive notifications about our latest Virtuosity posts.

      Happy Reading!

       

      Parul Agarwal


      Virtuoso Video Diary: Comparing Waveform Outputs of Analog Simulations

      $
      0
      0

      Comparing waveform outputs of a simulation run with the outputs of a “golden“ or any other “previous“ run is one of the regular tasks that analog designers perform while tuning their designs to meet the requirements. At times, it requires performing multiple iterations of several tasks, such as running simulations and comparing results, making changes in the comparison criteria, checking whether the expectations are meeting, and if they don’t, making further changes. Waveform comparisons are helpful in some more scenarios. For example, when moving a design from one PDK version to another, you can compare waveforms of signals to ensure that all simulations results are still identical.

      You can now compare waveforms in Virtuoso ADE Assembler by using the waveform (wave) specifications, a feature that was introduced in IC6.1.7 ISR4 and ICADV12.3 ISR4.

      Wave specifications for signals or expressions are defined just like other specifications we define for scalar outputs. Similarly, their validation can be done simply by checking the “pass” or “fail” status of outputs in the simulation results. So, let’s explore the key features of wave specifications.

      Setup in the Outputs Setup Pane

      We can set up a wave specification for an output by selecting wave from the drop-down list in the Speccolumn. This is the same place where we define the outputs – the most convenient place. Isn’t it?

      Global and Local Comparison Settings

      For comparison, we need a reference waveform and a to-be-compared waveform – we call this "compare". We also need to apply the tolerance settings that define the comparison accuracy.

      For convenience, you can specify all of these in the global settings to be used by all the wave specifications in your cellview.

      In the ADE Assembler window, choose Options - Wave Compare Settings to open the Global Waveform Compare Settings form.

      In the example shown above, Interactive.17 is set as a reference history for all the waveforms to be compared. The tolerance settings are defined as 2% relative and 3m absolute tolerance. Once set, these are used as default for all the wave specifications. Now, you can define a wave spec for any signal output by a single click (that is, by choosing wave from the drop-down in the Speccolumn).

      Note: To ensure that the reference waveforms for comparison are automatically identified, it is important to check that the reference simulation saved the same signals in the same hierarchy as done in the current simulation.

      If you want to compare against a different reference signal or if you want to override the global comparison settings for any specific output, apply local settings selectively for those outputs. Click the edit button in the Spec column of the output for which you applied wave specification to open the Waveform Compare Setup form and configure the comparison settings for that output. 

      Note the Override Global Tolerance Settings check box in the example shown above.

      Validating Results

      When the simulations are run, the resulting waveforms are compared to the reference waveforms. If the difference is greater than the tolerance settings, the result status is set as “fail”.

      For detailed analysis of failures, plot the waveforms in the Virtuoso Visualization and Analysis XL window and check the bookmarks.

      To resolve the failures, you can either tweak the specification settings or make changes in the design as appropriate.

      For more information about waveform specifications, see the Using Waveform Specifications in Assembler video on Cadence Online Support. We’re sure you will appreciate the ease and efficiency offered by this new type of specification. Click the video link now or visit Cadence Online Support and search for the video under Video Library.

      Note: If you don’t have a Cadence Online Support account, you can play the above videos (mp4) natively in Cadence Help when you are using Virtuoso IC6.1.7/ ICADV12.3 (ISR9 or later). In the Cadence Help Virtuoso Documentation Library, look for video titles under Video Demos.

      Related Resources

      Virtuoso ADE Assembler User Guide

      Note: For more information on Cadence products and services, visit www.cadence.com.

      About Virtuoso Video Diary

      Virtuoso Video Diary is an online journal that relays information about Virtuoso videos that are available in the Cadence Online Support Video Library. Hundreds of interesting videos on a wide variety of new and exciting Virtuoso features have already been created. Virtuoso Video Diary brings you direct links to these videos and other related material, on regular basis. Click Subscribe to visit the Subscription box at the top of the page in which you can submit your e-mail address to receive notifications about our latest Video Diary posts.


      Namrata Malhotra

      The Art of Analog Design Part 1: Overview of Variation-Aware and Robust Design

      $
      0
      0

      In this series, we will focus on advanced concepts for custom IC design, in particular, variation-aware design (VAD). With emergence of high-speed simulators such as Spectre® APS, designers can now run simulations faster than ever before, so they are able to more completely verify their designs before taping out. However, it requires more than verifying the proper functionality for different stimulus and performance across corner conditions to assure a design is successful. To be successful requires more, it requires properly allocating design margins based on process variation. Designers can not only use the Cadence® Virtuoso® ADE Product Suite to analyze the results and verify the design is specification compliant, reducing the risk of a design respins and getting the product to market faster. It can also increase competitiveness by helping designers reduce the effect of process variation on a design. Solving this problem requires more than fast simulation, it requires adopting new tools and methodologies.

      First, let’s consider the impact of over margining to avoid the negative effects of process variation on circuit performance. For example, let’s say we are designing a successive approximation ADC and find that the linearity of the capacitor digital-to-analog converter, CAPDAC, used to generate reference values, limits yield to 90%. Also assume that for the current design, the CAPDAC is 25% of the die area and there are 1000 die/wafer. If we can increase the yield to 99% by doubling the CAPDAC area, should we do it? Working through the numbers, we see that the current design has 900 good die per wafer while the high-yield design has 792 good die wafer, 800 die/wafer * 99% yield. So even though the yield went up, profit will go down. There are two points to consider:

      1. Overdesign, designing with a margin is not free. Allowing too much design margin can hurt competitiveness.
      2. The second point is subtler, to borrow from Mark Twain, “There are three kinds of lies: lies, damn lies, and statistics.”, that is, we are relying heavily on statistical analysis to make critical decisions.

      What type of simulation was performed to generate the yield numbers generated? Should the results of these simulations be trusted? These are questions that we also need to consider when making the decision on which design to take to production. In the first part of this series of articles, we will explore variation-aware design. The question to be considered is how to balance the conflicting requirements immunity to process variation against the cost in terms of product competitiveness.  In the second half of these articles, we will explore reliability analysis for devices and interconnect. Again, this is an area where designers have traditionally relied on allocating design margin and overdesign to prevent issues. The question to be considered is, as the importance of designing for automotive applications and industrial and infrastructure applications grows, do we have enough design margin? Automotive designs operate in harsher environments and may need to operate reliably for years after a consumer product would have been recycled. The need for these types of solutions has been anticipated and these capabilities already exist in the design environment. 

       In the next article, we will look into Monte Carlo sampling methods to see how we can minimize the number of simulations required to answer the question of what yield is for the circuit.

      The Art of Analog Design Part 2: Monte Carlo Sampling

      $
      0
      0

      Historically, one of the great challenges that analog and mixed-designers face has been accounting for the effect of process variation on their design. Minimizing the effect of process variation is an important consideration because it directly impacts the cost of a design. From Pelgrom’s Law (1), it is understood that the device mismatch due to process variation decreases as the square root of increasing device area, see note 1. For example, to reduce the standard deviation, sigma, of the offset voltage from 6mV to 3mV, means that the transistors need to be four times larger. By increasing transistor size, the die cost is also increased since die cost is proportional to die (and transistor) area. In addition to increasing cost, increasing device area may degrade performance due to the increased device parasitic capacitances and resistances of larger devices. Or the power dissipation may need to increase to maintain the performance due to the larger parasitic capacitances of the larger devices. In order to optimize a product for an application, that is, for it to meet the target cost with sufficient performance, analog and mixed-signal designers need tools to help them analyze the effect of process variation on their design. Another way to look at the issue is to remember that analog circuits haven’t scaled down as quickly as digital circuits, that is, to maintain the same level of performance has historically required something like the roughly the same die area from process generation to process generation. So, while the density of digital circuitry doubles every eighteen months, analog circuits don’t scale at the same rate. If an ADC requires 20% of the die area at 180nm, then after two process generations at the 90nm process node the die area of the ADC and digital area are equivalent. After two more process generations at 45nm, the ADC requires 4x the area of the digital blocks, see note 2. The example that has been presented is exaggerated, however, the basic concept that process variation is an important design consideration for analog design is valid.

      Traditionally, the main focus of block-level design has been on parasitic closure, that is, verifying the circuit meet specification after layout is complete and parasitic devices from the layout have been accounted for in simulation. This focus on parasitic closure meant that there was only limited supported for analyzing the effect of process variation on design. During the design phase, sensitivity analysis allowed a designer to quantitatively analyze the effect of process parameters on performance. During verification, designers have used corner analysis or Monte Carlo analysis to verify performance across the expected device variation, environmental, and operating conditions. In the past, these analysis tools were sufficient because an experienced designer already understood their circuit architecture, its capabilities, and its limitations. So performance specifications could be achieved by overdesigning the circuit. However, ever decreasing feature size have increased the effect of process variation and market requirements meaning designers have less margin to use for guard banding their design. Also, the decreasing feature size means that power supply voltages are scaling down and in some cases circuit architectures need to change. An example of how power supply voltage effects circuit architecture is ADC design, where there has been a movement from pipeline ADC designs at legacy nodes, 180nm, to successive approximation ADC, SARADC, for advanced node, 45nm, designs. This change has occurred because a SARADC can operate at lower power supply voltages than pipeline ADCs. As a result of the changing requirements placed on designers, there is a need for better support for design analysis than ever before.

      Let’s look at an example of statistical analysis often performed by analog designers. Shown below is the Signal to Noise and Distortion Ratio, SNDR or SINAD, value of a Capacitor D/A Converter, CAPDAC. A CAPDAC is used in a successive approximation ADC to generate the reference voltage levels used to compare the input voltage to in order to determine the digital output code. The SINAD of the CAPDAC determines the overall ADC accuracy. 

       Figure 1:Example of Monte Carlo Analysis Results for Capacitor D/A Converter Signal-to-Noise Ratio

      On the left is the distribution of the capacitance variation and one the right is the CAPDAC Signal-to-Noise Ratio, SNR, distribution. From the SNR distribution, the mean and standard deviation of the CAPDAC SNR can be calculated. If the specification of the SNR must be greater than 60dB, does this result mean that the yield will be 100%? Another question to consider is whether or not distribution for the SNR is Gaussian or not since the analysis of the results is impacted by the type of distribution. Or we might want to quantify the process capability, Cpk. Cpk is a parameter used in statistical quality to control to understand how much margin the design has. In the past, this type of detailed statistical analyses has not been available in the design environment. In order to perform statistical analysis, designers needed to export the data and perform the analysis with tools such as Microsoft Excel.

      Beginning in IC67, Cadence® Virtuoso® ADE explorer was released with features to support a designer’s need for statistical analysis. Just a note, for detailed technical information, you can explore the Cadence Online Support website or contact your Virtuoso front-end AE. Now let’s take a quick look at enhancements to Monte Carlo analysis starting with the methods used to generate the samples for.

      In Monte Carlo analysis, the values of statistical variables are perturbed based on the distributions defined in the transistor model. The method of selecting the sample points determines how quickly the results converge statistically. Let’s start with a quick review, in the CAPDAC example we ran 200 simulations and all of them passed. Does that mean that the yield is 100%? The answer is no, it means that for the sample set used for the Monte Carlo analysis, the yield is 100%. In order to know what the manufacturing yield will be, we need to define a target yield, for example, let target yield greater than 3 standard deviations, or 99.73%, and define a level of confidence in the result of 95%. Then we can use a statistical tool called the Clopper-Pearson method to determine if Monte Carlo results have a >95% chance of having a yield of 99.73%. The Clopper-Pearson method produces an interval of confidence, the minimum and maximum possible yield, given the current yield, number of Monte Carlo iterations, etc. Often designers perform a number of simulations: 50, 100, etc. based on experience and assume that the results would predict the actual yield in production. By checking the confidence interval, we can reduce the risk of missing a yield issue. Another result of using the rigorous approach to statistical analysis, is that more iterations of Monte Carlo analysis are required. As a result, designers need better sampling methods that reduce the number of samples, Monte Carlo simulation iterations, required in order to trust the results.

      Random sampling is the reference method for Monte Carlo sampling since it replicates the actual physical processes that cause variation; however, random sampling is also inefficient requiring many iterations, simulations, to converge. New sampling methods have been developed to improve the efficiency of Monte Carlo analysis by more uniformly selecting sample points. Shown in Figure 2, is a comparison of samples selected for two random variables, for example, n-channel mobility and gate oxide thickness. The plots show the samples generated by random sampling and a new sampling algorithm called Low Discrepancy Sampling or LDS. Looking at the sample points, it is clear that LDS has more uniformity spaced sample points. More uniformly spaced sample points mean that the sample space has been more thoroughly explored and as a result the statistical results converge more quickly. This translates into fewer samples being required to correctly estimate the statistical results: yield, mean value, and standard deviation.

      Figure 2: Comparison of Random Variable values using Random Sampling and LDS Sampling  

      The LDS sampling method replaces Latin Hypercube sampling because it is as efficient and supports Monte Carlo auto-stop. Monte Carlo auto-stop is an enhancement to Monte Carlo that optimizes simulation time. Statistical testing is used to determine if the design meets some test criterion, for example, for the CAPDAC, assume that you want to know with a 90% level of confidence that the SNR yield is greater than 99.73%. The user needs to define these criteria at the start of the Monte Carlo analysis and the results are checked after every iteration of the Monte Carlo analysis. The analysis stops if one of two conditions occurs. First, the analysis will stop if the minimum yield from the Clopper-Pearson method is greater than the target criteria, that is, the SNR yield is greater than 99.73%.  More importantly, the Monte Carlo analysis will also stop if Virtuoso ADE Explorer finds that the maximum yield from the Clopper-Pearson method will not exceed 99.73%. Since failing this test means that the design has an issue that needs to be fixed, this result is also important. It also turns out that failure usually occurs quickly, after a few iterations of the simulation. As a result, using statistical targets to automatically stop Monte Carlo can significantly reduce the simulation time. In practice, what does this look like? Consider the following plot in Figure 3 which shows the upper bound, the maximum yield, and lower bounds, minimum yield, and the estimated yield of the CAPDAC as a function of the iteration number. The green line is the lower bound of the confidence interval assuming the user would like to represent the estimated yield By the 300th iteration, we know that the yield is greater than 99% with a confidence level of 90%. Or we can be very confident that the CAPDAC yield will be high. In addition, thanks to Monte Carlo auto-stop we only needed to run the analysis once.

      Figure 3: Yield Analysis Plot

      To summarize, the two improvements to Monte Carlo sampling are LDS sampling and Monte Carlo auto-stop. LDS sampling uses a new algorithm to more effectively select the sampling points for Monte Carlo analysis. Monte Carlo auto stop uses the statistical targets: yield and confidence level, to determine when to stop the Monte Carlo analysis. As a result of these two new technologies, the amount of time required for Monte Carlo analysis can be significantly reduced.

      In the next article, we will look into analyzing Monte Carlo analysis results to better understand our design and how to improve it.

      Note 1: Remember in analog design, designers rely on good matching to achieve high accuracy in their designs. Designers can start with a resistor whose absolute accuracy may vary +/-10% and taking advantage of the good relative accuracy, matching between adjacent resistors, to achieve highly accurate analog designs. For example, the matching between adjacent resistors may be as good as 0.1%, allowing design data converters of 10 bit, 1000parts per million (ppm), 12 Bit, 0.00025ppm, or even 14 Bit, 00001ppm, accuracy circuits.

      Note 2: In reality, only the components in the design sensitive to process variation do not scale, so the area of the digital blocks will scale and the area of some of the analog blocks may scale. The solution designers typically adopt to maintain scaling, is to implement new technologies, such as, digitally assisted analog (DAA) design to compensate for process variations. While adopting DAA may enable better scaling of the design, it also increases schedule risk and verification complexity.

      References:

      1)     M.J.M. Pelgrom, A.C.J. Duinmaijer, and A.P.G. Welbers, “Matching properties of MOS transistors,” IEEE Journal of Solid-State Circuits, vol. 24, pp. 1433-1439, October 1989.

      2)     See Clopper-Pearson interval http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval

      Virtuosity: Driving Along a Longer Route May Take You Home Sooner!

      $
      0
      0
      On my way back home every day, I need to make a decision — should I drive less, or more? Because, there are two different routes that I can take to home. The shorter route is usually busier at peak traffic times. The other route, is long. When I reach the turning point, I almost get swayed in to take the shorter, seemingly straight path. The days I give in to that temptation, I usually reach home late. It can be the same when using software — what may seem to be a harmless shortcut could cost you a lot of troubleshooting time. Here's how a customer recently experienced this when copying a library in Virtuoso.(read more)

      Photonics Summit and Workshop 2017

      $
      0
      0

      Interested in learning about system-level integration of electronic/photonic devices?

       Silicon WaferThe use of silicon photonics allows semiconductor designers to leverage the billions of dollars invested in existing manufacturing facilities, integrating electronics and optical on the same die or in the same package. Breakfast Byte’s blogger Paul McLellan has written quite a few excellent blogs about Silicon Photonics. In one blog post, he says, “The basics of silicon photonics are something that every semiconductor designer should have at least a little knowledge about.” Check out this post, it's a fantastic primer!

      When integrating hybrid devices in which the electronic and photonic components are combined into a single IC, you need tools that integrate both design methodologies—electronic and photonic—as well as taking packaging and systems designs into account. Cadence has been involved with and has provided solutions for silicon photonic design and packaging for quite some time now, and in 2015, partnered with Lumerical Solutions and PhoeniX Software to create an integrated electronic/photonic design environment (EPDA).

      Learn about these solutions while and networking with other expert users at the second annual Photonics Summit and Workshop on September 6 and 7, at the Cadence headquarters in San Jose.

      On day one, industry experts will present on photonic IC design and packaging. They feature representatives from Hewlett Packard Labs, AIM Photonics, IBM, Chiral Photonics, Inc., and more.

      Day two will consist of a hands-on workshop where you will learn system-level electronic and photonic design first hand. During the workshop, you will…

      • Add new elements to an existing photonics PDK
      • Assemble a PIC and its CMOS driving logic, fiber connector (from our partner Chiral Photonics), and a laser as a complete system
      • Play with Tektronix testing equipment

      To see the full agenda and to register for the free event, go to www.cadence.com/go/silicon-photonics.

      Virtuoso Video Diary: What Are Parametric Sets?

      $
      0
      0
      Over the past few IC6.1.7 and ICADV12.3 ISR releases, a lot of new and useful features have been added to Virtuoso ADE Explorer and Virtuoso ADE Assembler. An interesting one that recently caught my attention amidst this forever-increasing feature list is – Parametric Sets in Design Variables. This feature could be a savior if you’re working on a gigantic list of design variables or parameters with sweeps, but don’t want to run all the possible sweep combinations for them. Parametric sets help save time and also provide you the flexibility to run a specific set of variables. To put it in simpler words – when you create a parametric set by combining two or more variables, only a selected set of sweep combinations are created by picking values from the same ordinal position for all the variables or parameters in the parametric set. This reduces the number of design points, thereby, reducing the number of simulations.(read more)

      Virtuosity: Saving, Loading and Sharing ADE Annotation Settings

      $
      0
      0
      The whole ADE annotation flow was overhauled way back in IC6.1.6 but at that time there was no way to share the annotation settings between designs, or to automatically load them. Well, in IC6.1.7 ISR13 we have added the ability to do both! (read more)

      Virtuosity: What Color is Your Virtuoso Wearing Today?

      $
      0
      0
      Like you, Virtuoso can dress in a different color too every day. Interested to know, how? Read on to find out ....(read more)

      Virtuosity: Sweeping Multiple Config Views

      $
      0
      0
      Before IC6.1.7 ISR10, you could sweep multiple views in ADE for only one block in your design. What if you have more than one block that has multiple views that you want to sweep? Well from ISR10 onwards, you can do that. Here's how.(read more)

      Virtuosity: Sweeping Multiple DSPF Views in ADE

      $
      0
      0
      Wouldn't it be great if you could have a view for your DSPF files and sweep them in an ADE session without having to add them as simulation files? Well now you can! You can create a DSPF view just like any other view, schematic, layout, extracted - and this can be easily included in any ADE simulation. You can also combine this with the config sweep feature to enable you to sweep several DSPF views at once. Just make note that the top-level test bench must be a config. Let's see how to do this...(read more)

      The Art of Analog Design: Part 3, Monte Carlo Sampling

      $
      0
      0

      In Part 2, we looked at Monte Carlo sampling methods. In Part 3, we will consider what happens once Monte Carlo analysis is complete. Of course, we will need to analyze the results, so let’s look at some of the tools for visualizing what the Monte Carlo analysis is trying to show us about the circuit.

      First let’s review the results from the previous blog. The circuit being simulated is a Capacitor D/A Converter, or CAPDAC. The CAPDAC is used in a Successive Approximation ADC to generate the reference levels for comparison. The mismatch of the unit capacitors in the CAPDAC contributes to degradation of the CAPDAC SINAD (Signal-to-Noise and Distortion ratio) and is an important contributor in determining the overall SINAD of the ADC. This CAPDAC is used in a 10 Bit ADC. Based on the error budget for the ADC, if the CAPDAC has a SINAD of 60dB or better we will be able to meet our ADC SINAD target. The CAPDAC SINAD was simulated using Monte Carlo with auto-stop, yield target of 60dB for SINAD, yield of 3s or greater, confidence level of 90%, and Low Discrepancy Sampling, LDS, method. The simulation required 1755 samples to meet the 90% confidence requirement level.

      In the last blog append, we looked at the. The effect of process variation on SINAD distribution was plotted, see figure 1. To help understand the how CAPDAC performance compared to the specification,. The specificationthe pass/fail limits have been overlaid on top of the distribution, green is pass and red is fail.

      Figure 1: CAPDAC SINAD distribution

      The plot also has bars showing the mean value, s, and the values of standard deviation from -3σto +3σ allowing us to visualize how much margin the CAPDAC has relative to the specification. For the CAPDAC there is almost 2s close margin between the specification and the upper limit of the specification, -3s limit, of the distribution.

      One observation from looking at the distribution, is that the distribution appears to have a long tail. In statistics, distributions with long tails means that the distribution has a large number of occurrences far from the central part of the distribution. Looking at the distribution, we can see that on the positive side of the distribution, there is only one point that is > +2s from the mean. While on the negative side of the distribution, there are many data points, < -3s from the mean. Next, let’s apply another tool, quantile-quantile plotting. The purpose is to test our simulated distribution and is a Normal (or Gaussian) distribution. A quantile-quantile plot is a technique to evaluate if two distributions are the same by plotting their quantiles against each other where the quantiles are points taken at regular intervals from the cumulative distribution function (CDF) of a random variable. The 0-quantile of distribution is the median, it is the value where half the samples in the distribution are higher in value than the median and half of the samples in the distribution are lower in value the median. Since the distribution is skewed, the mean value will not be equal to the median value.

      Figure 2: Quantile-quantile plot for CAPDAC SINAD

      If the simulated distribution is a straight line when plotted against the reference distribution, the Normal distribution, then the distributions match and the simulated distribution is Gaussian. As expected, the simulated distribution is not a straight line when plotted against the Normal distribution (see Figure 2). The distribution is only Normal in the region from -1s to +1s of standard deviation. Another way to look at the effect of the long tail is to consider how the CAPDAC yield compares to the expected yield of a Normal distribution. For the CAPDAC, there is 1 failure for 1755 samples. The worst-case value of CAPDAC SINAD is 59.85dB, -5.2s from the mean value. Using the Normal distribution, the expected failure probability for 5s deviation from the mean value is 1 failure per 3.5 million attempts. The effect of the long tail, non-Normal nature of the distribution, is a significant reduction in the yield compared to the yield when the distribution is a Normal distribution. Using quantile-quantile plots provides a powerful tool for visualizing whether the simulated distribution is a Normal distribution or not.

      Next, let’s look at another measurement that is useful for designers. First, let’s determine the process capability index or Cpk value. The Cpk is a statistical measure of process capability which is the ability of a process to produce output within specification limits. For the CAPDAC, the Cpk is one of the outputs in the Virtuoso ADE Assembler results window (see Figure 3). The Cpk can only be output if a specification has been defined.

      The Cpk is defined as the ratio of the distance from the mean value to the specification in standard deviations over the distance from the mean value to the actual distribution limit in standard deviation. For the CAPDAC, the numerator is 4.6s, the distance from the mean value of 61.15dB to 60dB in sigma, see sigma to target. The target yield was 3s so the denominator is 3s. 

      The less precise way to think about Cpk, is to think of it as a measure of design margin. It tells us how much margin we have between the actual limit of the process and the user’s expectation for the process.

      To summarize we have looked at two tools for visualizing the results of  Monte Carlo analysis and using the tools to identify problems. Plotting distributions allows us to understand how well centered a design is. Quantile plots allow us to look at the distribution and identify if it has a long tail since a long tail can translate into poor yield. And by using Cpk we can quantify how much design margin we have. In the next blog post, we will start to look at what we can do to identify and correct issues. 

      Virtuosity: Power Filtering!

      $
      0
      0
      Finally, we have filters in the Corners Setup form, Results tab, Outputs tab, Data View and Setup assistants in Virtuoso ® ADE Explorer and Virtuoso ® ADE Assembler. But, they are not just for finding basic strings like vdd or 1p. They can do so much more; filtering for values within a range, finding strings containing all or any of the words you specify, filtering for prefixes or suffixes, and so on. Let's see what advanced filtering these filters are capable of.(read more)
      Viewing all 824 articles
      Browse latest View live


      <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>