Quantcast
Channel: Analog/Custom Design
Viewing all 750 articles
Browse latest View live

Virtuoso Video Diary: Why Should you Switch to the Expression Builder for Creating Expressions?

$
0
0


Here’s how you can create expressions using the Expression Builder in 4 easy steps, and just to remind you, you won’t need to use the calculator:

How many times have you opened the calculator and been completely overwhelmed by the sheer number of options? Then you try to create an expression but don't know where to start and then find out that you are in RPN mode?

Well the Expression Builder will be your savior! It provides a quick and easy mechanism to create expressions without needing to open the calculator. It's uncluttered and intuitive - easy!

Creating Expressions without the Calculator

Here’s how you can create expressions using the Expression Builder in 4 easy steps, and just to remind you, you won’t need to use the calculator:

 

Step 1: Open the Expression Builder

Add a new expression  in ADE Assembler or ADE Explorer, then double-click the icon below.

 

This opens the Expression Builder. At first, you may wonder what to do since it is so empty, but no worries, this is easy…

 

Step 2: Add the function to use

Assuming you know thename of the function to use, you can type the function name in the green window. As you type, an auto-fill list appears showing the available functions. So if you type abs in the green window, the available functions appear as shown in the figure below.

You can use the up/down arrows to choose the required function and then press tab to accept the selection. No need for mouse clicks, it feels just like using Linux.

If you don’t know what function to use, the Expression Builder makes it easy to locate one that is available.  Just click the Locate function drop-down arrow and a list of the available functions will be displayed.

 

Step 3: Add function arguments

Now that you have selected the function, the drop-down appears with the next argument to select. When you add that argument, the drop-down will appear with the options for the next (or to close the parenthesis if the expression is complete).

Any optional arguments are displayed with a ? prefix. This makes building expressions easy as you don't have to remember all the arguments and their order. If the argument requires a signal from the design, it will prompt you to either select this from the schematic or you can select it from the drop-down. Selection of arguments across the hierarchy is also supported.

To help guide you through there is a pink tooltip header on the Expression Builder.  This gives us a description of the function, then a list of the arguments. The argument that is underlined is the one the Expression Builder is looking for at this point. It also gives us a description for the required argument, and we have tooltips over the available options. Isn't this looking easier already?

 

Step 4: Add  the expression to ADE Assembler or ADE Explorer output

When the expression definition is complete, simply press Enter or click the green tick at the top right corner of the green window to add the expression to the ADE Assembler or ADE Explorer outputs. 

 

 

Wasn't it quick and easy to create an expression?

 

If you would like to watch these steps in detail, you can view the Expression Builder Video on Cadence Online Support. 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 this video (mp4) natively in Cadence Help when you are using Virtuoso IC6.1.7/ ICADV12.3 (ISR8 or later). In the Cadence Help Virtuoso Documentation Library, look for the video title under Video Demos.



Other Expression Builder Uses

Not only does the Expression Builder make building expressions easy, it brings along other exciting features too. Here’s a quick look at some additional benefits of using the Expression Builder:

  • Viewing Expression History

  • Using Variables in the Expression Builder

  • Using calcVal in the Expression Builder

  • Creating Complex Expressions

Expression History

Clicking on this  icon will show the history of expressions you've created. You can cycle through these using the up/down or tab keys and press enter to add it to the Expression Builder.

 

Using Variables in the Expression Builder

You can use design variables in the Expression Builder, just type VAR and all the available design variables are shown in the drop-down.

Using calcVal in the Expression Builder

calcVal can also be used. This allows you to use a value from this or another test. Again it prompts you for the arguments, making this easy too. You can even optionally select the corner, history, result or set a default value if the calcVal expression fails.

 

 

Imagine trying to write the expression above in the calculator, or the outputs - this would be pretty complex.

Creating Complex Expressions

We can use the expression builder to make building complex expressions easy. Take the cross function for example, this just requires a signal and values for threshold, edge, type, number of occurrences, sweep name and tolerance.

 

But what if we wanted

  • signal to be a waveform that takes the dB20 and magnitude of signal OUT
  • threshold is the user defined Current expression value calculated from corner C0 in the TRAN test of a history Interactive.4
  • edge is defined by a variable and
  • number of occurrences, sweep name and tolerance are defaults

Doesn’t this sound quite complicated. But it's not, when you get the Expression Builder to guide you through.

If you haven't already, then watch the video to see how easy this is.

I am sure you agree now that the Expression Build can easily build up really complex expressions that would be almost impossible to create using the calculator.

Related Resources

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.

 

 

 

Arja Hunkin


