Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all 4954 articles
Browse latest View live

PNoise Infinite flicker noise message

$
0
0

Dear all,

     I am simulating a chopper opamp circuit using the pss/pnoise analyses. I would like to see the effect of flicker noise being up-modulated to the chopping frequency. My chopping frequency is set at 1 MHz, which is set as the pss fundamental frequency. Please see below for my simulation setup:

Spectre Version: 23.1.1.362.isr5

After I ran the pnoise simulation, this was the output spectrum I acquired. As shown below, the output spectrum remains flat at 1MHz instead of showing a flicker noise peak there.  When I checked the simulator output log, there were messages saying infinite flicker noise ignored, as shown in the second figure below.

Is there something wrong with my settings? Is it normal to see this message in the output log?

  

Thank you very much

Kenny


function for thermometric code from digital bus

$
0
0

Hi all,


I have found this code to convert a bus into its decimal representation, which is quite useful: RE: Convert Digital Bus to an Integer value - Calculator Viva 
However it misses the option to take the bus as a thermometric code, Andrew Beckett  if you had the bandwidth, would it be possible to update the script accordingly?

What could also be useful would be (with lower priority than the previous thermometric feature) to have a function which re-converts this digital decimal output into an analog voltage (maybe with a scaling factor). This would allow some useful data processing (e.g. and ADC input voltage minus its digital output code).

In case you had the bandwidth to update it it would be greatly appreciated.

BR

Assembler Re-Evaluate for Canceled simulations not working

$
0
0

Hi,

I have a big corner run with simulations taking days. For some sims I could see in Results Browser that the event I want to verify is already fine. So I stopped these runs with "Cancel selected run".

Now all sims are done, but most canceled.

E.g. I have outputs with cross statements, and all should be valid. To get the results I could normally simply press the re-evaluate button. But this time I got nothing, instead I still see "canceled" for each output.

I used all and full as mode, but it does not work as usual, although the psf results are clearly present.

What can I do to get the result values as usual? I use icadvm 20.1.500.25.

In CIW I see this:

*Error* _schIsUserEditable: argument #1 should be a string (type template = "t") at line 50 of file "*ciwInPort*" - nil

BTW: My 1st workaround idea was to use the Calculator and the EB (because of dependent expr). However, also this works not fully reliable, and it cannot simply load the csv from output setup table (although both is csv).

It seemed the 1st calculations where fine, but subsequent results where identical, although some parameters where different.

Bye Stephan  

display of DC op of Sub Circuit

$
0
0

hi,
I notice that nmos model which I use has sub circuit definition. When I run DC sim and annotate DC op, I am unable to view gm,vdsat , and few more parameters because of it being modelled sub circuit. I want it be displayed directly whenever I annotate DC op points. Is there a way display sub circuit cdf parameters on above hierarchy ?

Thanks.

Specifying stopList for createNetlist() function

$
0
0

Using the following functions to create a Spectre netlist:

simulator('spectre)
design("libName" "cellName" "viewName")
createNetlist()

I need to change the stopping view from the default of spectre. How can I set the stopList through Skill?

DRC rule deck writing

$
0
0

Hello all, I am a beginner in writing DRC rule deck,

I need to check spacing between single or two different layers, I can use exte keyword to raise error but exte keyword has some restrictions, Now I need to check spacing between the two shapes and raise error, but the problem the spacing should be exact in my case, I can raise error if the value is less than specified constraint but I cannot raise error if the spacing is greater than specified constraint.   

running dc sweep and single ac analysis in Explorer

$
0
0

Hi,

I can't figure out how to do the following from within the Explorer gui.

I want to run DC analysis for a range of variable values, say, vgs=0.2 0.3 0.4 but run ac analysis only for vgs=0.3 while I am sweeping the full range of frequencies, say from 10Hz to 10KHz.
Is it possible to run bot the dc and the ac together in this context?

Thanks

calcval doesn't work cross sweep of same test

$
0
0

hi,

i'm trying to use "calcval" function for the same test with local sweep of "vcc" variable. i want to use an output from one of the sweep points, so i ran the following expression:

calcVal("output_initial_code" "supply_noise_sensitivity_vern132" ?matchParams list(list("vcc" 0.825)))

 from some reason i'm getting "eval error" message said that "?matchParams" can't be use for the same test.

is it true? i realized that "calcval" can be used also for cross sweep of the same test..


Guide to obtain dynamic power of my design

$
0
0

Hello all,

From several weeks now, I've been trying to get the dynamic power of my design. However, I've only been able to get the static power from Genus.

For example:

Power Unit: W
PDB Frames: /stim#0/frame#0
  -------------------------------------------------------------------------
    Category         Leakage     Internal    Switching        Total    Row%
  -------------------------------------------------------------------------
      memory     0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00   0.00%
    register     1.23106e-07  8.42686e-05  4.01981e-06  8.84115e-05  37.10%
       latch     0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00   0.00%
       logic     2.31871e-07  8.73342e-05  4.26836e-05  1.30250e-04  54.65%
        bbox     0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00   0.00%
       clock     8.50375e-09  1.71590e-05  2.49055e-06  1.96581e-05   8.25%
         pad     0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00   0.00%
          pm     0.00000e+00  0.00000e+00  0.00000e+00  0.00000e+00   0.00%
  -------------------------------------------------------------------------
    Subtotal     3.63480e-07  1.88762e-04  4.91940e-05  2.38319e-04 100.00%
  Percentage           0.15%       79.21%       20.64%      100.00% 100.00%
  -------------------------------------------------------------------------

Is there any step-by-step resource where I can start to obtain dynamic power?

My understanding is that first, I need to obtain a waveform by design by designing a test bench, and with this, I will be able to obtain the dynamic power, which would be something given in joules units, not watts.

How to run Assura Open Run from the command line?

$
0
0

Hello!

I know that Assura can be run from the command line using "assura rsfName". Is it possible to similarly launch the run results viewer that opens when clicking the "Open Run" button?

Can the format of CreateDatasheet be changed in Assembler?

$
0
0

I would like to change the Summary table of Simulation results to include Max and Min but also Nominal.

I could not find a setting for this in some of the check boxes by pressing the generate button.

ADE XL simulation efficiency and errors

$
0
0

Hi

My version of Virtuoso is 6.1.7-64b 07/10/2018. I share a server with others.

When I use ADE XL to simulate PVT, I always encounter a simulation error; the output log shows: 'failed to create threads: 11'. To improve efficiency, I often need to run simulations at night while I rest, but this error frequently occurs as well. This error causes me to often have to manually rerun the simulations the next day. I suspected it might be due to insufficient available CPUs, so I used ps and the system's timer to monitor CPU usage every ten minutes during the nighttime simulations, but I found that the CPU was actually used at less than 50%.

How can I configure the system to fully utilize resources, maximize simulation efficiency, reduce simulation errors, and avoid reruns?

Any help would be greatly appreciated.

Sampled HB noise analysis: Output noise to Edge phase noise conversion

$
0
0

Hello,

I have a very simple test case as below. In a Vsource sinusoidal element, flat phase noise of -160dBc/Hz is specified. It is converted to differential waveform of 2V pk and phase noise is measured at zero crossing of Vip-Vim. I have done comparison between time-average and sampled phase noise. Both time average and edge phase noise have same results of -160dBc/Hz but their output noise is 2E-16 and 8E-16 respectively. 

As we can see that time average phase noise can be easily calculated with 10*log10(Pnoise/Psignal) = 10*log10 (2E-16/(2*2/2)) = -160dBc/Hz and it matches calculation. But this formula is not valid for edge phase noise.

I understand that time-average and sample phase noise will be different as sampled phase noise is jitter based measurement. I have gone through similar threads and discussion forum. There are many links specified there, but unfortunately those are no longer available. Whatever is available does not solve my doubt.

My question is from "output noise waveform of sampled noise analysis", how do I calculate "edge phase noise"?

VIVA keeps splitting same time axis waveforms into separate subwindows

$
0
0

When plotting expressions from ADE explorer, VIVA seems to inconsistently split waveforms into their own subwindows.

All the expressions in question are of the form:

awvCreateBus("err_mask" list(awvAnalog2Digital(VT("/err_mask<31>") nil nil (VAR("VDD") / 2) nil "center") ... awvAnalog2Digital(VT("/err_mask<0>") nil nil (VAR("VDD") / 2) nil "center")) "Hex")

All the expressions have the same X-axis time base, so this split seems to be a bug in viva.

Has anyone else experienced this and maybe figured out a workaround?

Abstract Generator

$
0
0

While I try to make abstract of metal with bend, the bend is not captured in abstract instead I have multiple squares created at the metal bend. Do we have a fix for this 


What is the latest PAS (PDK Automation System) release? Should I use PCell IDE & Techfile IDE for Finfet development instead?

$
0
0

Hi all,

I am new to PCell & PDK Development, and I am learning to develop Finfet PDKs. I was wondering:

1. What is the latest PAS (PDK Automation System) release? Does it support Finfet PCell/PDK Development?

2. Should I use PCell IDE & Techfile IDE instead for Finfet PDK dev?

3. Any Finfet PDK development methodology recommendations otherwise?

Thank you! :)

corner expression to compute averages over temperature and supply variations in maestro

$
0
0

I want to create an expression which can give me average of a spec over corners where temperature has a certain value, for example, i am using two supplies, two temperatures (-40, 125) and 3 processes so total 12 corners, but i want two averages over 6 corners each given by the specific temperatures -40 and 125, by changing evaltype, i am able to create expressions that give me average over all corners as shown below but not over temperatures, I can create two separate tests with only temperature different but wanted to know how to do in single test, I assume there is something i can write after the ? in the expression that can do it?

dynamically display transistor parameters on symbol

$
0
0

In Cadence Virtuoso 6.1.8, I have a schematic called MYINV, which contains two pcells: transistor MN and transistor MP.

Each transistor (PDK pcell) has parameters for width (w) and length (l), with specific values assigned.

I want to dynamically display the value of the w and l parameters of transistor MN on the MYINV symbol.

For example, if I set the width (w) to 1u, it should display "1u" on the symbol. If I later change the width (w) to 2u, the symbol should automatically update and show "2u".

Ppar isn't a solution since  it brings a value from symbol to schematic and I want to do the opposite.

Ppar has a limitation as well because of the pcell callback to calculate other prameters for simulation.

Thank you for your help.

Switchable 2.4Ghz | 5GHZ filter design - Using the GPDK045 PDK

$
0
0

Greetings,

I have been working on designing two 5th-order bandpass passive filters using the GPDK045 PDK of 2.4 GHZ and 5GHZ passband. However, after conducting the SP analysis and reviewing the results, I found that the outcomes did not meet expectations, not even within the 1st percentile.

Therefore, I would like to inquire whether the GPDK045 PDK is capable of designing these filter parameters, or if there might be an error in my approach.

The values for the inductors and capacitors were calculated using the Marki microwave calculator.

Selecting all same cells in layout

$
0
0

Hello,

is there an easy way to select all same cells in a layout?

Best Regards

Viewing all 4954 articles
Browse latest View live


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