• 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. HB simulation of a mixer using two different oscilator ...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 63
  • Views 18401
  • 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

HB simulation of a mixer using two different oscilator sources

yefJ
yefJ over 6 years ago

Hello , I am trying to simulate a 6.66GHz  3.3GHz mixer where oscillators act as sources.

I have tested oscillator 6.66G ,oscillator 3.3G and the mixer with VSIN sources separately in a different schematics as shown bellow and they work fine.

After that i converted them into symbols and  tried to put the 3.3G oscillator and the 6.66G oscillator  and the mixer(connected to VSIN 6.66GHz 3.3GGHz)  on the same schematics , as shown bellow.

After that i defined the initial conditions to all 4 output nets of the oscillator as shown bellow
A transient simulation shown  good simultaneous results that all three components are working , as shown in the plot near the end,but when i tried to run  two tone HB  1/303.03p 6.6Ghz simulation with the "oscillator option" turned off(because there are two different oscillatons  so we need 4 nets to be defined in HB ,there are only two available). 

The HB shows me a good harmonics on the mixer but the two oscillators set apart are not functioning in contradiction with TRANSIENT as you can see in the end.

so how could we make HB recognize the functionality  of all 3 components   together ?(those oscillators need to replace the VSIN components in the mixer)

The full simulation  log was added in the end.

Thanks

 

