Home > Community > Forums > Custom IC Design > [Solved] analogLib -> switch: Unexpected switching behaviour. Someone with experience?

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

 [Solved] analogLib -> switch: Unexpected switching behaviour. Someone with experience? 

Last post Fri, May 31 2013 1:28 AM by edwina. 5 replies.
Started by edwina 28 May 2013 01:47 AM. Topic has 5 replies and 1849 views
Page 1 of 1 (6 items)
Sort Posts:
  • Tue, May 28 2013 1:47 AM

    • edwina
    • Not Ranked
    • Joined on Tue, May 28 2013
    • Posts 3
    • Points 45
    [Solved] analogLib -> switch: Unexpected switching behaviour. Someone with experience? Reply

     Hi all,

    I'm implementing a SPAD model(base on: SPICE modeling of single photon avalanche diodes. by F. Zappa∗, A. Tosi, A. Dalla Mora, S. Tisa and published in Sensors and Actuators A 153 (2009) on pages 197–204) and the problem is in a swith out of the analogLib of Cadence (in combination with Spectre) that should simulate the selfsustainability of a above breakdown reversed baised diode. See circuit.PNG for the whole circuit and "switch properties.PNG" for the properties of the switch that troubles me. In "setup.PNG" the setup of the model of "circuit.PNG" is showed (in short: anode and substrate are grounded, cathode is connected to a ramp (20V -> 25V in 10u seconds) and photon is connected to a pulse source (10Vpk-pk. Period: 2us, dutycycle 50% and a delay of 500ns).

    Because the switching voltage of the troubeling switch (W3) is 100uV, you would expect that the switch stays closed when the voltage across Rsense (in orange in "simulation results..PNG") is more than 100uV. However (as can be seen in "simulation results..PNG" (the colors of "simulation results..PNG" are matched with "circuit.PNG")) this doesn't happen.
    At first there won't flow any current (and so the voltage drop across Rsense is zero). This is because switch S1 is closed intil Vcathode-Vanode > 21.54 V. After that moment in time, Vtrigger won't be grounded and so switch Strig will be in opperation mode (this can be seen in the simulation results by the first non-zero slope of the voltage across Rsense and the first rising egde of Vtrigger (red in the simulation results)). After the second pulse (indicated by the indicater in the simulation results) the voltage across Rsense is already ~1.71mV, so more then 100uV and so switch W3 should be closed (and stay closed) resulting in a "self sustaining avalanche". When a self sustaining avalanche occures, the current through switch Strig and W3 should be continuous (ignoring the resistance of the switches) and so the voltage drop over Rsense should be continuous to. However, as can be seen in "simulation_results..PNG", is isn't.
    The weird thing is that after the next pulse of Vin, the switch stays closed.

    Does someone recognize this behaviour or experienced it before and know a workaround of a fix for it?

    Oowja: the weird thing in the middel-botom of the circuit is a piecewise linear voltage controlled voltage source in series with a piecewise linear voltage controlled resistor (as suggested in SPICE modeling of single photon avalanche diodes. by F. Zappa∗, A. Tosi, A. Dalla Mora, S. Tisa). It just models the non linear current behaviour of an reversed biased diode in avalanche. So when Vin (Vanode-Vcathode) rises, the current through this component rises. It works fine so I don't expect this guy is the problem.

    Because one of the replies I attached the input.scs netlist. However I couldn't upload .scs files, so I renamed it to input.txt.

    With kind regard,
    Edwin

    P.s. I also build the the setup with Rsense, the two parallel switches and a current limitation resistor to check if the concept works (in Cadence) and that one just worked fine.

    Images:

    • circuit.png:

    • switch properties.png:
    • setup.png:

    • simulation results..png:

     

    Filed under:
    • Post Points: 20
  • Tue, May 28 2013 7:50 AM

    Re: analogLib -> switch: Unexpected switching behaviour. Someone withexperience? Reply

    Please post the images here rather than links to files that require a login in a different forum to view. You can attach pictures (one at a time) via the Options tab when posting.

    Might also help if you posted the input.scs netlist that you're simulating.

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, May 30 2013 12:23 AM

    • edwina
    • Not Ranked
    • Joined on Tue, May 28 2013
    • Posts 3
    • Points 45
    Re: analogLib -> switch: Unexpected switching behaviour. Someone withexperience? Reply

    Have you tried to acces the images? Because I can acces them at edaboard.com without logging in at there forum. However I've uploaded them somewhere else and made added some tumbnails and links to the start post. I also attached the input.scs file but renamed it to input.txt because this forum system won't accept .scs files.

     With kind regards,

    Edwin

    • Post Points: 20
  • Thu, May 30 2013 8:18 AM

    Re: analogLib -> switch: Unexpected switching behaviour. Someone withexperience? Reply

    Of course I tried to access the images. That's why I asked for you not to post things on other forums that required a login - it asked me for a login. This forum can store images (albeit only one per post), but that's usually not too onerous.

    I'll take a look at what you've posted now.

    Andrew.

    • Post Points: 5
  • Thu, May 30 2013 8:39 AM

    Re: analogLib -> switch: Unexpected switching behaviour. Someone withexperience? Reply

    Edwin,

    OK, I can't run your circuit, because there's a VerilogA model missing, but that doesn't matter - I think it's fairly clear from the pictures and netlist you've posted. The issue is a consequence of the fact that you've only specified the Open voltage and not the Close voltage. From "spectre -h relay" (the switch is really a relay):

    The four-terminal relay is a voltage controlled relay tied between terminals `t1' and `t2'. The
    voltage between terminals `ps' and `ns' controls the relay resistance. The relay resistance varies
    nonlinearly between `ropen' and `rclosed', the open relay resistance and closed relay resistance,
    respectively. These resistance values correspond to control voltages of `vt1' and `vt2' respectively.
    The four parameters, `vt1', `vt2', `ropen', and `rclosed', can be instance or model parameters.
    ...
    ===================
    Instance Parameters
    ===================

    1       vt1 (V)           Relay resistance is `ropen' at this voltage.
    2       vt2=vt1+1.0 V     Relay resistance is `rclosed' at this voltage.
    3       ropen=infinity Ohm
                              Resistance of a fully open relay.
    4       rclosed=1.0 Ohm   Resistance of a fully closed relay.

     As you can see, the default "closed" resistance is 1V above the "open" voltage, and the resistance varies between open and closed between these two voltages. This can be seen in the following simple testcase:

    //
    v1 (n1 0) vsource dc=1
    vtrig (trig 0) vsource type=pulse val0=0 val1=2 rise=100n
    r1 (n1 0 trig 0) relay ropen=1m rclosed=1T vt1=100m

    save v1:1 n1 trig
    tran tran stop=100n

    Which I ran with "spectre testrelay.scs". I then plotted the trigger voltage and the current through the voltage source. You can see the current flow being high at the point where the trigger voltage is less than 100mV (because it is "open"), and then essentially 0 when the trigger voltage is above 1.1V - between these two it varies due to the fact that the resistance is being varied "nonlinearly. The help for the relay (spectre -h relay) explains the exact criteria.

    So I think it's just that you've not specified the parameters for the switch correctly.

    Kind Regards,

    Andrew.

     


    • Post Points: 20
  • Fri, May 31 2013 1:28 AM

    • edwina
    • Not Ranked
    • Joined on Tue, May 28 2013
    • Posts 3
    • Points 45
    Re: analogLib -> switch: Unexpected switching behaviour. Someone withexperience? Reply

     Hi Andrew,

    You're my hero! I couldn't find a proper description of the switch on the internet and I wasn't aware of the help function of spectre. So I assumed (after some simulations to hunt down its behaviour) that the closed voltage didn't affect its behaviour when left empty.I couldn't be so wrong! When set the closed voltage to 101uV it seems to work properly.

     Thank you so much!

    With kind regards,

    Edwin

    • Post Points: 5
Page 1 of 1 (6 items)
Sort Posts:
Started by edwina at 28 May 2013 01:47 AM. Topic has 5 replies.