Virtuoso Video Diary: Real-Time Tuning—A Lot More Than Just an Assistant!

$
0
0

Have you ever found yourself in situations where you’re not sure which values of design variables or parameters could give you the desired simulation results? Or, have you come across situations that required you to calculate the performance of a given design over a collection of design or parameter values?

I’m sure most of us would have encountered these problems several times while working with analog designs, no matter whether the design is small or a large one!

To keep pace with the current technology and to fulfill such ever-increasing simulation requirements, Virtuoso ADE Explorer has introduced a very powerful and handy feature called Real Time Tuning (RTT) assistant. As the name suggests, the RTT assistant helps you dynamically fine-tune the design, and updates made to the design are instantaneously reflected in the generated simulation results.   

The RTT flow is tightly integrated with the Spectre simulator. You need to run the simulation only once (at the start) and Spectre remains active in listening mode waiting for new variables or parameter values.

Real Time Tuning Graphical User Interface

When you invoke the RTT assistant, the schematic design window appears with this assistant displayed on the left – technically, you are in RTT mode now!

Have a look at the figure below to catch a glimpse of the RTT assistant.

Real Tine Tuning dialog in Virtuoso ADE

It’s absolutely time-saving and easy to view the simulation results and waveforms as soon as you change the design and parameter values by moving sliders in the RTT assistant.

Tuning and Beyond...

After you change the values, the updated calculations are displayed in the Outputs Setup tab and output waveforms are displayed in the Virtuoso Visualization and Analysis XL graph window, which can also be opened as an assistant in the Virtuoso ADE Explorer or design window, further solidifying the integration between ViVA XL and ADE. Just change the values in RTT and view the results alongside in the same ADE Explorer window! This can be extremely helpful when you are trying to overcome the initial hiccups with simulating a complex design!

Also, it's interesting to note that you can view the updated waveforms directly on the schematic design in the form of waveform info-balloons or thumbnails. See the figure below to view how updated values are displayed in the trace legend of the info-balloon. After you're done with design tuning, you can bring the updated values back into the original ADE Explorer setup.

Viewing updated waveforms on the schematic design in the Virtuoso ADE Explorer

If you haven’t tried RTT assistant as yet, I’d recommend you to try it now! It’s among the most interesting and useful features of ADE Explorer, which works fantastically!

For more information about how to tune the designs using RTT assistant, you can view the Real Time Tuning in Virtuoso ADE Explorer video on Cadence Online Support.

Click the video link now or visit Cadence Online Support and search for the video under VideoLibrary.

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

Related Resources

 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.



Ashu Vashishtha

Virtuoso Video Diary: Controlling the Information Displayed on Outputs Setup and Results Tabs

$
0
0

In Virtuoso ADE Explorer and Virtuoso ADE Assembler, it’s not unusual to see a large number of records in the Outputs Setup and Results tabs. At times, the number of records is so high that it is difficult to focus on a relevant set of rows or columns. In such scenarios, you may want to customize these tabs to show selected rows or columns, rearrange them in a specific order, or search for some specific values. The good news is that ADE Explorer and ADE Assembler already provide features to make such customization possible.

Let's explore how you can use these features that help in controlling the display of rows and columns on these tabs.

Use Column Filters to View Filtered Data

Both Outputs Setup and Results tabs contain filters that are displayed on top of each column. In a column filter, you can specify the search keywords for the values to be displayed in that column. All the rows that meet the given search criterion are displayed in the table.

Here’s a list of tasks that you can perform with filters:

  • Combine filters to form a search criterion by applying them in multiple columns.
  • Customize the search criterion by using the context-sensitive menu commands of a filter. For example, you can make a filter case-sensitive or look for values with the given prefix.
  • Apply multiple filters in a single column, as shown below.

  • Save the frequently used filters with a specific name in the cellview. The Named Filters toolbar shows all the saved filters.

  • Hide filters if you do not want to view the filtered data.
  • Specify the number of rows for which the filters should be visible by default by setting the outputSetupFilteringNumOutputThreshold environment variable. Note that this variable can have different values for ADE Explorer and ADE Assembler.

Configure the Columns to be Shown

Show only those columns that you are interested in viewing and hide the rest. You can do this by clicking the Configure what is shown in this table drop-down list available on the toolbar. Just select the columns names you want to show.

Add Custom (User-Defined) Columns

If you have special notes or comments for measurements or their specifications, and you want to save them for quick reference, you can add a user-defined column. You can do this by using the Add column command in the context-sensitive menu of any column name. The user-defined columns are visible in both Outputs Setup and Results panes, and are saved in the cellview.

