Quantcast
Channel: Cadence RF Design Forum
Viewing all 967 articles
Browse latest View live

S11 for bandpass filter

$
0
0


I am designing a bandpass filter using active inductor as shown in attached schematic and had a query in this regard.

Since this is a BPF I am interested in seeing its S21 response. But for that ckt input and output impedance should match with input and output port impedance so that S11 and S22 are low.

But since I am in initial phase of my design I dont want to spend too much time in input matching and just want to see S21 response of my filter. For that I want to minimize S11 and S22.

How can I achieve this input and output matching in spectreRF so as to see optimum s21 response of my filter ? Can load/source pull analysis be of any help to achieve this requirement ?

Regards

Vipul


RF front-end simulation

$
0
0

Dear collegues,

I am trying to simulate an RF front-end (LNA+VCO+MIXER) in order to get performances such as conversion gain, noise figure, etc.

If I simulate only the LNA+MIXER and use a Vsin to emulate the behavior of the VCO I can perform a PSS+PNOISE+PAC and get all the desired performances.

However, If i use the "real" VCO, which is an autonomous circuit, then the PSS does not work correctly:

- If I simulate the whole front-end and give the fundamental frequency, then it does not get the exact VCO frequency, and I cannot get the performances.

- If I simulate the whole front-end and the PSS is enable for autonomous circuits, then it simulates the entire front-end as an oscillator, and I cannot get the performances.

Can anyone help me with this issue?

Best Regards,
Fabio

Guarantee LC Oscillator Start Up over PVTs

$
0
0

Hi all and Andrew,

I have a question which I think it has been examined thoroughly but I would like to clarify to myself something which is not very clear to me.

The question is:

Which testbench-analysis is most accurate regarding the correctness of starting the oscillator and so satisfying the Barkhausen criteria?

1) Run PSS analysis without any stimulus [such as: a) set initial condition at the differential outputs of the VCO, or b) Power up VCO or c) inserting a time-varying independent source]

and then check the start-up transient behavior using tstab analysis?

OR

2) Run PSS analysis with a stimulus such those that I referred just before?

Thanks , any advice is more than welcome

Error in Evaluating IIP2 with Monte Carlo

$
0
0

Hello All,

I would like to know why Monte carlo iteration is being terminated prematurely while computing IIP2 due to the following error:

