• Home
  • :
  • Community
  • :
  • Blogs
  • :
  • RF Design
  • :
  • Guidelines for Maximizing Speed vs. Accuracy in SpectreRF…

RF Design Blogs

Tawna
Tawna
7 Mar 2012
Subscriptions

Get email delivery of the Cadence blog featured here

  • All Blog Categories
  • Breakfast Bytes
  • Cadence Academic Network
  • Cadence Support
  • Custom IC Design
  • カスタムIC/ミックスシグナル
  • 定制IC芯片设计
  • Digital Implementation
  • Functional Verification
  • IC Packaging and SiP Design
  • Life at Cadence
  • The India Circuit
  • Mixed-Signal Design
  • PCB Design
  • PCB設計/ICパッケージ設計
  • PCB、IC封装:设计与仿真分析
  • PCB解析/ICパッケージ解析
  • RF Design
  • RF /マイクロ波設計
  • Signal and Power Integrity (PCB/IC Packaging)
  • Silicon Signoff
  • Spotlight Taiwan
  • System Design and Verification
  • Tensilica and Design IP
  • Whiteboard Wednesdays
  • Archive
    • Cadence on the Beat
    • Industry Insights
    • Logic Design
    • Low Power
    • The Design Chronicles

Guidelines for Maximizing Speed vs. Accuracy in SpectreRF simulations - Part 3

Several months ago, I started a 3 part series on Guidelines for Maximizing Speed vs Accuracy for Harmonic Balance simulations.

Today, I'll discuss part 3 of the 3 part series consisting of:

  • Which Engine: Spectre or APS?
  • Oversample vs Number of Harmonics
  • Harmonic Trimming

The first and second posts in this series can be found here: 

Guidelines for Maximizing Speed vs Accuracy for Harmonic Balance - Part 1

Guidelines for Maximizing Speed vs Accuracy for Harmonic Balance - Part 2

The third knob you can tweak to maximize speed vs. accuracy in SpectreRF simulations is Harmonic Trimming.

"Harmonic trimming" reduces the number of harmonics simulated in an intelligent way by trimming higher order terms which have very little energy in them, while still keeping accuracy in the primary or "on axis" tones. You can target important harmonics with most of the energy, which reduces simulation time and memory.  One caveat...any time you reduce the number of harmonics simulated, there is some inaccuracy in the highest order terms specified due to aliasing.

For hb analysis

Open the hb Choosing Analyses form.

In the Select section, there is a Method option that specifies how the harmonics are selected:  diamond, funnel, or axis.

hb choosing analysis form

The harmonics selected by each method depend on the maxharms and MaxImOrder (int), where MaxImOrder specifies the maximum order of the harmonics to be calculated. 

If the Harmonics value is something other than Select, the Method field does not appear in the form and the box selection method is the default rectangular cut.

For qpss analysis,

In the Select section of the Choosing Analyses form, you have a Method option that specifies how the harmonics are selected: diamond, funnel, axis or arbitrary. The harmonics selected by each method depend on the maxharms and MaxImOrder (Harmonic Balance) or Boundary values (Shooting) where Boundary (int) specifies the maximum order of the harmonics to be calculated.

Below is the Select section of the qpss Choosing Analysis form for the Shooting Newton engine.

 qpss choosing analyses

Note that the total number of harmonics is very high, even though diamond was selected.  Had funnel or axis been selected, that number would be lower.

If the Harmonics value is something other than Select, the Method field does not appear in the form and the box selection method is the default rectangular cut.

MaxImOrder (or Boundary in shooting qpss) reduces the number of harmonics simulated in an intelligent way by trimming higher order terms which have very little energy in them, while still keeping accuracy in the primary or "on axis" tones. You can target important harmonics with most of the energy by using MaxImOrder (or Boundary in shooting qpss). This targeting reduces simulation time and memory. However, any time you reduce the number of harmonics simulated, there is some inaccuracy in the highest order terms specified due to aliasing.

Below are descriptions of the various types of cuts:

The Rectangle cut is the default. No harmonic trimming is done. If the Harmonics value is something other than Select, the Method field does not appear in the form and the box selection method is the rectangular cut.

The Diamond cut is designed to keep the important on-axis harmonics but to reduce the number of off-axis (intermodulation) harmonics. It is the same as Default but with higher order harmonic trimming applied.

The Axis cut calculates only the harmonics of both tones and none of the mixing products are calculated.

The Funnel cut is a combination of the diamond cut and axis cut. It selects harmonics along the axes and intermodulation harmonics of a specified order or less. It is unique to SpectreRF and includes energy of the on-axis, higher order harmonics.

The Arbitrary cut (available in shooting qpss only) lets you specify indices of interest for each of the moderate fundamental tones. This method is not usually recommended.

Below are diagrams consisting of one, two, and three tone examples with various cuts.

1 tone:

one tone

Two tone rectangle cut:

two tone rectangle cut

2 tone diamond cut:

two tone diamond cut

3 tone rectangle cut

 3tone rectangular cut

 

3 tone diamond cut:

 

3 tone diamond

3 tone funnel cut:

3 tone funnel

 

3 tone axis cut:

3 tone axis

 

I hope this sheds a bit of light on the mysterious harmonic trimming topic.

Have fun simulating!

Best regards,

Tawna

 

Tags:
  • RF |
  • RF Simulation |
  • analog/RF |
  • Circuit simulation |
  • RFIC |
  • QPSS Analysis |
  • shooting newton |
  • HB |
  • Spectre RF |
  • spectre spectreRF |
  • Analog Simulation |
  • MMSIM |
  • RF spectre spectreRF |
  • harmonic trimming |
  • spectreRF |
  • RF design |
  • harmonic balance |
  • mixer |