Do try these time-saving and useful features to enhance your experience!

For more information about using filters, you can view the Filtering Data on the Outputs Setup and Results Panes video on Cadence Online Support.

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 this video (mp4) natively in Cadence Help when you are using Virtuoso IC6.1.7/ ICADV12.3 (ISR5 or later). In the Cadence Help Virtuoso Documentation Library, look for the video title under Video Demos.

Related Resources

Virtuoso ADE Explorer User Guide

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

Virtuoso Video Diary: Run Point Selection -WYSIWYG

$
0
0


With Virtuoso ADE Explorer and Virtuoso ADE Assembler, it is easy to create setups of corners, variables and parameters that are quite complex to work with. Sometimes you just want to run a few simulations out of the overall set of combinations. It can be time consuming and potentially error-prone to unravel those desired values from all the corner groups, variable sweeps and parametric sets so that you can run them individually.

The Run Point Selection feature in Virtuoso ADE Explorer and ADE Assembler, introduced in the IC6.1.7/ICADV12.3 ISR10 release, enables you to do this task quite easily.

Run Point Selection is part of the Run Preview tab. Run Preview tab?What’s that? I’m so glad you asked. The Run Preview tab is a handy feature that allows you to see and interact with your overall ADE setup, view the corner and variables values for each individual simulation and generate netlists for each point if desired.

In ADE Explorer, the Run Preview tab can be opened by choosing Simulation->Run Preview from the menu bar. In ADE Assembler, choose Run->Run Preview.

The top portion of the tab is the Setup Summary. The bottom portion is the Points Table.

Setup Summary

  • Shows the total number of simulations that will be run
  • Includes hyperlinks to highlight the appropriate section of the GUI (Test, Point Sweeps) or directly open the relevant forms (Corners, Job Policy)

Important Note: At first, you won’t see anything in the Points Table until you press the yellow(ish) Refresh button at the top of the tab. Do that now. I’ll wait.

Points Table

  • Displays a table with one row for each simulation in the current setup, showing the test names, corners, variable and parameter values for each.
  • Click the column headers to sort.
  • The context-sensitive menu that appears when you right-click a row in the points table includes an option to generate the netlist for the selected point. Note: this is not possible from the Data View because generating a netlist from the test in the Data View will not consider the corner and sweep variable values.

Run Point Selection

  • While the Run Preview tab is available in ADE XL, the Run Point Selection feature is available only in ADE Explorer and ADE Assembler.
  • Click the checkboxes in the Run column to enable or disable any subset of simulations from the overall setup.
  • Click the RMB on the column header to enable or disable all the Run checkboxes at once.
  • Use the standard click, Ctrl+click and Shift+click commands to select multiple rows, then click RMB to enable or disable them.

What You See Is What You Get (WYSIWYG)

Now, you will see that the Simulations field in the Run PreviewSetup Summary has updated to show the subset of simulations that have enabled checkboxes. The Run Summary assistant in the main GUI will display a label to let you know that the information there has been overridden by the Run Point Selection and that you should look in the Run Preview tab to see how many simulations will be run.

Now, when you press the green Run button in the main GUI, only those selected simulations will be run.

A Few Other Things to Note

  • By default, the Run Preview Points Table will not automatically refresh when the setup changes. Instead the Run Preview UI will grey out and the refresh icon will alert you that the table is not current and needs to be refreshed.
  • You can turn on automatic refresh using the pulldown on the refresh icon or using the .cdsenv variable:

envSetVal(“adexl.gui” “enableAutoRefreshPointsTable” ‘boolean t)

  • Use the Enable/Disable Point Selection icon next to the refresh icon to quickly disable Run Point Selection while retaining the state of the Run checkboxes. The Run column will grey out and the full set of simulations from the original setup will be run. The checkbox selections will be restored when you click that icon again.
  • Run Point Selection is currently only supported for Single Run, Sweeps and Corners run mode.
  • Run Point Selection is not considered in saved Ocean XL scripts or Setup States. They will use the full corner/sweep setup.
  • Run Point Selection is considered in the maeRunSimulation batch command and in maestro views run from ADE Verifier.

I like this feature and I always want to see the Run Preview tab

To display the Run Preview tab by default, use the .cdsenv variable

envSetVal(“adexl.gui” “outputTabsShowDefault” ‘string “\”Run Preview\””)


For more information on Run Point Selection, you can view the Run Point Selection video on Cadence Online Support. Click the video link now or visit Cadence Online Support and search under Resources — Video Library for the video titled Run Point Selection.

Note

If you don’t have a Cadence Online Support account, you can play this 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.

