exponential voltage source: Can I add periodicity to it?

Discussion in 'Cadence' started by AG, Sep 1, 2008.

  1. AG

    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?
     
    AG, Sep 1, 2008
    #1
  2. AG

    AG Guest

    Just in case, I add that I have analogLib library from cadence.
     
    AG, Sep 1, 2008
    #2
  3. AG

    Riad KACED Guest

    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.
     
    Riad KACED, Sep 1, 2008
    #3
  4. AG

    Riad KACED Guest

    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 KACED, Sep 1, 2008
    #4
  5. AG

    AG Guest


    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
     
    AG, Sep 2, 2008
    #5
  6. AG wrote, on 09/02/08 08:19:
    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, Sep 2, 2008
    #6
  7. AG

    S. Badel Guest

    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
     
    S. Badel, Sep 2, 2008
    #7
  8. AG

    marcoballins Guest

    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.
     
    marcoballins, Sep 2, 2008
    #8
  9. AG

    AG Guest

    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
     
    AG, Sep 3, 2008
    #9
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.