The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Behavioral Models >> Variable phase shift model
https://designers-guide.org/forum/YaBB.pl?num=1332407917

Message started by dfot on Mar 22nd, 2012, 2:18am

Title: Variable phase shift model
Post by dfot on Mar 22nd, 2012, 2:18am

I am interested on creating with Verilog-A a variable phase shift model for a sinusoidal input signal and I have tryed a lot of methods. I did use $absdelay, but it needs a constant delay time in order to use it. I did try also the transition operator, but it also could not provide variable phase shift. I did try to use both of the above into if or for loops, but Spectre says that these operators are not allowed to be used into a  conditionally executed statement.

Is there anyone who has any idea how I could implement a linear variable phase shift model?

Title: Re: Variable phase shift model
Post by Geoffrey_Coram on Mar 26th, 2012, 10:45am

If you provide a 3rd argument maxdelay to the $absdelay operator, you should be able to have the actual delay vary between 0 and maxdelay.

Title: Re: Variable phase shift model
Post by dfot on Mar 27th, 2012, 12:02am

The point is that when absdelay is used into an analog statement, its delay value is not allowed to change during simulation time (any changes in fact are ignored by simulator). I am aware of the maxdelay functionality, but unfortunatelly it can not operate in the way that I would like. I think that transition operator would work, since there's no problem with it changing its delay value inside an analog statement and during simulation time, but I can not figure out the way that I can create a linear change of the delay value inside the transition operator.

Title: Re: Variable phase shift model
Post by boe on Mar 28th, 2012, 11:22am

dfot,
as Geoffrey pointed out, adsdelay should work. If it doesn't you should be more specific and provide all relevant details, including which simulator (and which version) you use.
I think the transition filter is not what you want here - it is meant for discrete-time inputs.
- B O E

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.