Related Resources

 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. 

Virtuosity: The Reboot

$
0
0

It’s been quite a while since I wrote about “Things I Learned by Browsing Cadence Online Support”.  That absolutely does not mean that I haven’t learned anything recently by browsing Cadence Online Support.  It just means I haven’t had time to write about it!

So now it’s time to expand and re-purpose the “Virtuosity” brand.  From now on, the blogs under that heading will include highlights of new features, in-depth explanations, tips, tricks and anything else we find to be useful and worth sharing.  Contributors to the series will be from our Product Engineering, Technical Publications and R&D organizations.

Of course, you will want to continue browsing Cadence Online Support to keep up with all the latest content.  And the most recent enhancements to the site make that easier than ever.

More Powerful Search Engine

The search engine is now powered by Google Search Appliance, so it’s quicker and more likely to return useful results.  On the results page, the column on the left provides the ability to filter based on products, versions and document types.  You can also search the Cadence Community sites for blogs and forum posts matching your search.

Rapid Adoption Kits

Rapid Adoption Kits (RAKs) are easier to access.  You can find them under either the Resources or SelfLearning pulldowns on the Cadence Support page.  Click on the RAK you want to see.  The document opens in the viewer and the database attachment is linked at the bottom of the same screen.  (This is easy to miss if you don’t know where to look for it.)

What's New Library

To keep up with new features, options and changes in each ISR, use the Self Learning pulldown to access the What’s New Library, where you will find overview presentations and highlight videos for each ISR release, as well as links to the What’s New documents for each product and even a video tutorial for the Cadence Online Support website.

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

Feedback

Don’t forget the Feedback tab on the right side of the screen.  We do read and act on all feedback submitted.  If you find an error, or are confused by something, please let us know.  If you found something especially valuable, let us know that too.  It helps us know how best to plan future content.

We also welcome your comments on any topics you’d like to see explored in more depth for future articles.

About Virtuosity

Virtuosity has been our most viewed and admired blog series for a long time that has brought to the 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 will 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!

Stacy Whiteman

 

Virtuoso Video Diary: How Can I Plot or Evaluate with the New Expression Builder?

$
0
0

Indeed, the new Expression Builder has made expression creation much easier, but are you still wishing for some more enhancements and handy features available right under it? Would it make working with expressions much quicker and easier if you have an option to evaluate or plot them from within the Expression Builder, just like the way you do with the Calculator. So, here your wish comes true with the new evaluation and plot options accessible within Expression Builder!

The Expression Builder now includes a new Eval/Plot button that brings up a tiny form with the evaluation and plotting options. 

You can use this form to plot or evaluate an expression from any test, corner, point, or history that you have run. After evaluation, output waveforms are plotted in the graph window and scalar results are displayed in the Expression Builder buffer or you can also send them to a table. You can also control the plotting mode using this form. 

Evaluating Expressions Using the Expression Builder

Let us understand this with the help of an example. Consider a simulation run with 3 design points, 2 corners and a nominal corner. This example illustrates how you can evaluate or plot the expression for an existing output, Swing

If you open the Expression Builder from the existing output it will open with the Swing expression in the buffer.  

As we’ve already run the simulation, all the 3 points are available in the Points drop-down list, and the 2 corners + nominal are shown in the Corner drop-down list as shown in the figures below.

Now, if you select point 1 and corner C1, and click the Eval/Plot button, the expression gets evaluated for the selected point, corner, history and test. In this case, output is a scalar value, therefore, it is displayed in the buffer.

You can also click the table button to append values for each of the points or corners in a table. In the figures below, notice that the correct values have been found for each design point or corner.

Plotting Expressions Using the Expression Builder

To plot a waveform result, just use the Plot button available in the form. It is easy to append waveforms from different design points or corners to compare them by selecting Append from the drop-down. For example, the waveforms below appear when you plot the expression for the flip function and append waveforms for other points and corners.

If you would like to watch these steps in detail, you can view the Expression Builder - Plot and Evaluation video on Cadence Online Support 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 Expression Builder - Plot and Evaluation video (mp4) natively in Cadence Help when you are using Virtuoso IC6.1.7/ ICADV12.3 (ISR8 or later). In the Cadence Help Virtuoso Documentation Library, look for the video title under Video Demos. 

Related Resources

Note: For more information on Cadence circuit design 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.

 

 

 Arja Hunkin

 

Virtuosity: What's New in analogLib

$
0
0

Virtuosity

It's been a while since analogLib was updated, so we decided to pay some attention to some long standing and popular requests in the recent ISRs!

S-Parameter File Parameterization

