Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to measure a fully differential OPAMP with SC_CMFB

Status
Not open for further replies.

skythunder

Junior Member level 3
Junior Member level 3
Joined
Jul 2, 2007
Messages
28
Helped
4
Reputation
8
Reaction score
0
Trophy points
1,281
Activity points
1,548
vdb hspice differential fully acout=0

Hi, all,

I want to know how to measure the characteristics of a fully differential OPAMP with switched capacitor common mode feedback network. Obviously, we can't use continous time measurement methods(AC sweep) to find DC gain , Unity gain bandwidth, CMRR, PSRR,etc.

Are there any specifial methods to measure those parameters of an OPAMP, or just using transient simulation to approximate them ?

Thanks
 

Hi, if you use Hspice, you can perform TRAN analysis, and save the operating points of the circuit to a file, and then you can load the file and perform the AC analysis. For example, you perform TRAN analysis:
.SAVE TYPE=IC FILE=RAIL2RAIL.IC LEVEL=ALL TIME=25U
.TRAN 0.1NS 30U START=0U

and then you can perform the AC analysis
.AC DEC 10 1 100MEG *SWEEP CC 0.5P 3P 0.1P
.LOAD RAIL2RAIL.IC0

you can get the help from the Hspice manul to understand the .save and .load!

regard!
 

wjxcom said:
Hi, if you use Hspice, you can perform TRAN analysis, and save the operating points of the circuit to a file, and then you can load the file and perform the AC analysis. For example, you perform TRAN analysis:
.SAVE TYPE=IC FILE=RAIL2RAIL.IC LEVEL=ALL TIME=25U
.TRAN 0.1NS 30U START=0U

and then you can perform the AC analysis
.AC DEC 10 1 100MEG *SWEEP CC 0.5P 3P 0.1P
.LOAD RAIL2RAIL.IC0

you can get the help from the Hspice manul to understand the .save and .load!

regard!

Thank you so much, wjxcom! I will try your method. And I want to know whether this way is useful for the simulation of other switched capacitor circuits, like SC filters, Since simulating the frequency response of SC circuits in Hspice within cadence is unavailable
 

Hi hr_rezaee: I think .op time can only print the operating points, for example, .op 25u can print the operating pointsat 25u. Do you have another way to simulate the fully differential OPAMP with SC_CMFB?

regards
 

wjxcom said:
Hi hr_rezaee: I think .op time can only print the operating points, for example, .op 25u can print the operating pointsat 25u. Do you have another way to simulate the fully differential OPAMP with SC_CMFB?
regards
hi
.op time can print the operating points, but it can cause the .ac analysis in specific time.
try it.
regards
 

Hi hr_rezaee: I try to use your method, the netlist is:
.PROTECT
.OP 28u
.TRAN 0.1NS 30U START=0U
.AC DEC 10 1 200MEG
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.END

but the result is not right!
 

wjxcom said:
.SAVE TYPE=IC FILE=RAIL2RAIL.IC LEVEL=ALL TIME=25U
.TRAN 0.1NS 30U START=0U

and then you can perform the AC analysis
.AC DEC 10 1 100MEG *SWEEP CC 0.5P 3P 0.1P
.LOAD RAIL2RAIL.IC0


wjxcom said:
PROTECT
.OP 28u
.TRAN 0.1NS 30U START=0U
.AC DEC 10 1 200MEG
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.END

are these equal netlist?
I think no

 

Hi hr_rezaee: would you tell me how to use the .OP?
 
wjxcom, would you mind helping me analysis another SC circuit and giving me some advice ? the link is just another topic in this forum:

thanks
 

wjxcom said:
Hi hr_rezaee: would you tell me how to use the .OP?
hi
could you test this two solutions on one netlist
and then report the results?
thanks
regards
 

Hi hr_rezaee: the circuit, the netlist of the circuit and the simulation result can be found at the attachment whose name is simulation.rar.

when I use the netlist as follows:
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.LOAD CASCODE.IC0
.SAVE TYPE=IC FILE=CASCODE.IC LEVEL=ALL TIME=25U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.AC DEC 10 1 60MEG *SWEEP CC 1P 10P 1P

the .lis file is cascode_opa_ac1.lis, and the wave is Aim_ Printing1.pdf;


when I use the netlist as follows:
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.OP 25u
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.AC DEC 10 1 60MEG *SWEEP CC 1P 10P 1P