3187.sim_log.txt

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    I'm afraid the huge (20!) number of pictures doesn't really help much here, since it's really hard to see what each one is trying to show without any explanation as to what each of them represent. I'm sure not all 20 screenshots were necessary to explain your setup.

    Anyway, I can answer this quite simply. You cannot simulate free-running (autonomous) oscillators with hb without picking the "oscillator" option as you're never going to be able to specify the frequency accurately enough for it to work correctly. Secondly, hb analysis doesn't support more than one (independent) oscillator (I say "independent" because if you had two oscillators where one was injection locked to the other, say, it may work OK). The technology simply doesn't support that (it would be extremely hard for it to solve the two frequencies, without going into details of how the technology works).

    So put simply, you cannot do this. You need to replace at least one of the oscillators with a driven signal (maybe you could characterise it from your separate simulation, and then use the "phase noise" mode of vsource to represent it if you're trying to simulate the noise of the overall circuit).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • yefJ
    yefJ over 6 years ago in reply to Andrew Beckett


    Hello Andrew, i tried to connect  the oscilators into the mixer and as you suggested , i connected the 6.66GHz oscilator into 3.3GHz oscilator in injection lock .

    HB simulation was defined as shown bellow  with the 3.3GHz oscilator output  were picked in the "Oscilator" option.

    The HB simulation didn't converge.

    Andrew Beckett said:
    So put simply, you cannot do this. You need to replace at least one of the oscillators with a driven signal (maybe you could characterise it from your separate simulation, and then use the "phase noise" mode of vsource to represent it if you're trying to simulate the noise of the overall circuit).

    Yes i need the noise of the overall circuit and the HB at the output of the mixer .

    How can i convert a simulation of Oscilator  into a signal which will act as a black box  for my mixer?

    Thanks

       

    Fullscreen 6685.sim_log.txt Download
    Cadence (R) Virtuoso (R) Spectre (R) Circuit Simulator
    Version 15.1.0.801.isr17 64bit -- 19 Apr 2017
    Copyright (C) 1989-2017 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence, Virtuoso and Spectre are registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective holders.
    
    Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.
    
    User: yafimv   Host: micron.eng.tau.ac.il   HostID: 428454C2   PID: 2477
    Memory  available: 18.2348 GB  physical: 33.6702 GB
    Linux   : Red Hat Enterprise Linux Server release 6.9 (Santiago)
    CPU Type: Intel(R) Xeon(R) CPU           E5420  @ 2.50GHz
            Socket: Processors [Frequency]
            0:       0 [1998.0],  2 [1998.0],  4 [1998.0],  6 [1998.0]
            1:       1 [1998.0],  3 [2499.0],  5 [1998.0],  7 [1998.0]
            
    System load averages (1min, 5min, 15min) : 6.4 %, 7.4 %, 11.2 %
    
    
    Simulating `input.scs' on micron.eng.tau.ac.il at 3:01:45 PM, Sun Feb 17, 2019 (process id: 2477).
    Current working directory: /data.cc/data/a/home/cc/students/enginer/yafimv/simulation/ex5_total/spectre/schematic/netlist
    Command line:
        /eda_disk/cadence/tools/MMSIM/151/tools/bin/spectre -64 input.scs  \
            +escchars +log ../psf/spectre.out +inter=mpsc  \
            +mpssession=spectre0_9702_7 -format psfxl -raw ../psf  \
            +lqtimeout 900 -maxw 5 -maxn 5
    spectre pid = 2477
    
    Loading /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
    Loading /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Reading file:  /data.cc/data/a/home/cc/students/enginer/yafimv/simulation/ex5_total/spectre/schematic/netlist/input.scs
    Reading file:  /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file:  /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/spectre/etc/configs/mapsubckt.cfg
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_25IO_NVT_V021.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_25IO_NVT_V021.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_25IO_V111.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_25IO_V111.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_NCAP25_V113.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_NCAP25_V113.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_varmis_25_rf_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_varmis_25_rf_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_33IO_GOX52_VT21.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_33IO_GOX52_VT21.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_25IO_RF_V021.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_25IO_RF_V021.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90-resistor-control-V041.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_res.va
    Reading link:  /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file:  /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/spectre/etc/ahdl/constants.vams
    Reading link:  /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file:  /eda_disk/cadence/tools/MMSIM/151/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_ppo_V031.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_ppo_V031.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_npo_V031.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_npo_V031.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_rnhr_V031.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_rnhr_V031.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_rsnwell_V031.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_rsnwell_V031.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_nd_V031.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_nd_V031.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_pd_V031.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_pd_V031.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_metal_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_r_metal_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_BJT_V111.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_BJT_V111.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_DIODE_V101.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LL12_RF_V021.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LL12_RF_V021.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLLVT12_RF_VTAB.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLLVT12_RF_VTAB.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LL12_V102.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LL12_V102.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLHVT12_V101.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLHVT12_V101.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLLVT12_V102.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLLVT12_V102.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLNVT12_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_LLNVT12_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90SP_NCAP10_V112.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90SP_NCAP10_V112.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_NCAP12_LL_V102.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_NCAP12_LL_V102.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SP10_V061.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SP10_V061.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SPHVT10_V111.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SPHVT10_V111.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SPLVT10_V102.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SPLVT10_V102.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SPNVT10_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SPNVT10_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_mimcaps_20f_kf_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_mimcaps_20f_kf_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_momcaps_V041.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_momcaps_V041.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_vardiop_rf_v011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_vardiop_rf_v011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_varmis_12_llrf_V021.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_varmis_12_llrf_V021.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/momcaps_array_vp3_rfvcl_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/momcaps_array_vp3_rfvcl_V011.typ.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/momcaps_array_vp4_rfvcl_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/momcaps_array_vp4_rfvcl_V011.typ.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/rnhr_rf_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/rnhr_rf_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/res_poly.va
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/rnnpo_rf_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/rnnpo_rf_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/rnppo_rf_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/rnppo_rf_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_varmis_10_sprf_V011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_varmis_10_sprf_V011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/bond_pad_v011.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/bond_pad_v011.mdl.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SP10_RF_V021.lib.scs
    Reading file:  /eda_disk/pdks/UMC/UMC90nm/Models/Spectre/L90_SP10_RF_V021.mdl.scs
    Time for NDB Parsing: CPU = 207.968 ms, elapsed = 370.956 ms.
    Time accumulated: CPU = 241.962 ms, elapsed = 370.965 ms.
    Peak resident memory used = 45.5 Mbytes.
    
    
    The CPU load for active processors is :
            Spectre  0 (59.5 %)      2 (5.3 %)       3 (100.0 %)     4 (16.2 %)
                     5 (8.1 %)       6 (5.7 %)      
            Other   
    
    Warning from spectre during circuit read-in.
        WARNING (SFE-2654): VerilogA module `respoly_va' override primitive/(verilogA module) `respoly_va'.
        WARNING (SFE-2654): VerilogA module `respoly_va' override primitive/(verilogA module) `respoly_va'.
    Warning from spectre during hierarchy flattening.
        WARNING (SFE-1131): Duplicate scope option `tnom' with scope `TopCircuit'. (using last value specified).
    
    Time for Elaboration: CPU = 73.989 ms, elapsed = 74.9822 ms.
    Time accumulated: CPU = 315.951 ms, elapsed = 446.227 ms.
    Peak resident memory used = 54 Mbytes.
    
    Time for EDB Visiting: CPU = 2.999 ms, elapsed = 2.90704 ms.
    Time accumulated: CPU = 318.95 ms, elapsed = 449.431 ms.
    Peak resident memory used = 54.8 Mbytes.
    
    
    Notice from spectre during topology check.
        No connections to node `out_p'.
        No connections to node `out_n'.
        No DC path from node `net4' to ground, Gmin installed to provide path.
        No DC path from node `net08' to ground, Gmin installed to provide path.
        No DC path from node `out_p' to ground, Gmin installed to provide path.
        No DC path from node `out_n' to ground, Gmin installed to provide path.
        No DC path from node `I2.M7:int_g' to ground, Gmin installed to provide path.
            Further occurrences of this notice will be suppressed.
    
    
    Global user options:
                 reltol = 0.001
                vabstol = 1e-06
                iabstol = 1e-12
                   temp = 27
                   gmin = 1e-12
                 rforce = 1
               maxnotes = 5
               maxwarns = 5
                 digits = 5
                   cols = 80
                 pivrel = 0.001
               sensfile = ../psf/sens.output
         checklimitdest = psf
                   save = allpub
                   tnom = 25
                   tnom = 27
                 scalem = 1
                  scale = 1
    
    Scoped user options:
    
    Circuit inventory:
                  nodes 56
                  bsim4 13    
              capacitor 83    
                  diode 4     
               inductor 12    
               resistor 35    
                vsource 8     
    
    Analysis and control statement inventory:
                     hb 1     
                   info 6     
    
    Output statements:
                 .probe 0     
               .measure 0     
                   save 0     
    
    
    Notice from spectre.
        1 notice suppressed.
    
    Time for parsing: CPU = 4 ms, elapsed = 5.41306 ms.
    Time accumulated: CPU = 323.95 ms, elapsed = 455.041 ms.
    Peak resident memory used = 56.2 Mbytes.
    
    ~~~~~~~~~~~~~~~~~~~~~~
    Pre-Simulation Summary
    ~~~~~~~~~~~~~~~~~~~~~~
    ~~~~~~~~~~~~~~~~~~~~~~
    Entering remote command mode using MPSC service (spectre, ipi, v0.0, spectre0_9702_7, ).
    
    Warning from spectre.
        WARNING (SPECTRE-16707): Only tran supports psfxl format, result of other analyses will be in psfbin format.
    Warning from spectre.
        WARNING (SPCRTRF-15267): The number of sources 0 is less than the number of funds 1 set in analysis.Please make sure the analysis is set up correctly.
    
    Fundamental 0 in fundfreqs:  period = 303.03 ps, freq = 3.3 GHz, harms = 5, oversample = 1.
    Fundamental 1 in fundfreqs:  period = 150.15 ps, freq = 6.66 GHz, harms = 5, oversample = 1.
    
    ****************************************************************
    Harmonic Balance Steady State Analysis `hb': largefund = 3.3 GHz
    ****************************************************************
    Use semi-autonomous solver
    Trying `homotopy = gmin'.
    
    Notice from spectre during DC analysis, during periodic steady state analysis, during Harmonic Balance Steady State Analysis `hb'.
        GminDC = 1 pS is large enough to noticeably affect the DC solution.
            dV(net013) = -18.8809 mV
            Use the `gmin_check' option to eliminate or expand this report.
        Bad pivoting is found during DC analysis. Option dc_pivot_check=yes is recommended for possible improvement of convergence.
    
    DC simulation time: CPU = 23.997 ms, elapsed = 24.4272 ms.
    
    Output and IC/nodeset summary:
                     ic     1       
    
    
    Using linear IC
    Linear IC: estimated frequency is 2.76907e+09 Hz
    
    ================================
    `hb': time = (0 s -> 15.1515 ns)
    ================================
    
    Output and IC/nodeset summary:
                     ic     1       
    
    Important parameter values in tstab integration:
        start = 0 s
        outputstart = 0 s
        stop = 15.1515 ns
        step = 15.1515 ps
        maxstep = 3.0303 ps
        ic = all
        useprevic = no
        skipdc = no
        reltol = 1e-03
        abstol(V) = 1 uV
        abstol(I) = 1 pA
        temp = 27 C
        tnom = 27 C
        tempeffects = all
        method = traponly
        lteratio = 3.5
        relref = sigglobal
        cmin = 0 F
        gmin = 1 pS
    
        hb: time = 379.2 ps     (2.5 %), step = 3.03 ps       (20 m%)
        hb: time = 1.137 ns     (7.5 %), step = 3.03 ps       (20 m%)
        hb: time = 1.894 ns    (12.5 %), step = 3.03 ps       (20 m%)
        hb: time = 2.652 ns    (17.5 %), step = 3.03 ps       (20 m%)
        hb: time = 3.409 ns    (22.5 %), step = 3.03 ps       (20 m%)
        hb: time = 4.167 ns    (27.5 %), step = 3.03 ps       (20 m%)
        hb: time = 4.925 ns    (32.5 %), step = 3.03 ps       (20 m%)
        hb: time = 5.682 ns    (37.5 %), step = 3.03 ps       (20 m%)
        hb: time = 6.44 ns     (42.5 %), step = 3.03 ps       (20 m%)
        hb: time = 7.197 ns    (47.5 %), step = 3.03 ps       (20 m%)
        hb: time = 7.955 ns    (52.5 %), step = 3.03 ps       (20 m%)
        hb: time = 8.713 ns    (57.5 %), step = 3.03 ps       (20 m%)
        hb: time = 9.47 ns     (62.5 %), step = 3.03 ps       (20 m%)
        hb: time = 10.23 ns    (67.5 %), step = 3.03 ps       (20 m%)
        hb: time = 10.99 ns    (72.5 %), step = 3.03 ps       (20 m%)
        hb: time = 11.74 ns    (77.5 %), step = 3.03 ps       (20 m%)
        hb: time = 12.5 ns     (82.5 %), step = 3.03 ps       (20 m%)
        hb: time = 13.26 ns    (87.5 %), step = 3.03 ps       (20 m%)
    The onset of oscillations has not been detected, automatically reduce maxstep.
        hb: time = 15.7 ns     (92.5 %), step = 1.515 ps    (8.93 m%)
        hb: time = 16.55 ns    (97.5 %), step = 1.515 ps    (8.93 m%)
    The onset of oscillations has not been detected, automatically reduce maxstep.
    The onset of oscillations has not been detected, automatically reduce maxstep.
    The onset of oscillations has not been detected, automatically reduce maxstep.
    The onset of oscillations has not been detected, automatically reduce maxstep.
        hb: time = 26.52 ns    (91.2 %), step = 94.7 fs      (326 u%)
        hb: time = 26.91 ns    (92.5 %), step = 94.7 fs      (326 u%)
        hb: time = 28.36 ns    (97.5 %), step = 94.7 fs      (326 u%)
    
    Warning from spectre at time = 29.0909 ns during periodic steady state analysis, during Harmonic Balance Steady State Analysis `hb'.
        WARNING (SPCRTRF-15312): The onset of oscillations has not been detected after 29.0909 ns. Set a longer tstab or reduce maxstep.
    
        hb: time = 29.82 ns     (103 %), step = 94.7 fs      (326 u%)
    
    Error found by spectre at time = 30.303 ns during periodic steady state analysis, during Harmonic Balance Steady State Analysis `hb'.
        ERROR (SPCRTRF-15050): V(out_p,out_n) is too small to reliably detect the period of the oscillator.Perhaps  nodes with insignificant signal levels were chosen, or perhaps the oscillator was never properly started.
    
    Pin node is 0, amplitude is 0
    Pinning node: 0, harm: 1, name: 0, value: (0.000000, 0.000000)
    
    ==============================
         Harmonic balance
      hbhomotopy=tone (1-tone)
    ==============================
    Important HB parameters:
        RelTol=1.00e-03
        abstol(I)=1.00e-12 A
        abstol(V)=1.00e-06 V
        residualtol=1.00e+00
        lteratio=3.50e+00
        steadyratio=1.00e+00
        maxperiods=100
    
    
    ********** initial residual **********
    Resd Norm=1.00e+03  at node I0.M_ver_p:int_s  harm=(0 0)
    
    ********** iter = 1 **********
    Delta Norm=2.26e+02  at node net013  harm=(0 0)
    Resd Norm=1.00e+03  at node I2.M5:int_d  harm=(0 0)
    Frequency= 3.3000e+09 Hz, delta f= 0.00e+00
    
    ********** iter = 2 **********
    Delta Norm=3.58e+03  at node I0.L3:1  harm=(0 0)
    Resd Norm=1.00e+03  at node I2.M7:int_d  harm=(0 0)
    Frequency= 3.3000e+09 Hz, delta f= 0.00e+00
    
    ********** iter = 3 **********
    Delta Norm=2.18e+02  at node I2.V3:p  harm=(0 0)
    Resd Norm=9.86e+02  at node I2.M5:int_g  harm=(0 0)
    Frequency= 3.3000e+09 Hz, delta f= 0.00e+00
    
    ********** iter = 4 **********
    Delta Norm=5.28e+01  at node I2.M7:int_s  harm=(0 0)
    Resd Norm=2.96e+02  at node I2.M7:int_g  harm=(0 0)
    Frequency= 3.3000e+09 Hz, delta f= 0.00e+00
    
    ********** iter = 5 **********
    Delta Norm=4.84e-01  at node I2.M7:int_s  harm=(0 0)
    Resd Norm=1.59e-01  at node I2.M7:int_g  harm=(0 0)
    Frequency= 3.3000e+09 Hz, delta f= 0.00e+00
    Pin node is 0, amplitude is 0
    Pinning node: 0, harm: 1, name: 0, value: (0.000000, 0.000000)
    
    ==============================
         Harmonic balance
      hbhomotopy=tone (all-tone)
    ==============================
    Important HB parameters:
        RelTol=1.00e-03
        abstol(I)=1.00e-12 A
        abstol(V)=1.00e-06 V
        residualtol=1.00e+00
        lteratio=3.50e+00
        steadyratio=1.00e+00
        maxperiods=100
    
    
    ********** initial residual **********
    Resd Norm=1.59e-01  at node I2.M7:int_g  harm=(0 0)
    
    ********** iter = 1 **********
    Delta Norm=9.54e-05  at node I2.M7:int_s  harm=(0 0)
    Resd Norm=1.62e-04  at node I3.M_ver_p:int_g  harm=(0 0)
    Frequency= 3.3000e+09 Hz, delta f= 0.00e+00
    
    
    *************************************************
    Fundamental frequency is 3.3 GHz.
    *************************************************
    
    CPU time=0 s
    
    
    Opening the PSF file ../psf/hb.fd.qpss_hb ...
    
    Opening the PSF file ../psf/hb.fi.qpss_hb ...
    Analysis `hb' was terminated prematurely due to an error.
    modelParameter: writing model parameter values to rawfile.
    
    Opening the PSF file ../psf/modelParameter.info ...
    element: writing instance parameter values to rawfile.
    
    Opening the PSF file ../psf/element.info ...
    outputParameter: writing output parameter values to rawfile.
    
    Opening the PSF file ../psf/outputParameter.info ...
    designParamVals: writing netlist parameters to rawfile.
    
    Opening the PSFASCII file ../psf/designParamVals.info ...
    primitives: writing primitives to rawfile.
    
    Opening the PSFASCII file ../psf/primitives.info.primitives ...
    subckts: writing subcircuits to rawfile.
    
    Opening the PSFASCII file ../psf/subckts.info.subckts ...
    

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to yefJ

    If this is really injection locked, then you wouldn't need the 6.66GHz tone, because the two oscillators would just produce harmonics of a common fundamental frequency.

    You said it didn't converge - looking at the log file, it did converge. However, I am rather suspicious because the oscillation frequency is rather too exact - it's precisely 3.3GHz. That's pretty unlikely with real life component values. So something doesn't sound right to me. 

    To generate the phase noise source, the best bet is to use the option on the bottom of the hb form (and hbnoise form):

    You need to be using a recent enough IC617 version and (I think) SPECTRE 17.1 to access this (I can't quite remember precisely when this was introduced). You give the same filename for both the hb and the hbnoise analysis (the output only has to be specified for the hb analysis as for the hbnoise it would use the hbnoise output node - these really need to match).

    Then to use the resulting file, you use the vsource and pick the source type of "oscmacro" and give the file name you produced from the standalone hb analysis (this is a better approach than the original way I was suggesting using a vsource with a SSB phase noise file instead).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • yefJ
    yefJ over 6 years ago in reply to Andrew Beckett

    Thank you very much, when i connected them as injected locked and defined one of them in the HB . then it worked fine.

    • 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