In IC6.1.7 ISR6, the ability to use parameterization for the s-param file in the nport instance was added. This provides the flexibility to create the s-param file as a design variable in your simulation test setup. You can very simply now set the s-param file as a design variable. Just select the S-parameter file as Design Var? check box in the Edit Object Properties form as shown below and type the file name in the S-parameter data file text box.


Now you can use the file name “spfile” as a design variable in your simulation setup like this:


This will run a simulation for each file.


You can also use “spfile” in the corner setup to run corner simulations using a process based s-parameter file.

Deepprobe

In IC6.1.7 ISR8, a new component, deepprobe was added to analogLiballowing you to make a connection from the top-level test bench to an internal net within a subckt block down the hierarchy.

It's easy to add these connections. Just place a deeprobe component on the schematic, open the Property Editor and enter the hierarchical node in the box. For example: b is an internal node in the schematic under I1/I0. This must be specified in the simulator syntax. Note only the Spectre simulator is supported.

  

The waveform will be plotted on the output node of deepprobe component. You can see the voltage of I1.I0.b is plotted on net C.

 Because you can now bring up an internal net to the top level of the schematic using deepprobe, you can also do cool stuff like:

  • Short two internal nets
  • Connect a voltage/current source to the internal node

Let's see how to do these...

Short two internal nets

To short two internal nets, place two deepprobe elements on the schematic and connect the output node with 0V DC source. This way nodes “a” and “b” of instance I1.I0 are shorted.

Connect a voltage/current source to the internal node

To connect a voltage or current source to the internal node, place a deepprobe element on the schematic and connect the output node with the desired voltage or current source. You can see here the V0 source is now connected to hierarchical node I1.I0.c.

Additional Features for the vsource & isource Cells

hspiceD Support for vsource and isource Cells

IC6.1.7 ISR10 onwards, vsource and isource cells can be netlisted in hspiceD just by setting the simulator to hspiceD. You can use the same schematic for the hspiceD simulator without making any changes to the CDF or specifying any additional parameters.

PWL File Support

In IC.6.1.7 ISR10, we also added the ability to upload Piecewise Linear (PWL) data from a file. If the isource or vsource cell has the Source type set to pwl, you can click the check box to open a browser to find the pwl file to use for the upload.

Nested Bit Pattern Support

Finally, from IC6.1.7 ISR11, if you use the vsource/isource cells to generate a bit sequence then this has been simplified with the addition of nested bit patterns for Spectre only. 

For example:

In the Add Instance form below you can define a pattern such as

111 4(0101) 3(1011) 2(0011)

This means that the evaluated pattern will be 111 then 4 times 0101, 3 times 1011 and 2 times 0011, as shown below

111 0101 0101 0101 0101 1011 1011 1011 0011 0011

 

Which would look like this in the netlist

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! 

Yagya D Mishra

 

 

Virtuosity: Is it Possible to Create a Bus on Several Metal Layers Simultaneously?

$
0
0


Routing Multiple Nets on Different Metal Layers to Gain Productivity

Have you ever found yourself in a situation where all the wire segments in a bus are on different metal layers? Did you ever think about interactively routing a bus on two metal layers at the same time, for example M1 and M3, to gain productivity and achieve tighter spacing than would be possible on a single metal layer?

Until now, interactive routing did not support bus creation on multiple metal layers at the same time, just one metal layer at a time. You can start a single-layer bus from pins, wires, or vias. But when you start a multi-layer bus from pins, wires, and vias on different metal layers, it becomes difficult to route multiple nets on different metal layers. The methodology required is to manually split the bus into alternating parts (such as odd and even parts) and then route them in two passes. This method is cumbersome and it is difficult to get good results.

So, have there been any improvements in this area and is it now possible to create and route a bus on several metal layers simultaneously? 

Yes, indeed! The multi-layer bus feature is the answer.

Now, with the new multi-layer bus feature, you can create and digitize bus bits on different metal layers. At the same time, you can also adjust the spacing between the bus bits based on default constraints, source and target objects, and spread.

A multi-layer bus can be created from the following starting points:

  • An empty space

When you create a multi-layer bus from an empty space, you can create the multi-layer bus with a customized layer pattern. In a customized layer pattern, each bus bit is defined with a layer name or a layer-purpose pair.

 

The custom layer pattern is a string. The syntax to define a custom layer pattern is:

(layerName1 [purposeName1] layerName2 [purposeName2] ...) [(layerName3 [purposename3]) ...]

Here are some examples of how a multi-layer bus is created when started from an empty space, based on the defined custom layer patterns.

  • Existing pins and pre-routes, such as wires or vias

