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

EVM and constellation of mixer

$
0
0

Hello,

I am trying to design an RF mixer for a TX.
Assume my input IF signal is at 1 GHz, my LO at 2 GHz and I want my RF at 3 GHz, and assume that the mixer fully works after testing it with HB.
How to simply set the envelope analysis to check the EVM ?
I read through the documentation but I couldn't get it (I couldn't fully understand the settings of the source, probe, analysis.)
Which source and probe to use? I want custom modulation with custom bandwidth and center frequency.
Is there some examples for the ENVLP analysis ?

I am using IC23.1 and spectre 20.1.354.


nport device S-parameter data file relative path

$
0
0

Hi,

In our design team, we're looking for a strategy to make all cell views self-contained. We are struggling to do so when nport devices are involved.

The nport file requires a full path, whereas what we need is a relative path to the current path of the cell in which we're using the nport.

I have browsed through the forums & cadence support pages, but could not find a solution.

1) There is a proposal from Andrew to add the file directory in ADE option "Simulation Files." :https://community.cadence.com/cadence_technology_forums/f/rf-design/27167/s-parameter-datafile-path-in-nport . This, however, is not suitable, because the cell is not self contained.

2) The new cadence version off DataSource "cellView" in nport options:

This however is not suitable for us due to two reasons:

i- Somehow we don't get this option in the nport cell (perhaps some custom modification from our PDK team)

ii- Even if we had this option, it requires to select the library, which again makes it unsuitable: We often copy design libraries for derivative products using "Hierarchical Copy" feature. And when the library is copied, the nport will still be pointing to the old library. Thus, it is still not self-contained.

In principle, it should not be difficult (technically) to point to a text file relative the the cell directory (f.ex we can make a folder under the same cell with name "sparFiles" & place all spar files under this folder), however it does not seem to be possible.

Could you perhaps recommend us a work-around to achieve our goal: making the cells which use nport devices self-contained so that when we copy a cell, we do not have to update all the nport file destinations ?

Thanks in advance.

My Cadence Version: IC23.1-64b.ISR4.51

My Spectre version: 23.1.0.362.isr5

unbound variable freq

$
0
0

I want to plot the inductance through formula L1=(imag(Z(1,1))/(2*pi*freq)), but the system tells me that the freq is unbound variable? What can I do?

IIP3 of Gilbert cell mixer

$
0
0

Hi

I'm learning Hb analysis for the IIP3 simulation of a gilbert mixer. My f_RF=5GHz, f_LO=4GHz and f_IF=1GHz . I'm a bit confused about setting the 1st order and 3rd order harmonic at the Direct plot form. I have set 1st order harmonic = 1GHz and 3rd order harminic = 2*f_LO-f_RF = 3GHz and it gives me the following results.

This is my 1dB compression point result

Hb analysis window

Direct plot window

Please let me know if my harmonic selection is correct and whether I'm getting a correct IIP3 and P1db curve

PSS Shooting - High Q crystal oscillator - Simulator by mistake detects a frequency divider

$
0
0

Hi *,

 

I am simulating a 32kHz high Q crystal oscillator with a pulse shaping circuit. I set up a PSS analysis using the Shooting Newton engine. I set a beat frequency of 32k and used the crystal output and ground as reference nodes. After the initial transient the amplitude growth was already pretty much settled such that the shooting iterations could continue the job.

 

My problem is: In 5...10% of my PVT runs the simulator detects a frequency divider in the initial transient simulation. The output log says:

 

Frequency divided by 3 at node <xxx>

The Estimated oscillating frequency from Tstab Tran is = 11.0193 kHz .

 

However, the mentioned node is only part of the control logic and is always constant (but it has some ripples and glitches which are all less than 30uV). These glitches spoil my fundamental frequency (11kHz instead of 32kHz). Sometimes the simulator detects a frequency division by 2 or 3 and the mentioned node <xxx> is different depending on PVT - but the node is always a genuine high or low signal inside my control logic.

 

How can I tell the simulator that there is no frequency divider and it should only observe the given node pair in the PSS analysis setup to estimate the fundamental frequency? I have tried the following workarounds but none of them worked reliably:

 

- extended/reduced the initial transient simulation time

- decreased accuracy

- preset override with Euler integration method for the initial transient to damp glitches

- tried different initial conditions

