• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. how to implement sp1t,sp2t,sp3t switch

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 125
  • Views 19203
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

how to implement sp1t,sp2t,sp3t switch

eashwar g
eashwar g over 10 years ago

hi

how to use spt switches in schematic ..i.e the one available in analog-lib .There is no tutorial or data in manual ..can we use this for different voltages
i.e., if we give limits as 1V,2V,3V for sp3t switch then will that connect to a particular switch based on voltage?

Can we control the switches based on voltages
please suggest

  • Cancel
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear eashwar,

    Have you examined the output of "spectre -h switch"? This provides additional information. 

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • eashwar g
    eashwar g over 10 years ago
    i tried it ., nothing is displayed ,when i run that
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear eashwar,

    Are you in the cadence environment?. This is the result of the command:


    ************
    Ideal Switch
    ************

    Ideal switch is a single-pole multiple-throw switch with infinite `off' resistance and zero `on' resistance. The switch is
    provided to allow you to reconfigure your circuit between analyses. You can only change the switch state between analyses
    (using the alter statement), not during an analysis.

    When the switch is set to position 0 it is open. In other words, no terminal is connected to any other. When the switch is
    set to position 1, terminal 1 is connected to terminal 0, and all others are unconnected. When the position is set to 2,
    terminal 2 is connected to terminal 0, etc.

    An offset voltage is supported. It is placed in series with the common terminal. The negative side of the source is
    connected to the common terminal.

    The switch can change its position based on which analysis type is being performed using the `xxx_position' parameters.
    This feature should be used carefully. Careless use can generate discontinuities that result in convergence problems. Once
    an analysis specific position has been specified using `xxx_position', it will always dominate over a position given with
    the `position' parameter. To disable an analysis specific position, alter it to its default value of unspecified.


    Sample Instance Statement:
    sw1 (t1 t2 t3) switch dc_position=0 ac_position=1 tran_position=2

    This device is not supported within altergroup.

    Synopsis:
    Name ( t0 t1 ... ) switch <parameter=value> ...


    ===================
    Instance Parameters
    ===================

    1 position=0 Switch position (0, 1, 2, ...).
    2 dc_position Position to which switch is set at start of DC analysis.
    3 ac_position Position to which switch is set at start of AC analysis.
    4 tran_position Position to which switch is set at start of transient analysis.
    5 ic_position Position to which switch is set at start of IC analysis (precedes transient analysis).
    6 offset=0 Offset voltage in series with common terminal.
    7 m=1.0 Multiplicity factor.


    =================
    Output Parameters
    =================

    1 present_position Current switch position.


    ===============
    Parameter Index
    ===============

    ac_position ........... I-3 ic_position ........... I-5 offset ................ I-6 present_position ...... O-1
    dc_position ........... I-2 m ..................... I-7 position .............. I-1 tran_position ......... I-4

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • eashwar g
    eashwar g over 10 years ago
    i am in cadence environment .. but i didnt get these.. thanks for the data sir, .. one more query ,can we control the switch based on time.i.e for 10seconds in position 1 and next 10seconds in position2
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 10 years ago

    Dear eashwar,

    > one more query ,can we control the switch based on time.i.e for 10seconds in position 1 and next 10seconds in position2

    To my limited knowledge, I do not believe so. One possible solution is to use multiple switches under the control of different voltage sources. Each voltage source will independently activate each switch to provide the transfer function you desire.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    There seems to be some misunderstanding here. The sp*tswitch components from analogLib are the "switch" component in spectre, as Shawn pointed out. The are not controlled by voltages (so the sp3tswitch doesn't have 1V, 2V, 3V inputs). What the switch component does is allow you to set the switch in different positions for different analyses. The primary idea behind this is to allow you to (say) have the switch in one position for DC, but different for AC. This was a traditional approach used for measuring open loop gain (close the loop for DC, open for AC), but a better approach for that problem is to use the stb (stability) analysis in spectre instead, as this keeps the loop closed all the time and so models the loading effects properly.

    There may be other useful applications for this switch, but they are relatively rare. The different variants in analogLib just have different numbers of throws - the sp3tswitch is a single pole three throw switch, so each switch has four positions - open, or the three different closed positions - hence the 0,1,2,3 values for each analysis.

    If you want a voltage controlled switch, the analogLib component is called switch (rather confusingly) which corresponds to spectre's "relay" component.

    Documentation on analogLib components can be found by using the Help from within Virtuoso, or running `cds_root virtuoso`/tools/bin/cdnshelp and then navigating to find "Analog Library Reference" (you could probably use various searches to find that manual). 

    Also, you should (as Shawn suggested) be able to run "spectre -h XXX" where XXX is the component name (e.g. switch, relay) in a UNIX terminal. If that doesn't work, look carefully at your setup. The same information is in the spectre documentation, but if spectre can't be found from the command line, then I suspect you wouldn't be able to find cdnshelp from the command line either. You may be doomed.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information