Home > Community > Forums > RF Design > Issue with ideal multiplier in ahdlLib library in Cadence

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Issue with ideal multiplier in ahdlLib library in Cadence  

Last post Wed, May 29 2013 8:41 PM by lahsivece. 2 replies.
Started by lahsivece 29 May 2013 10:22 AM. Topic has 2 replies and 796 views
Page 1 of 1 (3 items)
Sort Posts:
  • Wed, May 29 2013 10:22 AM

    • lahsivece
    • Top 500 Contributor
    • Joined on Tue, Oct 2 2012
    • Posts 28
    • Points 440
    Issue with ideal multiplier in ahdlLib library in Cadence Reply

    Dear All,

    I am using multiplier (provided in ahdlLib library)  to simulate the behaviour of mixer. One of the inputs (RF input to the mixer) is a sinusoid withh 100mV amplitude and frequency f_rf. The other input (LO input to the mixer ) is a square pulse with V_High =1  and V_low = 0 wityh frequency f_LO. 

    Multiplier gain is set to 1.

    I am using PSS analysis (shooting method , errpreset set to moderate) to analyze frequency tones at the multiplier output.

    Ideally I expect that multiplier will generate a  frequency tone at IF frequency , f_IF= f_RF - f_LO with the peak amplitude given by

    (2/pi)*  (V_RF =100mV) .

    Since I am using an ideal multiplier , I expect RF signal to be present at IF output of multiplier with exactly same ampliude (multiplier gain is set to 1 ).

    But , I am observing loss through multiplier . Observed RF amplitude at the RF frequency was supposed to be 100mV but is 60.6mV and I am observing same loss for IF frequency. 

    To summarize : I am observing loss through ideal multiplier (gain is set to 1 ) when I try to use multiplier as a mixer . I am using PSS analysis shooting method to simulate the multiplier. 

    Please advise .

    With Best Regards,

    Vishal   

    • Post Points: 20
  • Wed, May 29 2013 10:47 AM

    Re: Issue with ideal multiplier in ahdlLib library in Cadence Reply

    Vishal,

    Are you using vsource (or vsin) as inputs, or port? It behaves perfectly (with vsource) in my case - I actually get half the peak amplitude at each tone (I'm not sure why it it whould be 2/pi). It's a voltage-based system.

    Here's my netlist (easier than showing all the properties on the sources):

    // Generated for: spectre
    // Generated on: May 29 18:42:13 2013
    // Design library name: RFworkshop
    // Design cell name: checkmult
    // Design view name: schematic
    simulator lang=spectre
    global 0
    include "model/rfModels.scs"
    include "gpdk446.v10/models/nmos1.scs" section=nom
    include "gpdk446.v10/models/pmos1.scs" section=nom
    include "models/npnStd.scs"
    include "SpectreModels/RFmodels.scs"

    // Library name: RFworkshop
    // Cell name: checkmult
    // View name: schematic
    I0 (lo rf _net0) multiplier gain=1
    V0 (lo 0) vsource type=sine freq=1G ampl=1 fundname="LO"
    V1 (rf 0) vsource type=sine freq=900M ampl=1 fundname="RF"
    R0 (_net0 0) resistor r=1K
    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=100M  harms=20  errpreset=moderate  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
    ahdl_include "/export/home/apps/IC615_isr/tools/dfII/samples/artist/ahdlLib/multiplier/veriloga/veriloga.va"

    And attached is the picture of my results.

    Andrew.


    • Post Points: 20
  • Wed, May 29 2013 8:41 PM

    • lahsivece
    • Top 500 Contributor
    • Joined on Tue, Oct 2 2012
    • Posts 28
    • Points 440
    Re: Issue with ideal multiplier in ahdlLib library in Cadence Reply

     Hi Andrew,

    Thanks for the quick reply. 

    I am using voltage sources as input . With two sinusoids as input, I am getting correct output. I made two silly mistakes while using multiplier. First was with vpulse source. I assigned v_high=1.2 when I should have assigned v_high=1.  I was calculating gain as 2/pi when it should have been 1/pi ( upconverted and downconverted product). pi comes into picture when digital pulse is expanded into fourier series.

    Regards,

    Vishal 

    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by lahsivece at 29 May 2013 10:22 AM. Topic has 2 replies.