exponential voltage source: Can I add periodicity to it?

A

AG

Guest
Hi,
I need a voltage source which has exponential waveoform (for realistic
rise/fall time of a clock). But since I want to use it for a clock
source, I want to add periodicity to it.
Can anybody help me?
 
On Sep 1, 1:21 pm, AG <agaurav...@gmail.com> wrote:
Hi,
I need a voltage source which has exponential waveoform (for realistic
rise/fall time of a clock). But since I want to use it for a clock
source, I want to add periodicity to it.
Can anybody help me?
Just in case, I add that I have analogLib library from cadence.
 
Emmmm, seems the vexp does not do the job, isn't it ?

I'm seeing 2 potential solutions off the top of my head :

1. Write a Verilog-A source. I think I've seen some examples on the
Accelera/Designer's Guide web sites, can't remember :-(
2. you can write a piece of skill/perl/C/Matlab... to generate a time-
limited waveform into a file that you could use to feed the vpwlf
source.

Hope other chaps got better/simpler ideas :)

Cheers,
Riad.
 
Hi,

I honestly don't know how to define a periodicity for the 'analogLib/
vexp' voltage source. I'm just wondering whether it is possible. I
went through the Analog Library Reference Guide document but it was
not that much helpful for this case. Hope some experts will set us
straight on this.

Meanwhile, I'm seeing 2 potential solutions off the top of my head :

1. Write a Verilog-A source. I think I've seen some examples on the
Accelera/Designer's Guide web sites, can't remember :-(
2. you can write a piece of skill/perl/C/Matlab... to generate a time-
limited waveform into a file that you could use to feed the vpwlf
source.

Cheers,
Riad.
 
AG wrote, on 09/02/08 08:19:
On Sep 1, 11:54 pm, Riad KACED <riad.ka...@gmail.com> wrote:
Hi,

I honestly don't know how to define a periodicity for the 'analogLib/
vexp' voltage source. I'm just wondering whether it is possible. I
went through the Analog Library Reference Guide document but it was
not that much helpful for this case. Hope some experts will set us
straight on this.

Meanwhile, I'm seeing 2 potential solutions off the top of my head :

1. Write a Verilog-A source. I think I've seen some examples on the
Accelera/Designer's Guide web sites, can't remember :-(
2. you can write a piece of skill/perl/C/Matlab... to generate a time-
limited waveform into a file that you could use to feed the vpwlf
source.

Cheers,
Riad.


Riad,
Thanks for your suggestions.
Yeah, the documentation doesn't help much. Seems like its not
possible. But, I don't understand why not.
I'll check into #1.
#2 did occur to me but I'll try it as a last resort :-(.
Thanks once again.

Regards,
Anand
I don't see "exp" sources being used very often, in practice. I checked, and it
seems that spectre's vsource does not support "period" on a source with
type=exp. I can't see any reason why it shouldn't be possible, except that it
would probably be necessary to ensure you don't get an abrupt transition at the
start of a new period (given that it will never actually reach the final value
with an exponential source).

You should contact Cadence support, and an enhancement request could be filed on
your behalf.

Regards,

Andrew.

--
Andrew Beckett
Senior Solution Architect - Cadence Design Systems Ltd (UK)
 
Hi all,

so it seems it's not possible...

I just want to add that in my opinion it's *not* a realistic waveform. As Andrew said, such an
exponential wave makes abrupt transitions, which does not happen in practice.

As better solutions, I would suggest the following :

- use a vpulse source with edgetype set to 'halfsine', this option is relatively new I believe but
it gives pretty nice wave shape.

- make s subcircuit with a vpulse source driving an RC circuit, then use a vcvs source with gain=1
to replicate the resulting wave at the input of your circuit. This can give nice shape too.

- use a real circuit to produce a real input waveform (say, a CMOS inverter or whatever's close
enough to what will really produce the wave in the real circuit)

You'll probably find that it doesn't make much of a difference on the results anyway, which possibly
explains why nobody's asked for such a feature before...

Good luck,
Stéphane


Andrew Beckett wrote:
AG wrote, on 09/02/08 08:19:
On Sep 1, 11:54 pm, Riad KACED <riad.ka...@gmail.com> wrote:
Hi,

I honestly don't know how to define a periodicity for the 'analogLib/
vexp' voltage source. I'm just wondering whether it is possible. I
went through the Analog Library Reference Guide document but it was
not that much helpful for this case. Hope some experts will set us
straight on this.

Meanwhile, I'm seeing 2 potential solutions off the top of my head :

1. Write a Verilog-A source. I think I've seen some examples on the
Accelera/Designer's Guide web sites, can't remember :-(
2. you can write a piece of skill/perl/C/Matlab... to generate a time-
limited waveform into a file that you could use to feed the vpwlf
source.

Cheers,
Riad.


Riad,
Thanks for your suggestions.
Yeah, the documentation doesn't help much. Seems like its not
possible. But, I don't understand why not.
I'll check into #1.
#2 did occur to me but I'll try it as a last resort :-(.
Thanks once again.

Regards,
Anand


I don't see "exp" sources being used very often, in practice. I checked,
and it seems that spectre's vsource does not support "period" on a
source with type=exp. I can't see any reason why it shouldn't be
possible, except that it would probably be necessary to ensure you don't
get an abrupt transition at the start of a new period (given that it
will never actually reach the final value with an exponential source).

You should contact Cadence support, and an enhancement request could be
filed on your behalf.

Regards,

Andrew.
 
On Sep 1, 11:54 pm, Riad KACED <riad.ka...@gmail.com> wrote:
Hi,

I honestly don't know how to define a periodicity for the 'analogLib/
vexp' voltage source. I'm just wondering whether it is possible. I
went through the Analog Library Reference Guide document but it was
not that much helpful for this case. Hope some experts will set us
straight on this.

Meanwhile, I'm seeing 2 potential solutions off the top of my head :

1. Write a Verilog-A source. I think I've seen some examples on the
Accelera/Designer's Guide web sites, can't remember :-(
2. you can write a piece of skill/perl/C/Matlab... to generate a time-
limited waveform into a file that you could use to feed the vpwlf
source.

Cheers,
Riad.

Riad,
Thanks for your suggestions.
Yeah, the documentation doesn't help much. Seems like its not
possible. But, I don't understand why not.
I'll check into #1.
#2 did occur to me but I'll try it as a last resort :-(.
Thanks once again.

Regards,
Anand
 
I am not sure, because I never used it but maybe the repeatWaveform
cell in the functional library could do the job. However a 1st order
low-pass filter would be a more a realistic source.
 
On Sep 2, 6:49 pm, marcoball...@gmail.com wrote:
I am not sure, because I never used it but maybe the repeatWaveform
cell in the functional library could do the job. However a 1st order
low-pass filter would be a more a realistic source.
Thanks to everybody for suggestions.
The simplese solution seems to be using the vpulse followed by
RC(analogLib components). That way my input waveform remains
independent of simulation corners.
Andrew, thanks for the suggestions. I'll try to do as you suggested
but maybe later, as my first priority is getting my simulations
running.

Regards,
Anand
 

Welcome to EDABoard.com

Sponsor

Back
Top