• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. RF Design
  3. Passive switching mixer volatge conversion gain calculation...

Stats

  • Locked Locked
  • Replies 14
  • Subscribers 63
  • Views 22787
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Passive switching mixer volatge conversion gain calculation and its varition with frequency

lahsivece
lahsivece over 11 years ago

Hi All,

I am trying to do a passive switching mixer volatge conversion gain simulation. The circuit consists of a MOS transistor driving a resistive load. The gate of MOS is driven by a rail to rail square pulse. 

I tried the steps given in the Application note "Mixer design using Spectre RF " , but it didn't give meaningful results.

Is there any application note that deals specifically with passive switching mixers with LO being driven by a rai to rail signal or a similar situation ?

Best Regards

Vishal

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Vishal,

    There are some challenges with measuring IP3 with passive mixers due to limitations of certain device models (e.g. bsim3v3 and bsim4) - there are a number of academic papers on this problem. But I'm not sure whether this is what you mean by "didn't give meaningful results". That's a rather open statement...

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lahsivece
    lahsivece over 11 years ago
    Hi Andrew,

    Sorry for not specifying the problem correctly. I am not getting correct gain (loss) out of the passive mixer . My test bench looks like following:

    c1=500fF

    Conversion gain was calculated using pss+swept pac. For pss analysis , # of harmonics set to 0 . Port0 is dc type (based Spectre RF simulation manual)  . In Swept pac # of sidebands  was set to 2. The input.scs looks like following:

    // Library name: MIXER_CHARACTERIZATION
    // Cell name: RX_MIXER_FUNDAMENTAL_RZ_MOS_PSF_PXF
    // View name: schematic
    PORT0 (RF 0) port r=50 dc=600m type=dc freq=frf dbm=vrf pacmag=1
    V1 (LO 0) vsource type=pulse val0=0 val1=1 period=tlo width=d*tlo
    M0 (IF LO RF 0) N_12_RF wf=5u lf=120.0n nf=4 m=1
    R0 (IF 0) capacitor c=c1
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    pss  pss  fund=500M  harms=100  errpreset=moderate  annotate=status
    pac  pac  start=1K  stop=500M  maxsideband=2  annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub

    The conversion gain for h=-1 is shown below. I am getting a positive gain whcih doesn't make any sense to me .

    Please advise what is wrong with this way of simulating mixer conversion gain.

    The gain at 10MHz If calculated by using pss analysis followed by a dB20 peak measurement comes as  -4.7dB. Test bench looks like (c1=500f)

     // Library name: MIXER_CHARACTERIZATION
    // Cell name: RX_MIXER_FUNDAMENTAL_RZ_MOS_SW
    // View name: schematic
    R0 (IF 0) capacitor c=c1
    M0 (IF LO RF 0) N_12_RF wf=5u lf=120.0n nf=4 m=1
    V1 (LO 0) vsource type=pulse val0=0 val1=1 period=tlo width=d*tlo
    V0 (RF 0) vsource dc=600.0m type=sine ampl=vrf freq=frf
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    pss  pss  fund=10M  harms=200  errpreset=conservative
    +    annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub
                                         

    Thanks

    With Best Regards

    Vishal
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lahsivece
    lahsivece over 11 years ago
    Hi Andrew ,

    Sorry for not being clear. I am not getting a correct voltage gain from passive swictging mixer . The test bench looks like following :

    The input.scs file is :

    // View name: schematic
    PORT0 (RF 0) port r=50 dc=600m type=dc freq=frf dbm=vrf pacmag=1
    V1 (LO 0) vsource type=pulse val0=0 val1=1 period=tlo width=d*tlo
    M0 (IF LO RF 0) N_12_RF wf=5u lf=120.0n nf=4 m=1
    R0 (IF 0) capacitor c=c1
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    pss  pss  fund=500M  harms=100  errpreset=moderate  annotate=status
    pac  pac  start=1K  stop=500M  maxsideband=2  annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub
     

    c1=500f

    The simulated gain curve from pss+swept pac is

    I belive that this is wrong.

    I also calculated gain as VIF/VRF from PSS analysis  which at 10MHz IF comes to be -4.6dB. The input.scs looks like folowing :

    // Cell name: RX_MIXER_FUNDAMENTAL_RZ_MOS_SW
    // View name: schematic
    R0 (IF 0) capacitor c=c1
    M0 (IF LO RF 0) N_12_RF wf=5u lf=120.0n nf=4 m=1
    V1 (LO 0) vsource type=pulse val0=0 val1=1 period=tlo width=d*tlo
    V0 (RF 0) vsource dc=600.0m type=sine ampl=vrf freq=frf
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    pss  pss  fund=10M  harms=200  errpreset=conservative
    +    annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub

    Please advise as to what is going wrong with a pss+swept pac simulation.

     Thanks,

    With Best Regards

    Vishal
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Vishal,

    There are no pictures in your posts. You can attach pictures via the Options tab when posting a reply.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lahsivece
    lahsivece over 11 years ago
    Hi Andrew,

    Pictures were attached . Any way here is the whole post again

    Hi Andrew ,

    Sorry for not being clear. I am not getting a correct voltage gain from passive swictging mixer . The test bench looks like following :

     Please refer to image

    The input.scs file is :

    // View name: schematic
    PORT0 (RF 0) port r=50 dc=600m type=dc freq=frf dbm=vrf pacmag=1
    V1 (LO 0) vsource type=pulse val0=0 val1=1 period=tlo width=d*tlo
    M0 (IF LO RF 0) N_12_RF wf=5u lf=120.0n nf=4 m=1
    R0 (IF 0) capacitor c=c1
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    pss  pss  fund=500M  harms=100  errpreset=moderate  annotate=status
    pac  pac  start=1K  stop=500M  maxsideband=2  annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub
     

    c1=500f

    The simulated gain curve from pss+swept pac is

    Please refer to gain_curve.png image.

    I belive that this is wrong.

    I also calculated gain as VIF/VRF from PSS analysis  which at 10MHz IF comes to be -4.6dB. The input.scs looks like folowing :

    // Cell name: RX_MIXER_FUNDAMENTAL_RZ_MOS_SW
    // View name: schematic
    R0 (IF 0) capacitor c=c1
    M0 (IF LO RF 0) N_12_RF wf=5u lf=120.0n nf=4 m=1
    V1 (LO 0) vsource type=pulse val0=0 val1=1 period=tlo width=d*tlo
    V0 (RF 0) vsource dc=600.0m type=sine ampl=vrf freq=frf
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
    dcOpInfo info what=oppoint where=rawfile
    pss  pss  fund=10M  harms=200  errpreset=conservative
    +    annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub

    Please advise as to what is going wrong with a pss+swept pac simulation.

     Thanks,

    With Best Regards

    Vishal
    • gain_curve.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

     The pictures were not attached. If you paste the pictures in the post, it doesn't work - because they don't get uploaded to the forum server. So in your last post there was only one picture (the PAC output response) - but I think the text talks about a picture of the testbench too.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lahsivece
    lahsivece over 11 years ago

    Hi ,

     Please find testbench image attached. 

    • testbench.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    I'd suggest you contact customer support. I'm a bit pushed for time this week to take a look - maybe somebody else on the forum can try it.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lahsivece
    lahsivece over 11 years ago

    Hi Andrew,

    It's not an issue.

    I will  contact customer support for the same.

    Regards

    Vishal

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 11 years ago

    Looks like my earlier post didn't make it onto the forum...

    I agree with Andrew - this sort of question is best handled by Customer Support - they can dedicate more time and energy to answer questions.

    There is an existing Solution on Cadence Online Support that you may want to look at:

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11454704

     

    Also, if you are using BSIM transistor models in your circuit, see this paper:

    LINFET: A BSIM Class FET Model with Smooth Derivatives at Vds=0

    by Lawrence F. Wagner, C. Michael Olsen.  

    IBM Systems & Technology Group, Global Engineering Solutions.

    http://www.nsti.org/procs/Nanotech2007v3/7/W79.604

    best regards,

    Tawna

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
>

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information