How to measure rin/rout using spectre?

E

Erik Wanta

Guest
I have a simple bjt diff pair. I know that I can run spectre with the
SP analysis and get Z11 for the input impedance, but I was wondering
if there is a way that I can get the input impedance with the XF
analysis as I can with .TF in hspice. Any ideas?
---
Erik

From: Andrew Beckett (andrewb@DELETETHISBITcadence.com)
Subject: Re: How to measure rin/rout using spectre?
View: Complete Thread (2 articles)
Original Format
Newsgroups: comp.cad.cadence
Date: 2002-03-20 09:14:57 PST

Hi Vincent,

I'm not entirely certain what it is you're trying to do, but spectre's
"sp" analysis (S parameter) analysis is probably the analysis for the
job. Read up on this in cdsdoc/openbook.

Regards,

Andrew.

On Sat, 16 Mar 2002 13:46:19 -0400, "Vincent" <hb_huang@hotmail.com>
wrote:

Hi, there,

Does anyone know whether spectre offers the function of measuring
input
impedance seeing into any internal node of a specific circuit? Your
help
will be deeply appreciated.


Vincent
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
You can certainly get the input/output impedance and gain using xf analysis:


//

r1 ( 1 2 ) resistor r=1K
r2 ( 2 0 ) resistor r=500

#ifndef INPUT
v1 ( 1 0 ) vsource dc=1
#endif