the .lis file is cascode_opa_ac2.lis, and the wave is Aim_ Printing2.pdf;

It is clearly that these two results is different!

Thanx you again to help me!
 

Hi
I tested it.

first try this netlist

when I use the netlist as follows:
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.LOAD CASCODE.IC0
.SAVE TYPE=IC FILE=CASCODE.IC LEVEL=ALL TIME=25U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.AC DEC 10 1 60MEG *SWEEP CC 1P 10P 1P

then save the OUTD ac analysis.
then delete all fles except *.sp and model.
then try below netlist:

.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.OP 25u
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.AC DEC 10 1 60MEG *SWEEP CC 1P 10P 1P


you can see that two plots are the same.
Don't use .op 25u and .load simultaneously.

regards
 

How about spectre? Can I do it in analog environment?
 

Hello, hr_rezaee

I did simulations with two files you provided but did not get same plot. The following two netlists are my control signals and analysis. Can you show me
how to fix the problem? Thanks

1.
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.LOAD MYCASCODE.IC0
.SAVE TYPE=IC FILE=MYCASCODE.IC LEVEL=ALL TIME=25U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.OP 25u
.LIB 'cmos35.txt' nominal
.AC DEC 10 1 60MEG
.print vdb(outd)
.END


2.
.TRAN 0.1NS 30U START=0U
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.OP 25u
.LIB 'cmos35.txt' nominal
.ac dec 10 1 60meg
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.print vdb(outd)
.PZ V(OUTD) VID
.END
 

wjxcom said:
Hi, if you use Hspice, you can perform TRAN analysis, and save the operating points of the circuit to a file, and then you can load the file and perform the AC analysis. For example, you perform TRAN analysis:
.SAVE TYPE=IC FILE=RAIL2RAIL.IC LEVEL=ALL TIME=25U
.TRAN 0.1NS 30U START=0U

and then you can perform the AC analysis
.AC DEC 10 1 100MEG *SWEEP CC 0.5P 3P 0.1P
.LOAD RAIL2RAIL.IC0

you can get the help from the Hspice manul to understand the .save and .load!

regard!

sc_cmfb is a dynamic common mode feedback, how to choose the dc operating points. if u choose operating points randomly, the results are wrong.
 

Hi, if you use Hspice, you can perform TRAN analysis, and save the operating points of the circuit to a file, and then you can load the file and perform the AC analysis. For example, you perform TRAN analysis:
.SAVE TYPE=IC FILE=RAIL2RAIL.IC LEVEL=ALL TIME=25U
.TRAN 0.1NS 30U START=0U

and then you can perform the AC analysis
.AC DEC 10 1 100MEG *SWEEP CC 0.5P 3P 0.1P
.LOAD RAIL2RAIL.IC0

you can get the help from the Hspice manul to understand the .save and .load!

regard!

hi mr,wjxcom
wouid you tell me why you select time=25u for this simulatin?
thanks
 

Hi sh.shadmand: I think you can use any time to simulation, but you must confirm that the output common voltage is stable!
 

Hi hr_rezaee: the circuit, the netlist of the circuit and the simulation result can be found at the attachment whose name is simulation.rar.

when I use the netlist as follows:
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.LOAD CASCODE.IC0
.SAVE TYPE=IC FILE=CASCODE.IC LEVEL=ALL TIME=25U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.AC DEC 10 1 60MEG *SWEEP CC 1P 10P 1P

the .lis file is cascode_opa_ac1.lis, and the wave is Aim_ Printing1.pdf;


when I use the netlist as follows:
.NOISE V(OUTD) VID 10
.PRINT NOISE ONOISE INOISE DB(ONOISE) DB(INOISE)
.TRAN 0.1NS 30U START=0U
.PZ V(OUTD) VID
*.OPTIONS POST BRIEF NOMOD CAPTAB ACOUT=0 CSDF=2 PROBE
.PROTECT
.OP 25u
.LIB 'D:\EXERCISE\DESIGNOPA\CSMC06\CSMC.LIB' TT
.AC DEC 10 1 60MEG *SWEEP CC 1P 10P 1P

the .lis file is cascode_opa_ac2.lis, and the wave is Aim_ Printing2.pdf;

It is clearly that these two results is different!

Thanx you again to help me!

hi dear wjxcom.would you explain me the structure of balun that you used in your netlist?
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top