ERROR (SPECTRE-8003): mc1_subckts: Error evaluating ocean expression `MONTE_EXPR_1=ipnVRI((v("/Voutp" ?result "hbac") - 
            v("/Voutn" ?result "hbac")) '-1 '0 ?rport 50.0 ?ordspur 2)'.

I am presently using cadence Virtuoso IC6.1.3.500.13

for the spectre :  sub-version 7.1.1.187.isr11

Thanks as I look forward to possible suggestions and solutions.

The issues with Ports!!!

$
0
0

 As i carrying out simulations using the port instance in analogLib, I noticed that when i define a pulse and dc port, i have this offset of 310.mV on the output of the both the pulse and dc. Please let me know, as to what is the issue

Stability analysis of PLL

S-parameter basic in Spectre RF

$
0
0

Hi


I want to understand how basically spectre calculates s-parameters in 50-Ohm setup. Say I use port 1 and port 2 both 50 Ohms at input and output.

So for s11 measurement there should be no reflections at port 2. Since port 2 has 50-Ohm impedance does spectre ensures that output impedance of circuit under measurement is also 50 Ohm for zero reflections?

How does Spectre neutralizes reflections at either ports, which is a fundamental requirement for measuring S-parameters ?

Regards

Vipul

Phase Noise Setup doesn't work in port/vsource

$
0
0

I'm simply simulating pss and pnoise for a port/vsource, with added phase noise "freq, noise(dBc)" pairs.

In my testbench, there's only the vsource and it's labelled output, and gnd. 

In ade, I setup pss output as voltage between vsource positive and vsource negative(gnd), no input.

But the simulation result in Direct Plot -> pnoise -> Phase Noise gives me a straight line with same value for all frequencies.

Then it means either the added Phase Noise pairs don't work, or there's sth wrong with my simulation.

Could you please tell me why?

Thank you very much.

Here's my testbench and vsource setup (when I use port, the setup is almost the same, only with a 50 Ohm impedance for the port)

Here's the ade setup for pss and pnoise:

Here's the simulation result plot of phase noise:

 


Clock duty cycle variation with Pnoise?

$
0
0

Hi,

From measurements we got a hint that the duty cycles of two clock signals change independently over time. We assume that this is a 1/f-noise effect and thus, I'm looking for a possibility to simulate the dynamic fluctuation (due to device noise) of clock duty cycles between two clocks which are 90-degree shifted.
Due to circuit architecture I already assume that from a certain starting point the noise introduced is not correlated between the two clock pathes due to separate buffer circuits and that I can simulate duty cycle variation for only one clock path and assume the delta in duty cycle between the two pathes is 3dB larger.

I tried PSS & PNOISE analysis with Noise Type set to "Jitter" and Crossing Direction to "all" in the PNOISE form. But I wonder if this method can be used to simulate the flutuation of the clock's duty cycle.
Looking at the spectre log file it seems to me that pnoise varies the clock edges independently for the rising and falling edges. So, I doubt if I can calculate the "duty cycle jitter" with this method.

I know that an alternative approach would be to do a transient noise simulation and plot the duty cycle for each cycle. But since my clock is above 2GHz and I'm looking for fluctuations happening in >100ms this would really be a long-running simulation.

Any hint on how to tackle this investigation would be helpful.

Best regards.

Multi-sinusoid in spectre port component

$
0
0
Hi Andrew,

In "Lib:analoLib/cell: port" cdf parameters with "Display Multi sinusoid" option limited the number of frequencies as "1", if use more than 1 the "pss" analysis not recognizing rest of frequencies tones. [in IC6.1.7-64b.500.9 version]. Hope you have solution to recognize the rest of the frequency tones.

Problem when using RFDE momentum blocks in Cadence (Drop across Resistance w/o any current)

$
0
0

Hi,

I have a problem with the use of RFDE mom symbol view in Cadence schematic. The image is attached below for reference. The momentum block is basically a MOM capacitor for coupling ac input . In theory, there should not be any drop in the 3KOhms resistance connected to the gate of the transistor in one end and the capacitor on the other end. This entire block works fine if I simply remove the MOM model with an ideal capacitor from analoglib. In that case, I see no drop across the 3K Ohms resistance. But when using the MOM model, it simply destroys any gate biasing that I try to put. What is the problem here? and how can I get a work around it?

This is a dc analysis and shows the current and voltage at each node.

Thank you.

  

Regards

Dipal

RF circuit trasfer ADS to Cadence

$
0
0

Hi all,

I am a newbie in using Cadence, but mostly using ADS. Now, I want to transfer my design from ADS to Cadence to modified and then import it back to ADS to simulate.

I have followed the guidance in this below video.

https://www.youtube.com/watch?v=9TJ4pLii0TE

However, when I run importing to the Cadence, my computer got net responding like the picture attached below.

Is there any body know this error and how to resolve it?

I will be grateful if getting supports from you all.

Thank you.

Model RF behavioral blocks

$
0
0

Hi, I am using spectre simulator and I want to model RF blocks. I am interested to model noise figure and 3rd, 5th, 7th order nonlinearity of a block. What is the recommended way to do this? Is verilogA most suitable. I tried to use blocks in rfLib but I see weird behavior sometimes e.g. unexpected spur at unexpected location.

Further, I am interested in modelling a complete transceiver. Is rfLib a viable option to do this?

Sweep in ADE XL ("sub-version IC6.1.7-64b.500.4 ")

$
0
0

Hi,

I am trying to sweep a variable(Amplitude Code Word) and depending on its value I want to change the no of multipliers of the devices in my switch bank dynamically. So I have variables called M_on1,Mon2 and M_off1 and M_off2.  So my conditional statement will be something like :--

if( (ACW<512) then ACW else 256) for M_on1   and similarly   if( (ACW<512) then (512-ACW) else 256) for M_off1

I found out that we cant use conditional statements in ADE L so I am trying to use this expression to assign my Global variables in ADE XL. And ACW is an independent variable that I sweep using 1:100:1024.

The problem is when I start the simulation I do see the output variables being displayed under the "Results" tab for each parameter but they remain in the Pending state forever. When I try to access the LOG from the Run Summary window I get this error  "*WARNING* Job log file not found; it is likely that the job has not started.  File: ..... /cadence_work_gf_v12_st11/logs0/Job29.log. 

Just to check if my setup is correct, I do a single point sweep and then I can see the simulation running in my log screen and get some sort of output.

I have also got rid of the Timeouts from the Job Setup option.

This is what I am trying to do. Should I sweep from the Analyses window where I set my simulation? But then only a single point sweep in run(Checked from the "Run Summary"  window).

Please let me know if I doing something wrong with my simulation setup and/or if there is a way to do this in a different way.

Appreciate any help.

Regards,

Amitava

hbnoise: difference between sweep-type relative harmonic=0 and absolute

$
0
0

Hi,

I am simulating a direct conversion receiver and I am interested in simulating the noise at baseband. The problem is that I get different results when using hbnoise with sweep-type relative harmonic=0 and absolute to sweep through the baseband bandwidth. Shouldn't it be identical as eventually the swept bandwidth is the same for both cases. Thanks in advance.

Best regards,

Immalario


Verilog-A: Lookup tables for AC analysis

$
0
0

Hello everyone, 

I have a problem performing AC analysis on lookup tables based components.

Basically, on the basis of Pown M. question,  I wanted to extend the validity of that code to AC analysis as well. By reducing the problem to its core, I created a simple voltage dependent differential capacitance and I found out that it does not work properly. I should better say that the error seems to be proportional to the variation of the capacitance (defined in the lookup table) with respect to the polarization point. 

Below I attach the code of a simple nonlinear capacitor described by a lookup table, which gives the capacitor value according to a specific polarization point. 

`include "constants.vams"
`include "disciplines.vams"

module cap_LT(c1,c2);

inout c1,c2;
electrical c1,c2;
real c;
(* desc = "charge" *) real q;

analog begin

c=$table_model( (V(c1,c2)), "vc_C.txt","1LL");

q = c*(V(c1,c2));
I(c1,c2) <+ ddt(q);

end
endmodule

The lookup table has been generated at a fixed frequency and changing the voltage across the capacitor. Hence, the simulation I am performing is an AC analysis at a fixed frequency while the sweep is made on a design variable which correspond to the DC bias of the component. Additionally I have put a very small AC stimulus.

As stated above, the simulation runs without issues but the capacitance I extract from the results is not the same as the one defined by the lookup table. Indeed, the more its changes along the polarization, the more the error increases (the maximum error is more or less twice the capacitance values it should have).

I think it is related to the time derivative ddt but still I can't find any workaround. As far as I know, the simulator performs at each sweep point a DC analysis in order the respective small signal circuit. Hence, even doing single polarization analysis the result does not change.

can somebody help me please? 

many thanks in advance.

Calculate input impedance for matching with spectreRF

$
0
0

Hi

I am designing an LNA and want to match its input impedance to 50Ohms port impedance.


During 'sp' analysis in spectreRF , which function will give me idea about this impedance matching.

Gp,Ga , Gmax ,Gumx etc.  only gives the gain value depending upon kind of matching at input and output of LNA.

Is it OK to use Z11 and Z22 as input and output impedance values for matching purpose.

Or is their some other way thru which impedance matching is determined in SP or some other analysis with spectreRF.

Regards

Vipul

Query on Harmonic Port element in analogLib

$
0
0

Hi


 In what applications is harmonic port required.

In user guide it mentions that this element is required when different impedance need to be set for different harmonics.

Can somebody tell application in which such requirement is needed in port element.

Regards

Vipul

Quantus QRC for RF design parasitic extraction

$
0
0

Hi

I want to use QUANTUS QRC for extraction of my RFCMOS circuit layout.

Can anybody tell what all options or properties need to be set in ICT file in order to generate qrcTechFile to be used for extraction of high frequency parasitic effects

 like skin effect , self and mutual inductance etc.

There are several license options for QRC available, which option will be suitable for 180nm RFCMOS technology.

My frequency of operation for RF design is <5GHz.

Regards

Vipul

FATAL (CMI-2010) in transient simulation

$
0
0

My spectre version is: Version 15.1.0.644.isr13 64bit -- 22 Oct 2016

Error information as following:

Internal error found in spectre at time = 35.7142 ps during transient analysis `tran'.
Encountered a critical error during simulation. Submit a Service Request via Cadence Online Support, including the netlist, the Spectre log file, the behavioral model files, and any other information that can help identify the problem.
FATAL (CMI-2010): Assertion failed in file `waves.c' at line 12549.
FATAL (SPECTRE-21): Assertion failed.

It is related to the block "shifter_combiner" in the rfLib, and the simulation could run after I remove this block. But I have to use this block for simulation.

Any idea how to resolve this issue?

Viewing all 967 articles
Browse latest View live