Menu

Transient Analysis

An Zou
2017-05-17
2017-05-17
  • An Zou

    An Zou - 2017-05-17

    Hi, all,

    I am using ngspice to do transient simulation.

    However, it seems that the transient simulation get stuck in a time point, just like the following shows.

    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06
    Reference value : 4.25000e-06

    thank you in advance,

    An

     
    • Justin Fisher

      Justin Fisher - 2017-05-17

      This can't be debugged without a circuit and control file if used.

      Can you please post a test case that demonstrates your issue, keeping it as
      simple as possible?

      --
      Kind regards,
      Justin Fisher.

      Sent from my phone.

       
      • An Zou

        An Zou - 2017-05-17

        I am sorry. The circuit is a little large.

         
  • An Zou

    An Zou - 2017-05-17
    PDN.cir
    
    *On-Chip-1st-Plane
    R1000000001_1000001001 1000000001 1000001001 2.500000e-02
    L1000001001_1000002001 1000001001 1000002001 2.911707e-15
    R1000002001_1000003001 1000002001 1000003001 2.500000e-02
    L1000003001_1000004001 1000003001 1000004001 2.911707e-15
    R1000000001_1001000001 1000000001 1001000001 2.500000e-02
    L1001000001_1002000001 1001000001 1002000001 2.911707e-15
    R1000002001_1001002001 1000002001 1001002001 2.500000e-02
    L1001002001_1002002001 1001002001 1002002001 2.911707e-15
    R1000004001_1001004001 1000004001 1001004001 2.500000e-02
    L1001004001_1002004001 1001004001 1002004001 2.911707e-15
    
    *On-Chip-2nd-Plane
    R1000000002_1000001002 1000000002 1000001002 2.500000e-02
    L1000001002_1000002002 1000001002 1000002002 2.911707e-15
    R1000002002_1000003002 1000002002 1000003002 2.500000e-02
    L1000003002_1000004002 1000003002 1000004002 2.911707e-15
    R1000000002_1001000002 1000000002 1001000002 2.500000e-02
    L1001000002_1002000002 1001000002 1002000002 2.911707e-15
    R1000002002_1001002002 1000002002 1001002002 2.500000e-02
    L1001002002_1002002002 1001002002 1002002002 2.911707e-15
    R1000004002_1001004002 1000004002 1001004002 2.500000e-02
    L1001004002_1002004002 1001004002 1002004002 2.911707e-15
    
    *On-Chip-3rd-Plane
    R1000000003_1000001003 1000000003 1000001003 2.500000e-02
    L1000001003_1000002003 1000001003 1000002003 2.911707e-15
    R1000002003_1000003003 1000002003 1000003003 2.500000e-02
    L1000003003_1000004003 1000003003 1000004003 2.911707e-15
    R1000000003_1001000003 1000000003 1001000003 2.500000e-02
    L1001000003_1002000003 1001000003 1002000003 2.911707e-15
    R1000002003_1001002003 1000002003 1001002003 2.500000e-02
    L1001002003_1002002003 1001002003 1002002003 2.911707e-15
    R1000004003_1001004003 1000004003 1001004003 2.500000e-02
    L1001004003_1002004003 1001004003 1002004003 2.911707e-15
    
    *On-Chip-4th-Plane
    R1000000004_1000001004 1000000004 1000001004 2.500000e-02
    L1000001004_1000002004 1000001004 1000002004 2.911707e-15
    R1000002004_1000003004 1000002004 1000003004 2.500000e-02
    L1000003004_1000004004 1000003004 1000004004 2.911707e-15
    R1000000004_1001000004 1000000004 1001000004 2.500000e-02
    L1001000004_1002000004 1001000004 1002000004 2.911707e-15
    R1000002004_1001002004 1000002004 1001002004 2.500000e-02
    L1001002004_1002002004 1001002004 1002002004 2.911707e-15
    R1000004004_1001004004 1000004004 1001004004 2.500000e-02
    L1001004004_1002004004 1001004004 1002004004 2.911707e-15
    
    *Power-Delivery-for-1st-plane
    R100_1000 100 1000 2.001600e-02
    L1000_1000000001 1000 1000000001 3.600000e-11
    R100_1001 100 1001 2.001600e-02
    L1001_1000002001 1001 1000002001 3.600000e-11
    R100_1002 100 1002 2.001600e-02
    L1002_1000004001 1002 1000004001 3.600000e-11
    R100_1003 100 1003 2.001600e-02
    L1003_1002000001 1003 1002000001 3.600000e-11
    R100_1004 100 1004 2.001600e-02
    L1004_1002002001 1004 1002002001 3.600000e-11
    R100_1005 100 1005 2.001600e-02
    L1005_1002004001 1005 1002004001 3.600000e-11
    
    *Load-Between-1st-2nd-plane
    C1000000001_1000000002 1000000001 1000000002 10.01e-09
    C1000002001_1000002002 1000002001 1000002002 10.01e-09
    C1000004001_1000004002 1000004001 1000004002 10.01e-09
    C1002000001_1002000002 1002000001 1002000002 10.01e-09
    C1002002001_1002002002 1002002001 1002002002 10.01e-09
    C1002004001_1002004002 1002004001 1002004002 10.01e-09
    I1000000001_1000000002 1000000001 1000000002 DC 10
    I1000002001_1000002002 1000002001 1000002002 DC 10
    I1000004001_1000004002 1000004001 1000004002 DC 10
    I1002000001_1002000002 1002000001 1002000002 DC 10
    I1002002001_1002002002 1002002001 1002002002 DC 10
    I1002004001_1002004002 1002004001 1002004002 DC 10
    
    *Load-Between-2nd-3rd-plane
    C1000000002_1000000003 1000000002 1000000003 10.01e-09
    C1000002002_1000002003 1000002002 1000002003 10.01e-09
    C1000004002_1000004003 1000004002 1000004003 10.01e-09
    C1002000002_1002000003 1002000002 1002000003 10.01e-09
    C1002002002_1002002003 1002002002 1002002003 10.01e-09
    C1002004002_1002004003 1002004002 1002004003 10.01e-09
    I1000000002_1000000003 1000000002 1000000003 DC 10
    I1000002002_1000002003 1000002002 1000002003 DC 10
    I1000004002_1000004003 1000004002 1000004003 DC 10
    I1002000002_1002000003 1002000002 1002000003 DC 10
    I1002002002_1002002003 1002002002 1002002003 DC 10
    I1002004002_1002004003 1002004002 1002004003 DC 10
    
    *Load-Between-3rd-4th-plane
    C1000000003_1000000004 1000000003 1000000004 10.01e-09
    C1000002003_1000002004 1000002003 1000002004 10.01e-09
    C1000004003_1000004004 1000004003 1000004004 10.01e-09
    C1002000003_1002000004 1002000003 1002000004 10.01e-09
    C1002002003_1002002004 1002002003 1002002004 10.01e-09
    C1002004003_1002004004 1002004003 1002004004 10.01e-09
    I1000000003_1000000004 1000000003 1000000004 DC 10
    I1000002003_1000002004 1000002003 1000002004 DC 10
    I1000004003_1000004004 1000004003 1000004004 DC 10
    I1002000003_1002000004 1002000003 1002000004 DC 10
    I1002002003_1002002004 1002002003 1002002004 DC 10
    I1002004003_1002004004 1002004003 1002004004 DC 10
    
    *Power-Delivery-for-4th-plane
    R0_2000 0 2000 2.001600e-02
    L2000_1000000004 2000 1000000004 3.600000e-11
    R0_2001 0 2001 2.001600e-02
    L2001_1000002004 2001 1000002004 3.600000e-11
    R0_2002 0 2002 2.001600e-02
    L2002_1000004004 2002 1000004004 3.600000e-11
    R0_2003 0 2003 2.001600e-02
    L2003_1002000004 2003 1002000004 3.600000e-11
    R0_2004 0 2004 2.001600e-02
    L2004_1002002004 2004 1002002004 3.600000e-11
    R0_2005 0 2005 2.001600e-02
    L2005_1002004004 2005 1002004004 3.600000e-11
    
    .MODEL switch1 SW (RON=0.01 ROFF=1e6 VT=0.99 VH=0)
    
    *SM1 IVR
    *Phase-1-Switches
    switch1_1_1 1000000001 3000001 phase1_1 0 switch1 off
    switch1_1_2 1000000002 3001001 phase1_1 0 switch1 off
    switch1_1_3 1000000003 3002001 phase1_1 0 switch1 off
    switch1_1_4 1000000002 4000001 phase1_1 0 switch1 off
    switch1_1_5 1000000003 4001001 phase1_1 0 switch1 off
    switch1_1_6 1000000004 4002001 phase1_1 0 switch1 off
    *Phase-2-Switches
    switch1_2_1 1000000002 3000001 phase1_2 0 switch1 off
    switch1_2_2 1000000003 3001001 phase1_2 0 switch1 off
    switch1_2_3 1000000004 3002001 phase1_2 0 switch1 off
    switch1_2_4 1000000001 4000001 phase1_2 0 switch1 off
    switch1_2_5 1000000002 4001001 phase1_2 0 switch1 off
    switch1_2_6 1000000003 4002001 phase1_2 0 switch1 off
    *Left-Capacitors
    C3000001_3001001 3000001 3001001 2e-6
    C3001001_3002001 3001001 3002001 2e-6
    *Right-Capacitors
    C4000001_4001001 4000001 4001001 2e-6
    C4001001_4002001 4001001 4002001 2e-6
    
    *SM2 IVR
    *Phase-1-Switches
    switch2_1_1 1000002001 3000002 phase2_1 0 switch1 off
    switch2_1_2 1000002002 3001002 phase2_1 0 switch1 off
    switch2_1_3 1000002003 3002002 phase2_1 0 switch1 off
    switch2_1_4 1000002002 4000002 phase2_1 0 switch1 off
    switch2_1_5 1000002003 4001002 phase2_1 0 switch1 off
    switch2_1_6 1000002004 4002002 phase2_1 0 switch1 off
    *Phase-2-Switches
    switch2_2_1 1000002002 3000002 phase2_2 0 switch1 off
    switch2_2_2 1000002003 3001002 phase2_2 0 switch1 off
    switch2_2_3 1000002004 3002002 phase2_2 0 switch1 off
    switch2_2_4 1000002001 4000002 phase2_2 0 switch1 off
    switch2_2_5 1000002002 4001002 phase2_2 0 switch1 off
    switch2_2_6 1000002003 4002002 phase2_2 0 switch1 off
    *Left-Capacitors
    C3000002_3001002 3000002 3001002 2e-6
    C3001002_3002002 3001002 3002002 2e-6
    *Right-Capacitors
    C4000002_4001002 4000002 4001002 2e-6
    C4001002_4002002 4001002 4002002 2e-6
    
    *SM3 IVR
    *Phase-1-Switches
    switch3_1_1 1000004001 3000003 phase3_1 0 switch1 off
    switch3_1_2 1000004002 3001003 phase3_1 0 switch1 off
    switch3_1_3 1000004003 3002003 phase3_1 0 switch1 off
    switch3_1_4 1000004002 4000003 phase3_1 0 switch1 off
    switch3_1_5 1000004003 4001003 phase3_1 0 switch1 off
    switch3_1_6 1000004004 4002003 phase3_1 0 switch1 off
    *Phase-2-Switches
    switch3_2_1 1000004002 3000003 phase3_2 0 switch1 off
    switch3_2_2 1000004003 3001003 phase3_2 0 switch1 off
    switch3_2_3 1000004004 3002003 phase3_2 0 switch1 off
    switch3_2_4 1000004001 4000003 phase3_2 0 switch1 off
    switch3_2_5 1000004002 4001003 phase3_2 0 switch1 off
    switch3_2_6 1000004003 4002003 phase3_2 0 switch1 off
    *Left-Capacitors
    C3000003_3001003 3000003 3001003 2e-6
    C3001003_3002003 3001003 3002003 2e-6
    *Right-Capacitors
    C4000003_4001003 4000003 4001003 2e-6
    C4001003_4002003 4001003 4002003 2e-6
    
    *SM4 IVR
    *Phase-1-Switches
    switch4_1_1 1002000001 3000004 phase4_1 0 switch1 off
    switch4_1_2 1002000002 3001004 phase4_1 0 switch1 off
    switch4_1_3 1002000003 3002004 phase4_1 0 switch1 off
    switch4_1_4 1002000002 4000004 phase4_1 0 switch1 off
    switch4_1_5 1002000003 4001004 phase4_1 0 switch1 off
    switch4_1_6 1002000004 4002004 phase4_1 0 switch1 off
    *Phase-2-Switches
    switch4_2_1 1002000002 3000004 phase4_2 0 switch1 off
    switch4_2_2 1002000003 3001004 phase4_2 0 switch1 off
    switch4_2_3 1002000004 3002004 phase4_2 0 switch1 off
    switch4_2_4 1002000001 4000004 phase4_2 0 switch1 off
    switch4_2_5 1002000002 4001004 phase4_2 0 switch1 off
    switch4_2_6 1002000003 4002004 phase4_2 0 switch1 off
    *Left-Capacitors
    C3000004_3001004 3000004 3001004 2e-6
    C3001004_3002004 3001004 3002004 2e-6
    *Right-Capacitors
    C4000004_4001004 4000004 4001004 2e-6
    C4001004_4002004 4001004 4002004 2e-6
    
    *SM5 IVR
    *Phase-1-Switches
    switch5_1_1 1002002001 3000005 phase5_1 0 switch1 off
    switch5_1_2 1002002002 3001005 phase5_1 0 switch1 off
    switch5_1_3 1002002003 3002005 phase5_1 0 switch1 off
    switch5_1_4 1002002002 4000005 phase5_1 0 switch1 off
    switch5_1_5 1002002003 4001005 phase5_1 0 switch1 off
    switch5_1_6 1002002004 4002005 phase5_1 0 switch1 off
    *Phase-2-Switches
    switch5_2_1 1002002002 3000005 phase5_2 0 switch1 off
    switch5_2_2 1002002003 3001005 phase5_2 0 switch1 off
    switch5_2_3 1002002004 3002005 phase5_2 0 switch1 off
    switch5_2_4 1002002001 4000005 phase5_2 0 switch1 off
    switch5_2_5 1002002002 4001005 phase5_2 0 switch1 off
    switch5_2_6 1002002003 4002005 phase5_2 0 switch1 off
    *Left-Capacitors
    C3000005_3001005 3000005 3001005 2e-6
    C3001005_3002005 3001005 3002005 2e-6
    *Right-Capacitors
    C4000005_4001005 4000005 4001005 2e-6
    C4001005_4002005 4001005 4002005 2e-6
    
    *SM6 IVR
    *Phase-1-Switches
    switch6_1_1 1002004001 3000006 phase6_1 0 switch1 off
    switch6_1_2 1002004002 3001006 phase6_1 0 switch1 off
    switch6_1_3 1002004003 3002006 phase6_1 0 switch1 off
    switch6_1_4 1002004002 4000006 phase6_1 0 switch1 off
    switch6_1_5 1002004003 4001006 phase6_1 0 switch1 off
    switch6_1_6 1002004004 4002006 phase6_1 0 switch1 off
    *Phase-2-Switches
    switch6_2_1 1002004002 3000006 phase6_2 0 switch1 off
    switch6_2_2 1002004003 3001006 phase6_2 0 switch1 off
    switch6_2_3 1002004004 3002006 phase6_2 0 switch1 off
    switch6_2_4 1002004001 4000006 phase6_2 0 switch1 off
    switch6_2_5 1002004002 4001006 phase6_2 0 switch1 off
    switch6_2_6 1002004003 4002006 phase6_2 0 switch1 off
    *Left-Capacitors
    C3000006_3001006 3000006 3001006 2e-6
    C3001006_3002006 3001006 3002006 2e-6
    *Right-Capacitors
    C4000006_4001006 4000006 4001006 2e-6
    C4001006_4002006 4001006 4002006 2e-6
    
    V_phase1_1 phase1_1 0 pulse(0 1 0 1ps 1ps 40ns 100ns)
    V_phase1_2 phase1_2 0 pulse(0 1 50ns 1ps 1ps 40ns 100ns)
    
    V_phase2_1 phase2_1 0 pulse(0 1 0 2ps 2ps 40ns 100ns)
    V_phase2_2 phase2_2 0 pulse(0 1 50ns 1ps 1ps 40ns 100ns)
    
    V_phase3_1 phase3_1 0 pulse(0 1 0 3ps 3ps 40ns 100ns)
    V_phase3_2 phase3_2 0 pulse(0 1 50ns 3ps 3ps 40ns 100ns)
    
    V_phase4_1 phase4_1 0 pulse(0 1 0 3ps 3ps 40ns 100ns)
    V_phase4_2 phase4_2 0 pulse(0 1 50ns 3ps 3ps 40ns 100ns)
    
    V_phase5_1 phase5_1 0 pulse(0 1 0 3ps 3ps 40ns 100ns)
    V_phase5_2 phase5_2 0 pulse(0 1 50ns 3ps 3ps 40ns 100ns)
    
    V_phase6_1 phase6_1 0 pulse(0 1 0 3ps 3ps 40ns 100ns)
    V_phase6_2 phase6_2 0 pulse(0 1 50ns 3ps 3ps 40ns 100ns)
    
    *Source
    VIN 100 0 DC 3
    
    .option trtol=7
    
    .tran 20PS 100US
    
    .END
    
     

    Last edit: Robert Larice 2017-05-18
    • marcel hendrix

      marcel hendrix - 2017-05-17

      Dear An,

      Could you post important text between
      "~~~" and "~~~" delimiter strings?

      * Like this
      

      ... or attach a file with the netlist.
      The Forum formats messages in a
      way that causes all kind of trouble.

      -marcel

       
      • marcel hendrix

        marcel hendrix - 2017-05-18

        This circuit forces very small timesteps (200ps) relative to its
        total simulation interval (100us).
        It does not run with other simulators, e.g. LTspice + normal
        solver (64bit floats). It does run with LTspice's alternative
        solver (80-bits).

        What signal needs the 200ps max step? What would be an insightful
        plot/print statement?

        -marcel

         
        • marcel hendrix

          marcel hendrix - 2017-05-18

          The problem goes away when the GEAR method is selected and TRTOL is set to a reasonable value. After this, TSTEP does not have to be 200ps for detailed results.

          BTW: there is only something interesting to see when the UIC option is added (e.g. the inrush current is an 80A spike). I cut the total simulation span because the initial transient dies out in about 10us. You should't have to to wait for a >4 GByte raw file with zeros :-) The simulation takes ~360ms in total after these changes.

          ...
          .option trtol=1 sparse method=gear reltol=1m
          
          .tran 200ps 10us uic
          
          .END
          

          -marcel

           

          Last edit: marcel hendrix 2017-05-18
          • An Zou

            An Zou - 2017-05-18

            Hi, Marcel,

            Thank you so much. The problem is solved.

            I am doing a power delievery network analysis using ngspice.

            Auctually, I wrote a c problem to call the ngspice shared library and change the current load very 10ns.

            Thank you again,

            An

             

Log in to post a comment.