Quantcast
Channel: Cadence Technology Forums
Viewing all 63082 articles
Browse latest View live

Forum Post: Import .spef file in Spectre

$
0
0
Hello there! I would like to know whether (and in case how) it is possible to include into the spectre circuit netlist the .spef file, generated after the P&R, in order to simulate the circuit also with the parasitic Rs and Cs. Thank you in advance.

Forum Post: RE: Cadence schematic showing up all as yellow

$
0
0
OK, based on the packet names, that looks as if you must be using a schematic in a library attached to a TSMC PDK technology library. They renamed the packets used to be similar to those you're showing. So, what I would suggest is checking the name of the attached technology library: techGetTechFile(geGetEditCellView())->libName and then in the library manager, go to that library name and use Right Mouse->Properties. Look for the readPath and then in UNIX take a look in that directory (and most likely the one above it) to see if there's a display.drf. That's almost certainly got the packet definitions you need. What is odd is that this would normally get automatically loaded by the libInit.il file within the technology library - but maybe something has been changed in your environment. You probably could just copy the display.drf you find into your working directory and restart Virtuoso and see if that helps? Regards, Andrew.

Forum Post: RE: how to define different sweep variables for different test within the same adexl

$
0
0
Hi Kevin, Yes. The relationship between ADE Assembler and ADE Explorer is a lot tighter - so you can use Explorer as a single test environment with lots more debug features than ADE L did, and it's easy to transition between the two. ADE Assembler also has a lot more filtering capability, local sweeps, run plans (for setting up multiple runs of different types together), waveform comparison specs, the ability to use sensitivity and optimisation (previously part of ADE GXL) and a whole lot more. The storage format is a lot more compact (uses many fewer files) and so the new maestro views work much better in design management tools. Essentially it's a superset of ADE XL functionality - migration to it is simple but for an ADE XL user it should be trivial to adopt. I would suggest you look at various videos on the support site - for example this introduction (apologies for the robot voice) and this Rapid Adoption Kit: IC6.1.8: Virtuoso ADE Explorer and Virtuoso ADE Assembler Regards, Andrew.

Forum Post: RE: use outcome of one sim (w. post processing) as the input of next sim

$
0
0
Hi Kevin, This can be done with Run Plans in ADE Assembler. Take a look at this RAK: Techniques for Simulating Calibrated Circuits with Virtuoso ADE Assembler Andrew

Forum Post: RE: Import .spef file in Spectre

$
0
0
Whilst there is a capability in spectre to do parasitic stitching, that's not something we actively encourage (the user interface for it in ADE is not shown as standard because of this). That's because stitching is always tricky - often the spectre netlist doesn't directly correspond to the netlist used for LVS (both in terms of device naming, and sometimes series connected devices are net listed differently). So the recommendation is to use DSPF rather than SPEF. DSPF includes not only the parasitics but the designed devices too - and another benefit of that is you then can use the extracted device parameters (so can include layout-dependent-effects). SPEF however only contains the parasitics, so you'd be using the original (schematic) device parameters - this is another benefit of using DSPF. In the DSPF flow, you simply need to reference the DSPF file from the Setup->Simulation Files form in ADE. The port ordering should (generally) be handled automatically because of how the DSPF is included into the design. Regards, Andrew.

Forum Post: RE: Sweeping different design variables at the same time within an (qpss) analysis

$
0
0
Are you using ADE Explorer to do this by any chance? If I use ADE L, it works fine, but there's a current issue in ADE Explorer where the netlist ends up with P2 being set to the initial value of P1 rather than the parameters line in the netlist showing P2=P1. The workaround is to define your variable as P2=(P1) i.e. with parentheses around the variable name. There's a CCR to get this fixed, but it isn't fixed yet. Of course, this is guessing which ADE you're using - it's always useful to know that kind of information. I don't see the issue you're seeing with the second edit - however, it doesn't make sense to set a port with such a low power. For harmonic balance and shooting, the signal is still present - a better solution is to parameterise the frequency and then set the frequency to 0 - that way the signal doesn't get generated at all. Andrew

Forum Post: RE: Parallelizing simulation with a variable sweep in an analysis itself

$
0
0
Hi Emiel, If you sweep within the simulator, it doesn't run the sweep points in parallel. Particularly with the RF analysis, there's a lot of shared information that is needed across those sweeps and so it wouldn't be trivial to run those points in parallel (without the memory consumption increasing a lot in many cases) - so right now that is not supported. You do have multi-threading which will mean that some of the work of each sweep point can be done in parallel, but it's not as simple as considering each sweep point in parallel. With that, i would say specifying 28 threads is pretty high - it's unlikely you'll really be utilising that many threads. I don't see why you specified them both as 28 - that seems a bit odd to me. If you are running in ADE XL/Explorer/Assembler and there are multiple jobs running, the spectre.out is not displayed (because there would be lots of them, and potentially thousands of windows could end up being displayed). However, you can go over one of the points in your ADE Results table and use the context (Right Mouse Button) menu to display the output log for that specific simulation point. Regards, Andrew.

Forum Post: RE: Import .spef file in Spectre

$
0
0
Thanks for the answer! Another thing: since we do not have the proper files for RCExtraction with QRC, would the results provided by Innovus parasitic extraction be still appreciable (even though less precise)? Best regards, Simone