To create a multi-layer bus from an existing source, such as pins, wire, and vias, enable the Multi Layer Bus Selection option in the Create Bus context-sensitive menu. The figure below shows how a multi-layer bus is created when starting from pins on different metal layers.

  

Transitioning Capabilities in a Multi-Layer Bus

In a multi-layer bus, you can switch bus bits between layers by moving up or down one or multiple layers at a time. You can also move all the bus bits to the same layer, and then switch back to a multi-layer configuration. But this can be done only after inserting the appropriate vias.

 

 

Switching the bus bits between a multi-layer configuration provides an easy way to tunnel the bus on one layer and then quickly and easily switch back to the multi-layer configuration. The example here shows how the bus bits transition from multiple metal layers to the same metal layer and then revert back to the multi-layer bus configuration. 

 

Customizing Multi-Layer Bus Transition

Is it possible to start a single-layer bus and easily switch to a multi-layer bus configuration? Yes, indeed it is.

To maximize the flexibility and power of the multi-layer bus feature, you can define SKILL procedures for creating complex multi-layer bus transition patterns, which makes the feature highly customizable. The steps involved to customize multi-layer bus transition are shown in the figure below.


  • Define the SKILL Procedure

Write a SKILL procedure in the Command Interpreter Window (CIW). You can also write the SKILL procedure in a .il file and then load the file in CIW. The defined procedure can also be saved into a local directory as <filename>.il. To load the procedure from the saved file into Virtuoso, specify the following command in CIW.

load("<file_name>.il")

The following example defines a procedure that alternates the bus bits from Metal1 to Metal4 and from Metal2 to Metal5 and the reverse. This transition of bus bits is applied to the complete bus whatever its size.

(procedure (St14 cellViewId args)

(let (techFileId netLayerPair layerNum newLayerName newLayerNum layerName result)

result = nil

techFileId = (techGetTechFile cellViewId)

foreach netLayerPair args

layerNum = (cadr netLayerPair)

layerName = (techGetLayerName techFileId layerNum)

newLayerName = layerName

(case layerName

("Metal1"

newLayerName = "Metal4"

)

("Metal2"

newLayerName = "Metal5"

)

("Metal4"

newLayerName = "Metal1"

)

("Metal5"

newLayerName = "Metal2"

)

)

result = (tconc result newLayerName)

)

(car result)

)

)

The following figure shows the output when the above SKILL procedure is run.

  • All bits on Metal1 move up to Metal4

  • All bits on Metal2 move up to Metal5

  • All bits on Metal4 move to Metal1

  • All bits on Metal5 move to Metal2

Bus bits on other metal layers remain unchanged.

  • Include the defined SKILL Procedure in Create Bus Context-Sensitive Menu

Include the defined SKILL procedure as a menu item on the Via submenu in the Create Bus context-sensitive menu and assign a bindkey to it. To add the SKILL procedure as a menu option on the Via submenu, use the weAddCustomTransitionMenuItem SKILL API. You can then quickly access and run the SKILL procedure by using the bindkey or by clicking the associated menu option from the submenu.

 

  • Call the Defined SKILL Procedure

The defined procedure is called by the system when you click the associated menu option from the Via submenu or use the assigned bindkey.

 

The How to define custom transitions option available on the Via submenu provides information about how you can customize the multi-layer bus functionality.

 

Related Resources

Note: For more information on routing related Cadence products and services, visitwww.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 - Filtering Your Way Through Corners

$
0
0

Have you ever looked at the Corners Setup form and wished you had some way of finding that one corner out of the hundreds? What if you could filter for enabled corners, certain values, model files etc, then only run the corners you've found? Well now you can!

Now, the Corners Setup form has been updated and includes a filter column with the ability to save and delete filters and a way to enable only the corners you've found with filtering. Let's see how easy and powerful corner filtering can be.

For example, let's look at this corner setup below.

There is now a new Filter button on the toolbar. 

You can use this to toggle the filter column on and off. Now we have the column we can start to filter for particular values/strings. Just type the strings or values into the filter column on the row that you wish to search on.  Simple filtering, such as a space or comma separated list on the cload row like this, 100p 120p 130p 160p, will find columns C0_0, C0_2, C0_3 and C0_6. The columns will update dynamically as you type.

Filtering for a value within a range will return the corner for the specified value. For example corner C0_2 contains a range 1K:500:4K and if we filter for a value within that range, such as 1.5K, or 2K then the C0_2 corner will be returned when the search criteria is set to match Any of the Words.