- specified various oscillator nodes in the analysis setup form

By the way, I am using Spectre X (version 21.1.0.389.ISR8) with CX accuracy.

 

Thanks for your support and best regards

Stephan

HB: duplicated frequencies in 3-tone simulation

$
0
0

I get multiple results at the same frequency in a 3-tone simulation.

I try to determine the IP3 of a mixer. I have 3 large signal tones: 0.75 GHz, 1.25 GHz and 1.26 GHz.

At the IM3 frequency of 490 MHz I observe 4 results, see also the screenshot of the table output. The frequencies are exactly the same (even when I subtract 490 MHz by using xval() ).

Which of the values do I have to use to determine the correct IP3?

Is there an option to merge these results?

Colpitts Oscillator output power simulation

$
0
0

Hello everybody,

As you can find in the attached image, I am trying to simulate a Colpitts oscillator. However, using pss analysis it shows a high output power. 

My question is where is the problem of my structure or simulation setup?

Best,

Colpitts 10.38GHz

Power

Load Pull transistor simulation

$
0
0

Hello everyone,

I am trying to perform a load pull simulation of a transistor to verify some gain calculations I made using its S-parameters. Specifically, I have calculated the optimal conjugate impedances for the input and output to later calculate the power dissipated and transmitted in each stage of the transistor. Then, I only varied the output impedance and recalculated these powers, noticing that the power delivered to the load is lower.

Now, what I want to do is simulate this behavior using the Load Pull simulation. I have taken the model shown in the image, but I believe it is a linear model. My question is: if the chosen model is linear, is the load pull simulation accurate? In the calculations I made, nonlinearities are not considered. I don’t want to take nonlinearities into account.

In short, do you have any ideas on how to verify the calculations made with the transistor’s S-parameters through a load pull simulation?

Can you recommend any transistor model that is nonlinear and also has an S-parameter file?

Thank you very much in advance.


Getting error while adding element in AWR software

$
0
0

While adding an element created from a netlist file in AWR, I am getting the error 'The element type being dropped is not compatible with the window it is being dropped into'. The netlist file in AWR has the following contents:

.subckt BFG520W base collector emitter npn
.model BFG520W NPN(IS=1.016E-15 NF=1.000 BF=220.1 IKF=510E-3 VAF=48.06
+ ISE=2.83E-13 NE=2.035 NR=0.988 BR=100.7 IKR=2.352E-3
+ VAR=1.692 ISC=24.48E-18 NC=1.022 RB=10.00 RE=0.7753
+ RC=2.21 CJC=447.6E-15 MJC=0.07 VJC=0.1892
+ CJE=1.245E-12 TF=8.616E-12 TR=5.437E-12 mfg=NXP)

I have attached screenshots of the element BFG520W2 created due to the above netlist and the error I am getting while adding this element.


 

Cross-coupled oscillator Stability simulation

EMX - EM simulation for large CMOS chip

$
0
0

Hi everyone,

I'm currently working on my thesis, which involves a beamformer system using CMOS 65nm technology. I'm trying to use the EMX tool for EM simulation but have encountered a few problems. Before diving into my questions about EMX, let me briefly explain how I conduct EM simulations with other software (ADS).

In ADS, I use the EM simulator with the Momentum microwave engine. However, my EM layout is quite large, and the mesh generated is extremely detailed, making it difficult to simulate the entire system. As a workaround, I divide the system into smaller parts and simulate each one individually. I've attached a snapshot of my setup, which includes an amplifier and a 1-to-2 Wilkinson power divider. I've separated these circuits and placed pins to facilitate EM simulations for each. I also placed ground pins at the boundaries of each circuit to connect them to the ground plane.