Forum Post: RE: Import .spef file in Spectre

$
0
0
Hi Simone, Innovus only does cell-level extraction and I was assuming this would be transistor level DSPF. I've not tried using the results from the built-in Innovus cell-level extractor - it may be able to continue using the leaf level cells from the schematic. Not sure - you'd probably need to suck it and see! Andrew.

Forum Post: RE: Plotting a straight line (the hard way)

$
0
0
There isn't really a pretty way of adding curve that isn't just a variant on what you've done already. There's an enhancement CCR (1310040) asking for strip support on awvPlaceYMarker, but it's not been implemented yet (so you might want to contact customer support and ask for a duplicate). I can see how it could be done using the underlying (very private - too low level to reveal) API, so it's feasible in principle. The vertical markers for your bonus point question don't cut it because they are across all strips. The only way you could do it is (I assume) add a two point vertical line between the ymin and ymax of the waveform on that strip. Another alternative might be to place a bookmark with awvPlaceBookmark() in the region you want to indicate something - that might be simpler? Andrew.

Forum Post: RE: Import .spef file in Spectre

$
0
0
Hi Andrew, I've done a simulation for a simple 16bit RCA with and without parasitics: worst case increased by 11% and power consumption by 23%. I also read on the documentation that Innovus is only able to extract the parasitics from interconnection, is it correct? If so, it would be enough for our purpose, which is computing and studying the effect of interconnections in certain circuits. Simone.

Forum Post: how to update connectivity reference hierarchically

$
0
0
Hello, when I opened layout of "A" and launched layout XL, the schematic popped was of "B". I did update connectivity reference to schematic of "A". But, the whole hierarchy of "A" is having connectivity reference pointing to the counterparts of "B". Please let me know how to update connectivity reference hierarchically. Please note. A and B are similar design and both are in same library

Forum Post: RE: Import .spef file in Spectre

$
0
0
Hi Simone, Yes, it will just extract the interconnect between the placed cells/blocks. Andrew.

Forum Post: RE: Plotting a straight line (the hard way)

$
0
0
Thanks Andrew. I did go looking for ways to access the ymin and ymax I got after plotting (i.e. the auto-scaled values) on a given strip but drew a blank. Do you know how to get that information?

Forum Post: RE: How PORT in analogLIb of Spectre Works

$
0
0
I couldn't find the path to Virtuoso Simulator Components and Device Models Reference and documentation for analogLib. Could you tell the path to these documents

Forum Post: RE: How PORT in analogLIb of Spectre Works

$
0
0
I had a typo in my previous post (I said Virtuoso Simulator Components rather than Spectre Simulator Components...). Anyway, the best way to find these manuals is using cdnshelp. If you run /bin/cdnshelp it will open the IC documentation by default, or if you run /bin/cdnshelp it will display the SPECTRE/MMSIM documentation. In either case you can change the settings form (Library tab) to add documentation from other streams so you can see it all in one place or search across multiple releases (precisely where the settings form is depends on the version of cdnshelp you're using). Anyway, these two manuals can be found as PDF files using these locations: /doc/spectremod/spectremod.pdf /doc/analoglibref/analoglibref.pdf By the way, the forum guidelines ask you not to post on the end of old threads. Regards, Andrew.

Forum Post: RE: Plotting a straight line (the hard way)

$
0
0
No, I don't think there's a function for that. What I was talking about was using the ymin and ymax functions on whatever curve you've plotted in a particular strip rather than the axis limits. Andrew

Forum Post: Running multiple AC sims during a transient analysis

$
0
0
I was looking for a way to run a transient analysis and at various times along the way perform an AC analysis. I found a way to do this via e.g.: analysis('tran ?stop "250n" ?actimes list("0" "250n") ?acnames list("stb") ) analysis('stb ?start "10" ?stop "100M" ?dec "10" ?probe "/stage1/amp/I1/vinj" ?probe "/stage2/amp/I1/vinj" ) run() However at the times I want to pause the transient analysis to perform the AC analysis I actually want to perform multiple AC analyses. An example reason is that my circuit is a multi-stage switched capacitor amplifier and in one phase all of the stages are disconnected so I can easily do separate stability analyses for each stage without them interfering with each other. The method outlined in the code above only lets me do one AC analysis per paused transient time. I know there is a way to save the full transient state at various points during the transient simulation. Is there a way later to retrieve that state and force the circuit to use it for multiple subsequent AC analyses?

Forum Post: shortcut to bring ADE with current schematic to front

$
0
0
Is there a shortcut or something to bring ADE to front (or to make it active or something like that I don't know how it is called)? The problem is that when multiple schematics and ADEs are opened at the same times. So it is a bit inconvenient to find the ADE of the opening schematic. I want to bring all ADE window not just some parts like output setting, variables, etc.

Forum Post: RE: shortcut to bring ADE with current schematic to front

$
0
0
I added some error checking in it to stop it complaining if the schematic is not associated with an ADE window. Use this expression on a schematic bind key: let((sess win) when((sess=sevSession(hiGetCurrentWindow())) && (win=sevWindow(sess)) hiRaiseWindow(win))) Andrew.
Viewing all 63082 articles
Browse latest View live


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