If you want to filter for a range, such as 1,2,3 then change the search criteria to match All of the words or the Exact Phrase - Just right click on the filter column, the search options will appear - these can be used to tailor your filtering requirements. 

By default, the search criteria will look for Substring, but you can change that to PrefixSuffix or Exactly.

Then type the range into the filter column on the vdd row, and the relevant columns will be shown.

For example, change the criteria to search for Suffix and in the Model files row type s - this will return the columns that have model groups ending in an s.

We could expand this further, by only filtering for enabled corners with a model group that ends in s.

Typing enabled:yes into the filter column will return the corners where the corresponding checkbox is enabled. But you can also combine that with a search string. Let's look for all the corners that have their model files enabled and end in s. (enabled:no will return all the corners with disabled model files)

For this example, we need to change the search criteria to search for TheExact Phrase and Suffix and then type enabled:yes s into the Model Files row in the filter column and see that only these corners have been found

Change the search criteria to look for None Of The Words, and you can easily filter for all the corners that do not contain that option, such as mc.

Exact phrase matching still honors prefix and suffix so you can search for :4K and it will match :4K but not 1K:4K:20K

Clearing Filters

Filters can be cleared easily, just click the clear icon on the toolbar to remove all the filters.

Saving/Deleting Filters

Once you have created filters, you can save them in the Filter drop down.  Just create a filter and in the Filter name drop down type the name of the filter, toggle between the saved filters or empty entry to show all. Filters will be saved and will be available the next time you open this design.

To delete a saved filter, just right click on its name and choose Delete.

Running the Filtered Corners

Once you have filtered your corners and have a set you would like to run in ADE, simply click the Enable only filtered corners icon and OK/Apply the form.

Then the Data View in ADE will update to enable the corners you've filtered for.

    

We have seen how easy and powerful it is to filter for corners using many different search strings and criteria.

If you would like to watch these steps in detail, you can view the Corner Filtering in ADE Assembler & Explorer video  on Cadence Online Support. Click the video link now or visit Cadence Online Support and search for the Corner Filtering in ADE Assembler & Explorer video under Video Library

Note: If you don’t have a Cadence Online Support account, you can play this 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.

Related Resources

Note: For more information on Cadence circuit design products and services, visitwww.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.

Arja Hunkin

Virtuoso Video Diary: What is Virtuoso System Design Platform?

$
0
0

“Any sufficiently advanced technology is indistinguishable from magic.”
― Arthur C. Clarke, Profiles of the Future: An Inquiry Into the Limits of the Possible

Virtuoso System Design Platform (VSDP) functionality is no less than a magic for an IC designer for whom the weeks of effort gets reduced to just few minutes! VSDP brings together the Virtuoso® and Allegro®/Sigrity™ platforms seamlessly. The functionality aids in an important function of the semiconductor industry to manufacture chips that work in real environment with the package and PCB system in place.

VSDP provides an IC-centric solution with top-down (designing a specification-level package) and bottom-up (simulating an existing PCB/package system) capability. This is the ideal solution as it helps bring in a complete simulation environment and at the same time requires minimal knowledge about PCB or package and electromagnetic simulation domains. You can expect a colossal improvement in productivity with such an integrated solution!

As an IC designer, you can leverage VSDP in the following ways:

  • Update the IC layout and package layout design using Virtuoso Schematic Editor. Therefore, in addition to the IC layout, you can now design the schematic for a package layout using Virtuoso Schematic Editor. It provides a single schematic editor driven IC and package design.
  • Create a package or PCB parasitic-aware schematic that can be simulated with Analog Design Environment (ADE) including multi-technology simulations. This is an essential mechanism to realize complete system-aware simulations.
  • Design IC and package layout through the co-design die abstract flow simultaneously. This minimizes design iterations and cuts down a very late stage floor-planning and design feasibility issues.

There are mainly two flows in VSDP:

  • Implementation - you can export a die symbol from Virtuoso layout and create a package schematic in Virtuoso Schematic Editor and then, transfer the schematic data to System in Package (SiP) layout to build a physical layout.
  • Analysis - you can create a simulation schematic from the PCB/Package, build the testbench, perform the LVS check, and simulate the IC in context of PCB/Package using the ADE-Spectre simulation interface.

VSDP Implementation and Analysis Flows

The following videos available on Cadence Online Support depict the entire flow (implementation or analysis) as a solution for the customer requirements, such as designing package and ICs together in a single schematic editor to analyze and simulate whole system or managing the parasitics and connectivity in the design.

Click the video links now or visit Cadence Online Support and search for these videos 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

 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.

Deepti Mishra Gupta