Here’s the link to the image (I'm unable to upload it due to an error): https://drive.google.com/file/d/13Qn4-DvMBj_K1JQLXrTWaWZ8uaLJr15u/view?usp=sharing

Now, moving on to EMX (version 6.3). For a maximum frequency of 31 GHz, I set the edge mesh = thickness = 0.4 µm (approximately the skin depth). However, when I simulate the circuit (amplifier + divider), the mesh on the ground plane becomes very dense, which makes running the simulation impossible due to excessive memory requirements. I reverted to my ADS approach and divided the circuit into two parts, placing ports to connect them. Unfortunately, EMX doesn't allow me to place multiple edge ports on the same edge for the ground plane, which has left me confused. Here are a couple of questions I have:

  1. Is breaking the circuit into smaller parts a valid approach? Given the large ground plane, the mesh size for the ground is significant, making simulations challenging. Are there any methods to manage this issue?

  2. Regarding the ground pins, why can't I place multiple edge ports to connect the ground planes of both circuits as I did in ADS? If this approach is incorrect, could you suggest alternative methods for simulating individual circuits and connecting them to estimate system performance?

Any insights would be greatly appreciated. Thank you in advance for your help!

Figures missing in the RF Design Blogs article of "Measuring Fmax for MOS Transistors"

Transient Simulation waveform abnormal

$
0
0

Hello Everybody

Recently, I want to design a high output Power Amplifier at 2.4GHz using TSMC 1P6M CMOS Bulk Process. I use its nmos_rf_25_6t transistor model to determine the approximate mosfet size

I use the most common Common-Source Differential Amplifier topology with neutralizing capacitor to improve its stability and power gain performance

Because I want to output large power, the size of mosfet is very large, the gate width is about 2mm, when I perform harmonic balance analysis, everything is alright, the OP1dB is about 28dBm (0.63Watt)

But When I perform Transient simulation, the magnitude of voltage and current waveform at the saturation point is too small, for voltgae, Vpeaking is about 50mV, for current, Ipeaking is about 5mA

I assume some reasons: the bsim4 model is not complete/ the virtuoso version is wrong (My virtuoso version is IC6.1.7-64b.500.21)/the spectre version is wrong (spectre version is 15.1.0 32bit)/the MMSIM version is wrong/Transient Simulation setting is wrong (the algorithm is select gear2only, but when I select other, like: trap, the results have no difference), the maxstep I set 5ps, minstep I set 2ps to improve simulation speed, I think this step is much smaller than the fundamental period (1/2.4e9≈416ps)

I have no idea how to solve this problem, please help me! Thank you very very much!

Using "nport" as a schematic circuit component

$
0
0

Hello everybody,

I designed an inductor in HFSS and extracted its S-parameters. Now, I want to employ this inductor in my oscillator schematic design in cadence.

How can I use "nport" component in my design to replicate the inductor behavior in my transient, pss, and stb simulations?

P.S. I don't know why I can not attach my intended images to the post !!!!

Best regards

N-path mixer power conversion gain calculation with PSS+PAC

$
0
0

I’m simulating an N-path mixer using ideal components. After performing a PSS+PAC analysis, I observed a positive power conversion gain, while I expected to see a power conversion loss instead. It's worth noting that the beat frequency is set to the LO frequency. To verify this, I performed a two-tone PSS simulation, which indeed showed a power conversion loss. Is there something unusual about the PAC analysis that I might not be aware of? I'm using Virtuoso version 6.1.8-64b and Spectre version 18.1.0.077 64bit -- 1 Aug 2018. Below are the details of my testbench.

I'm using Cadence switches with the following parameters:
- Open voltage: 100 mV
- Close voltage: 900 mV
- Open switch resistance: 1 MΩ
- Closed switch resistance: 1.0 Ω

The switches are hard driven by a square-wave LO swinging between 0 and 1 V whose rise and fall time is 1% of the LO period.

I use the following equations to compute the IF and RF powers and eventually the power gain:
Prf = harmonic((vh('pac "/RF") * conjugate(ih('pac "/PORT0/MINUS"))) '0)
Pif = harmonic((vh('pac "/IF") * conjugate(ih('pac "/PORT1/PLUS"))) '-1)
Gc = Pif / Prf


HB tstab randomly giving bad results compared to regular transient

$
0
0

Spectre version: 23.1.0.403_ISR6

Virtuoso: 23.1.ISR6

*can't upload images for some reason.

While running a harmonic balance configured like this:

1. Run transient - Decide automatically.

2. Run Envelope tstab - no.

3. 1 Tone - fundamental freq. is LO.

11 harmonics.

oversample factor = 4

freqdivide Ration for Tone1 = 1

For random points - tstab outputs wrong results - for example a DC circuit has it's output on the wrong voltage.

while running regular transient (in Cx) I get the right results for all points.

sometimes HB tstab gets it right.

what am I doing wrong?

Viewing all 956 articles
Browse latest View live