#ifdef INPUT
analysisTF2 (1 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#else
analysisTF1 (2 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#endif

With this example, if you do:

spectre -E testtf.scs

you'll get xf results for node 2 which gives 333.3 V/A (i.e. ohms), and v1:p
which is 0.333 (i.e. the gain).

spectre -E -DINPUT testtf.scs

You'll get xf results for node 1 which gives 1500 V/A. You need to
do an analysis with the xf back to the input, but with the input source removed
(because otherwise this shorts out the input being a zero-impedance source).

Now this is only true in a simple case as shown as above. If there's no direct
coupling between the input and output, and you don't want to find the gain, you
can do two XF analyses, and not have a source at the input.

Or of course you could do an sp analysis.

Andrew.


On 7 Sep 2003 18:42:21 -0700, erikwanta@starband.net (Erik Wanta) wrote:

I have a simple bjt diff pair. I know that I can run spectre with the
SP analysis and get Z11 for the input impedance, but I was wondering
if there is a way that I can get the input impedance with the XF
analysis as I can with .TF in hspice. Any ideas?
---
Erik

From: Andrew Beckett (andrewb@DELETETHISBITcadence.com)
Subject: Re: How to measure rin/rout using spectre?
View: Complete Thread (2 articles)
Original Format
Newsgroups: comp.cad.cadence
Date: 2002-03-20 09:14:57 PST

Hi Vincent,

I'm not entirely certain what it is you're trying to do, but spectre's
"sp" analysis (S parameter) analysis is probably the analysis for the
job. Read up on this in cdsdoc/openbook.

Regards,

Andrew.

On Sat, 16 Mar 2002 13:46:19 -0400, "Vincent" <hb_huang@hotmail.com
wrote:

Hi, there,

Does anyone know whether spectre offers the function of measuring
input
impedance seeing into any internal node of a specific circuit? Your
help
will be deeply appreciated.


Vincent
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
You mentioned the use of compiler directives. I have PCR 574128 open
to allow me to specify compiler directives in artist. I am able to
specify spectre command line options from Setup->Environment
userCmdLineOption in IC 50 33. I probably would have called the label
User Command Line Option instead of userCmdLineOption, but that is
minor.

I really want to give veriloga compiler directives. How do I give
veriloga compiler directives (not spectre compiler directives (I
thought they were the same))? I put -DTEST in the userCmdLineOption
field, but the following code doesn't pick it up. That is, it doesn't
set xx=1.

`include "constants.h"
`include "disciplines.h"

module deftest;

integer xx;

`ifdef TEST
xx=1;
`endif

analog begin

$strobe(xx);

if(xx==1)
$strobe("%d",xx);
end
endmodule
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<ggotlv0idllbqrut8kiqe6fmu8ien2kicd@4ax.com>...
You can certainly get the input/output impedance and gain using xf analysis:


//

r1 ( 1 2 ) resistor r=1K
r2 ( 2 0 ) resistor r=500

#ifndef INPUT
v1 ( 1 0 ) vsource dc=1
#endif

#ifdef INPUT
analysisTF2 (1 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#else
analysisTF1 (2 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#endif

With this example, if you do:

spectre -E testtf.scs

you'll get xf results for node 2 which gives 333.3 V/A (i.e. ohms), and v1:p
which is 0.333 (i.e. the gain).

spectre -E -DINPUT testtf.scs

You'll get xf results for node 1 which gives 1500 V/A. You need to
do an analysis with the xf back to the input, but with the input source removed
(because otherwise this shorts out the input being a zero-impedance source).

Now this is only true in a simple case as shown as above. If there's no direct
coupling between the input and output, and you don't want to find the gain, you
can do two XF analyses, and not have a source at the input.

Or of course you could do an sp analysis.

Andrew.


On 7 Sep 2003 18:42:21 -0700, erikwanta@starband.net (Erik Wanta) wrote:

I have a simple bjt diff pair. I know that I can run spectre with the
SP analysis and get Z11 for the input impedance, but I was wondering
if there is a way that I can get the input impedance with the XF
analysis as I can with .TF in hspice. Any ideas?
---
Erik

From: Andrew Beckett (andrewb@DELETETHISBITcadence.com)
Subject: Re: How to measure rin/rout using spectre?
View: Complete Thread (2 articles)
Original Format
Newsgroups: comp.cad.cadence
Date: 2002-03-20 09:14:57 PST

Hi Vincent,

I'm not entirely certain what it is you're trying to do, but spectre's
"sp" analysis (S parameter) analysis is probably the analysis for the
job. Read up on this in cdsdoc/openbook.

Regards,

Andrew.

On Sat, 16 Mar 2002 13:46:19 -0400, "Vincent" <hb_huang@hotmail.com
wrote:

Hi, there,

Does anyone know whether spectre offers the function of measuring
input
impedance seeing into any internal node of a specific circuit? Your
help
will be deeply appreciated.


Vincent
 
Erik,

PCR 646399 was filed recently by R&D to get the prompt changed to something
a little more readable.

As for the verilog-a problem, it doesn't use the C preprocessor - it's
effectively a verilog preprocessor (since it uses ticks instead of hashes), and
I don't believe there is a way of controlling the definitions from the command
line (as there is with verilog/ncvlog etc). That would be a good enhancement
though - either it could just take the cpp -D arguments and use those, or
have another argument. Anyway, I suggest you go through your normal
customer support route and request this.

Regards,

Andrew.


On 13 Sep 2003 15:27:47 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
You mentioned the use of compiler directives. I have PCR 574128 open
to allow me to specify compiler directives in artist. I am able to
specify spectre command line options from Setup->Environment
userCmdLineOption in IC 50 33. I probably would have called the label
User Command Line Option instead of userCmdLineOption, but that is
minor.

I really want to give veriloga compiler directives. How do I give
veriloga compiler directives (not spectre compiler directives (I
thought they were the same))? I put -DTEST in the userCmdLineOption
field, but the following code doesn't pick it up. That is, it doesn't
set xx=1.

`include "constants.h"
`include "disciplines.h"

module deftest;

integer xx;

`ifdef TEST
xx=1;
`endif

analog begin

$strobe(xx);

if(xx==1)
$strobe("%d",xx);
end
endmodule
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<ggotlv0idllbqrut8kiqe6fmu8ien2kicd@4ax.com>...
You can certainly get the input/output impedance and gain using xf analysis:


//

r1 ( 1 2 ) resistor r=1K
r2 ( 2 0 ) resistor r=500

#ifndef INPUT
v1 ( 1 0 ) vsource dc=1
#endif

#ifdef INPUT
analysisTF2 (1 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#else
analysisTF1 (2 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#endif

With this example, if you do:

spectre -E testtf.scs

you'll get xf results for node 2 which gives 333.3 V/A (i.e. ohms), and v1:p
which is 0.333 (i.e. the gain).

spectre -E -DINPUT testtf.scs

You'll get xf results for node 1 which gives 1500 V/A. You need to
do an analysis with the xf back to the input, but with the input source removed
(because otherwise this shorts out the input being a zero-impedance source).

Now this is only true in a simple case as shown as above. If there's no direct
coupling between the input and output, and you don't want to find the gain, you
can do two XF analyses, and not have a source at the input.

Or of course you could do an sp analysis.

Andrew.


On 7 Sep 2003 18:42:21 -0700, erikwanta@starband.net (Erik Wanta) wrote:

I have a simple bjt diff pair. I know that I can run spectre with the
SP analysis and get Z11 for the input impedance, but I was wondering
if there is a way that I can get the input impedance with the XF
analysis as I can with .TF in hspice. Any ideas?
---
Erik

From: Andrew Beckett (andrewb@DELETETHISBITcadence.com)
Subject: Re: How to measure rin/rout using spectre?
View: Complete Thread (2 articles)
Original Format
Newsgroups: comp.cad.cadence
Date: 2002-03-20 09:14:57 PST

Hi Vincent,

I'm not entirely certain what it is you're trying to do, but spectre's
"sp" analysis (S parameter) analysis is probably the analysis for the
job. Read up on this in cdsdoc/openbook.

Regards,

Andrew.

On Sat, 16 Mar 2002 13:46:19 -0400, "Vincent" <hb_huang@hotmail.com
wrote:

Hi, there,

Does anyone know whether spectre offers the function of measuring
input
impedance seeing into any internal node of a specific circuit? Your
help
will be deeply appreciated.


Vincent
--
Andrew Beckett
Senior Technical Leader
Custom IC Solutions
Cadence Design Systems Ltd
 
Andrew:
FYI
SR32574184 PCR647059
---
Erik

Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<kq4bmv0t2iqfc021lcgi0tsob09nsi0mdv@4ax.com>...
Erik,

PCR 646399 was filed recently by R&D to get the prompt changed to something
a little more readable.

As for the verilog-a problem, it doesn't use the C preprocessor - it's
effectively a verilog preprocessor (since it uses ticks instead of hashes), and
I don't believe there is a way of controlling the definitions from the command
line (as there is with verilog/ncvlog etc). That would be a good enhancement
though - either it could just take the cpp -D arguments and use those, or
have another argument. Anyway, I suggest you go through your normal
customer support route and request this.

Regards,

Andrew.


On 13 Sep 2003 15:27:47 -0700, erikwanta@starband.net (Erik Wanta) wrote:

Andrew:
You mentioned the use of compiler directives. I have PCR 574128 open
to allow me to specify compiler directives in artist. I am able to
specify spectre command line options from Setup->Environment
userCmdLineOption in IC 50 33. I probably would have called the label
User Command Line Option instead of userCmdLineOption, but that is
minor.

I really want to give veriloga compiler directives. How do I give
veriloga compiler directives (not spectre compiler directives (I
thought they were the same))? I put -DTEST in the userCmdLineOption
field, but the following code doesn't pick it up. That is, it doesn't
set xx=1.

`include "constants.h"
`include "disciplines.h"

module deftest;

integer xx;

`ifdef TEST
xx=1;
`endif

analog begin

$strobe(xx);

if(xx==1)
$strobe("%d",xx);
end
endmodule
---
Erik


Andrew Beckett <andrewb@DELETETHISBITcadence.com> wrote in message news:<ggotlv0idllbqrut8kiqe6fmu8ien2kicd@4ax.com>...
You can certainly get the input/output impedance and gain using xf analysis:


//

r1 ( 1 2 ) resistor r=1K
r2 ( 2 0 ) resistor r=500

#ifndef INPUT
v1 ( 1 0 ) vsource dc=1
#endif

#ifdef INPUT
analysisTF2 (1 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#else
analysisTF1 (2 0) xf stimuli=nodes_and_terminals save=lvl nestlvl=1
#endif

With this example, if you do:

spectre -E testtf.scs

you'll get xf results for node 2 which gives 333.3 V/A (i.e. ohms), and v1:p
which is 0.333 (i.e. the gain).

spectre -E -DINPUT testtf.scs

You'll get xf results for node 1 which gives 1500 V/A. You need to
do an analysis with the xf back to the input, but with the input source removed
(because otherwise this shorts out the input being a zero-impedance source).

Now this is only true in a simple case as shown as above. If there's no direct
coupling between the input and output, and you don't want to find the gain, you
can do two XF analyses, and not have a source at the input.

Or of course you could do an sp analysis.

Andrew.


On 7 Sep 2003 18:42:21 -0700, erikwanta@starband.net (Erik Wanta) wrote:

I have a simple bjt diff pair. I know that I can run spectre with the
SP analysis and get Z11 for the input impedance, but I was wondering
if there is a way that I can get the input impedance with the XF
analysis as I can with .TF in hspice. Any ideas?
---
Erik

From: Andrew Beckett (andrewb@DELETETHISBITcadence.com)
Subject: Re: How to measure rin/rout using spectre?
View: Complete Thread (2 articles)
Original Format
Newsgroups: comp.cad.cadence
Date: 2002-03-20 09:14:57 PST

Hi Vincent,

I'm not entirely certain what it is you're trying to do, but spectre's
"sp" analysis (S parameter) analysis is probably the analysis for the
job. Read up on this in cdsdoc/openbook.

Regards,

Andrew.

On Sat, 16 Mar 2002 13:46:19 -0400, "Vincent" <hb_huang@hotmail.com
wrote:

Hi, there,

Does anyone know whether spectre offers the function of measuring
input
impedance seeing into any internal node of a specific circuit? Your
help
will be deeply appreciated.


Vincent
 

Welcome to EDABoard.com

Sponsor

Back
Top