For more information on performing noise simulation using PSS/Pnoise, you can view the Performing Noise Simulation in Spectre RF Using the Improved Pnoise and Direct Plot Form Options video on Cadence Online Support. Click the video link now or visit Cadence Online Support and search for the video under Video Library.

Related Resources


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.

- See more at: https://community.cadence.com/cadence_blogs_8/b/cic/archive/2017/02/02/virtuoso-video-diary-performing-noise-simulation-in-spectre-rf-using-the-improved-pnoise-and-direct-plot-form-options#sthash.mtBJUThW.dpuf

Virtuosity: I've Learned to Customize RTT Simulations...Bingo!

$
0
0

The Real-Time Tuning (RTT) assistant is one of the most powerful features of ADE Explorer that helps you fine-tune your design without the need to run simulations repeatedly. It is equipped with simple and easy-to-use graphical user interface that lets you change the design variables and parameter values and also view the updated results simultaneously.

While working with the RTT assistant, you may want to reconfigure the look and feel of the assistant and change other settings according to your requirements. There are some very useful environment variables that you can set to make things work in your own customized way. Let's know more about them.

Did You Say 'It's Timeout'?

Consider the scenario where you're working with the RTT assistant and you forget to turn off the RTT assistant after your work is done. Now, as the RTT assistant is open, a simulator license remains checked out and it's clearly visible that the simulator is unnecessarily blocked, whereas it could be of use to someone if you're working on shared resources. 

So, to avoid keeping a simulator license checked-out when the RTT assistant is inactive for a long time, and to maximize the resource utilization, you can specify a timeout value by setting the activeTimeout environment variable in your .cdsinit file or CIW:

envSetVal("maestro.rtt" "activeTimeout" 'int "3600")

When the RTT assistant is inactive for longer than the specified timeout value, the simulator license gets checked in and the RTT simulation is stopped. Note that the default timeout value is 3600 seconds. 

Can I View the Status of My RTT Simulations?

Do you know 10 seconds after running simulations, the RTT assistant displays a log file that shows the latest simulation status? Is your simulation so fast (less than 10 seconds) that you don’t get to see the log file? Or, you might not be worried about the log file because the RTT simulations are likely to be quicker. But, if you are really interested in knowing the latest status of the current RTT simulation run, you can set the time using the timeoutShowLog environment variable. This variable controls the time after which the log file is popped up when you hit the Play (start simulation) button in the RTT assistant.

envSetVal("maestro.rtt" "timeoutShowLog" 'int "10")

The default value for this variable is 10 seconds. If you set it to a negative value, the log file will not be displayed. This variable is useful when the RTT simulation run is long.

I’ve Got Some Dependent Variables. How Will They Work in RTT?

If you have dependencies within the variable and parameters in the setup, then you would surely want to know the answer to this question. Well, the answer is: you can control the dependency between variables and parameters in RTT mode by setting the keepVariableDependency variable to t. If you set this variable to nil, the dependency will not be considered and you can tune the dependent values separately. The default value of this variable is t, which means that the dependency is always honored. 

envSetVal("maestro.rtt" "keepVariableDependency" ’boolean t)

I Don't Want to See Too Many Sliders in the RTT Assistant...

If you are particular about keeping your screen-space uncluttered and want things to show up only when you need to use them, then the sliderOnMouseOver variable is of your interest. You can set this variable to t, which is the default value, to display the tuning slider for variable and parameters when you mouse-hover or click a variable or parameter. When you set this variable to nil, tuning sliders for all variables and parameters are displayed in the RTT assistant. 

envSetVal("maestro.rtt" "sliderOnMouseOver" ’boolean t)

Start my RTT Simulations Quickly, Please! 

Are you pressed for time and want your RTT simulation runs to start as quicker as possible? Then, you can set the simulateOn environment variable, which specifies an event to control the time lag between changing the variables and parameter values, and running the RTT simulation. By default, this variable is set to onMouseUp event, which means the simulation will be started as soon as the mouse button is released on the slider.

envSetVal("maestro.rtt" "simulateOn" ’cyclic "onMouseUp")

Note that you can also set it to other valid values:

  • adaptiveDelay: It’s mostly used for very fast simulation runs where you would not like to wait for even half a second for the simulation to start. When this value is set, the run time from the first simulation run is evaluated and set as the delay time for the subsequent simulation runs.
  • 500ms: If you specify the value as 500ms or 0.5s, the new simulation will start after the specified time.

Related Resources

If you would like to know more about real-time tuning and the related environment variables, their default and valid values, see the below links:

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: 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

      Viewing all 750 articles
      Browse latest View live


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