5 Replies Latest reply on Dec 16, 2014 12:03 PM by ron_tinnell

    Saving Small Signal Parameters in Eldo

    jwegman

      Hello,

       

      I'm trying to plot gm/id in Eldo using the Pyxis GUI.  However, I can't seem to figure out how to access gm.  In HSPICE, I would've done something like the following:

       

      .probe gm_id = par('gmo(X1)/i(X1)')

       

      ...but this doesn't work.

       

      Thanks,

      Jake

        • 1. Re: Saving Small Signal Parameters in Eldo
          ron_tinnell

          Hello Jake,

           

          You can add additional commands to extract and plot this. In my example, I am extracting this from device M3 which lies inside subckt X_OPAMP1. Here is the syntax.

           

          .EXTRACT DC LABEL=GM_OVER_ID_M3 GM(X_OPAMP1.M3)/ID(X_OPAMP1.M3)
          .PLOT EXTRACT EXTRACT(GM_OVER_ID_M3)

           

          Here is a screen shot of the dialog box.

           

          Regards,

          Ron

           

          SetupSimulationMeasures.jpeg

          dts0101086138

          • 2. Re: Saving Small Signal Parameters in Eldo
            jwegman

            Hi Ron,

             

            Sorry, it has been awhile since I've been able to get back to this.  I'm still having issues.  My netlist is painfully simple:

             

            .CONNECT GROUND 0

             

            *

            * Globals.

            *

            .global GROUND

             

             

            *

            * Component pathname : $ONC18/devices/default/nmos1p8v [ELDOSPICE]

            *

            *       .include /opt/onc18_1_10p3/onc18/devices/default/nmos1p8v/onc18__nmos1p8v

             

            *

            * MAIN CELL: Component pathname : $ONSEMIEVAL/test/gm_id

            *

                    X_MN1 VIN VIN GROUND GROUND onc18__nmos1p8v lg=0.18 wg=10 ng=1 ss=0

            +  sd=0 sf=1 lg2ctd=0.16 lg2cts=0.16 ad=0.202 pd=1.8 as=0.202 ps=1.8 custom_ds=0

            +  matched=1 analog_prec=0 mult=1 parasitics=1 m=1

             

            Now, if I try to enter in a similar expression as to what you have:

             

            .EXTRACT DC LABEL=GM_OVER_ID GM(X_MN1)/ID(X_MN1)

            .PLOT EXTRACT EXTRACT(GM_OVER_ID)

             

            I get the following error:

             

            Warning 916: Unable to parse expression . OBJECT "X_MN1" not yet defined.

             

            I get it for each time I use X_MN1.

             

            What am I doing wrong?

             

            Thanks,

            Jake

            • 3. Re: Saving Small Signal Parameters in Eldo
              vernon_greer

              Your instance is named X_MN1. That leading "X" means it is a subcircuit. Your include statement is probably including a subcircuit model for an NFET. That will complicate things a bit.

               

              First, confirm that your onc18__nmos1p8v model is a subcircuit. Assuming it is, chances are that there's a MOSFET and a few sources, capacitors, and whatnot inside the subcircuit. Take note of the instance name of the MOSFET in this subcircuit model. I'll pretend it's got a really original name like nmos1.

               

              So, assuming you've confirmed you are using a subcircuit model, you'll need to modify the statements a bit. You'll want to use the subcircuit drain port current for ID. Take note of what your subcircuit model calls the drain port; hopefully, it's sensibly callled d. Using the names I'm assuming, the extract statements you need should look more like this:

              .extract dc label=gm_over_id gm(x_mn1.nmos1)/i(x_mn1.d)

              .plot extract extract(gm_over_id)

               

              Take a look and hope you don't have to deal with series or parallel devices in the model.

              • 4. Re: Saving Small Signal Parameters in Eldo
                jwegman

                Hello Vernon,

                 

                Thanks for the advice!  I'm new to Eldo and hadn't used a flavor of Spice in quite awhile, so I forgot that X indicates a subcircuit.  That was indeed my issue, and now I'm able to simulate what I need to.

                 

                Warmest regards,

                Jake

                • 5. Re: Saving Small Signal Parameters in Eldo
                  ron_tinnell

                  Hello,

                   

                  Thanks for the tip Vernon. Most devices models are now subckts and you have to use the syntax that references the actual device inside the model. I am glad that you got this working. Please come back again if you need further help.

                   

                  Thanks,

                  Ron