Home > Community > Forums > RF Design > Complex-constant multiplier in VerilogA

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: *

 Complex-constant multiplier in VerilogA 

Last post Mon, Apr 7 2014 6:31 AM by Andrew Beckett. 3 replies.
Started by RFStuff 08 Jan 2014 10:04 PM. Topic has 3 replies and 4911 views
Page 1 of 1 (4 items)
Sort Posts:
  • Wed, Jan 8 2014 10:04 PM

    • RFStuff
    • Top 25 Contributor
    • Joined on Tue, Feb 5 2013
    • Posts 243
    • Points 4,300
    Complex-constant multiplier in VerilogA Reply

     Dear All,

    I am doing a PSS+PNOISE simulation of a circuit in Spectre.

    I need to multiply the output voltage of certain terminals with Complex Constant ( exp(j*pi/4)=0.707+0.707i).

    This I don't want for post-processing ( which can be easily done using Ocean Script).

    I want it on the fly of simulation.

    Is there any ways of achieving this in VerilogA.

    Kind Regards,

    • Post Points: 20
  • Thu, Jan 9 2014 6:24 PM

    Re: Complex-constant multiplier in VerilogA Reply

    In general, this is impossible in the simulator. This is a constant phase shift of 45 degrees, and that would be non-causal in the time domain.

    It could be done in frequency domain analyses only (e.g. ac and hb, including PSS in hb mode), but not by using Verilog-A. Verilog-A cannot be written in the frequency domain - you'd have to translate it into the time domain, and since there is no time domain representation of such behaviour (except maybe over a narrow band), it can't be done that way.

    The way I would do this is to create an s-parameter file representing the complex transfer function, and then use nport with this. Be aware though that simulating it in time domain analyses would either fail or give bad answers, as it is not possible in real life. When creating the s-parameter file, you should make sure there is a dc point which doesn't have a complex transfer function (as that's not possible) to ensure the DC behaviour is correct and it can find an operating point.

    There is an internal implementation of a phaseShift for SpectreRF use (in frequency domain analyses), but it's not really in a state that I'd want to post it on the forum.

    Why can't you do this in the post-processing tool? That works fine - simply multiple your signal by complex(sqrt(2) sqrt(2)) in the calculator.

    Regards,

    Andrew.

    • Post Points: 20
  • Fri, Apr 4 2014 6:58 AM

    • RFStuff
    • Top 25 Contributor
    • Joined on Tue, Feb 5 2013
    • Posts 243
    • Points 4,300
    Re: Complex-constant multiplier in VerilogA Reply

     Dear Andrew,

    In the earlier post you have mtioned regarding  phaseShift for SpectreRF.

    Is it now in  a state to be used by users like us in PAC & PNOISE analysis.

    Kind Regards,

     

    • Post Points: 20
  • Mon, Apr 7 2014 6:31 AM

    Re: Complex-constant multiplier in VerilogA Reply

    I'm not sure I'd want to post it on the forums - you should contact customer support since we would need to check if R&D are happy to release it to selected customers so that they can give us feedback on how appropriate it is in real life situations.

    Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by RFStuff at 08 Jan 2014 10:04 PM. Topic has 3 replies.