• 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. Custom IC Design
  3. 2 Tone VerilogA signal source does not work in Harmonic...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 10508
  • 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

2 Tone VerilogA signal source does not work in Harmonic balance

ChristophHoehn
ChristophHoehn over 4 years ago

Hi all,

I have a problem to get a Verilog-A signal source with two output tones to work in harmonic balance. So far my code looks more or less like this (deleted some calculations):

// VerilogA for 

`include "constants.vams"
`include "disciplines.vams"

module emulator(out,gnd);

output out;
input gnd;

electrical out,gnd,internal1,internal2;


real freq1,freq2,amp1,amp2;

parameter real  centerFreq = 70G;
parameter string fundname1 = "rf1";
parameter string fundname2 = "rf2";

analog begin

freq1 = 10M;

freq2 = 100M;

amp1=1;

amp2=1;

$cds_set_rf_source_info ( fundname1, centerFreq + freq1);
V(out,internal1) <+ (amp1)*sin(2*`M_PI*(centerFreq+freq1)*$abstime));
if (twoTargets>0)
begin
$cds_set_rf_source_info ( fundname2, centerFreq + freq2);
V(internal1,internal2) <+ (amp2)*sin(2*`M_PI*(centerFreq+freq2)*$abstime);
end
else
V(internal1,internal2) <+ 0;
V(internal2,gnd) <+ 50*I(internal2,gnd);

$bound_step(0.01/(centerFreq+freq1));
end
endmodule

With the help of a blog post I am able to make a signle source run in transient and Harmonic Balance. However when I try to use 2 sources harmonic balance will not calculate the correct results!

What am I doning wrong here? How to use $cds_set_rf_spurce_info() correct in my case?

Thanks in advance!

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 4 years ago

    It appears to be a limitation that it doesn't work with two tones in the same VerilogA module. I've not found anyone else reporting the issue, so most likely nobody has tried doing this.

    Please contact customer support - this will need a change request to R&D to resolve, I believe.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ChristophHoehn
    ChristophHoehn over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    thanks for the fast reply. I think I can work around with 2 verilogA cells. So this should be OK. However with that approach I still see weird Harmonic Balance behavior. Can it be true that HB Analysis has problems in the case the verilogA cell is not the first tone? I am working with a big LO cell and want to use the verilogA cells as tone2 or 3 in the HB analysis!

    Best

    Christoph

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ChristophHoehn
    ChristophHoehn over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    thanks for the fast reply. I think I can work around with 2 verilogA cells. So this should be OK. However with that approach I still see weird Harmonic Balance behavior. Can it be true that HB Analysis has problems in the case the verilogA cell is not the first tone? I am working with a big LO cell and want to use the verilogA cells as tone2 or 3 in the HB analysis!

    Best

    Christoph

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ChristophHoehn

    Hi Christoph,

    It's quite possible that it simply doesn't work currently with any more than one such tone - I think you really will need to follow this up with customer support (sorry, didn't have time to check myself - I did try your code the other day before replying before though, and tried to workaround it to no avail).

    Andrew

    • 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