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
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
 

wjxcom

Full Member level 5
Joined
Sep 7, 2005
Messages
278
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,298
Activity points
3,798
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!
 

skythunder

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
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
 

wjxcom

Full Member level 5
Joined
Sep 7, 2005
Messages
278
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,298
Activity points
3,798
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
 

hr_rezaee

Advanced Member level 3
Joined
Oct 6, 2004
Messages
751
Helped
109
Reputation
218
Reaction score
24
Trophy points
1,298
Location
Iran-Mashhad
Activity points
4,036
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
 

wjxcom

Full Member level 5
Joined
Sep 7, 2005
Messages
278
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,298
Activity points
3,798
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!
 

hr_rezaee

Advanced Member level 3
Joined
Oct 6, 2004
Messages
751
Helped
109
Reputation
218
Reaction score
24
Trophy points
1,298
Location
Iran-Mashhad
Activity points
4,036
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

 

wjxcom

Full Member level 5
Joined
Sep 7, 2005
Messages
278
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,298
Activity points
3,798
Hi hr_rezaee: would you tell me how to use the .OP?
 

skythunder

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
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
 

hr_rezaee

Advanced Member level 3
Joined
Oct 6, 2004
Messages
751
Helped
109
Reputation
218
Reaction score
24
Trophy points
1,298
Location
Iran-Mashhad
Activity points
4,036
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
 

wjxcom

Full Member level 5
Joined
Sep 7, 2005
Messages
278
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,298
Activity points
3,798
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!
 

hr_rezaee

Advanced Member level 3
Joined
Oct 6, 2004
Messages
751
Helped
109
Reputation
218
Reaction score
24
Trophy points
1,298
Location
Iran-Mashhad
Activity points
4,036
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
 

iexplorer

Member level 3
Joined
Aug 8, 2007
Messages
63
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,646
How about spectre? Can I do it in analog environment?
 

yschuang

Full Member level 3
Joined
Feb 1, 2004
Messages
183
Helped
15
Reputation
30
Reaction score
2
Trophy points
1,298
Activity points
1,002
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
 

sissi

Member level 4
Joined
Feb 25, 2006
Messages
70
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,716
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.
 

sh.shadmand

Newbie level 3
Joined
Aug 29, 2012
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
iran_khoy
Activity points
1,296
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
 

wjxcom

Full Member level 5
Joined
Sep 7, 2005
Messages
278
Helped
4
Reputation
8
Reaction score
3
Trophy points
1,298
Activity points
3,798
Hi sh.shadmand: I think you can use any time to simulation, but you must confirm that the output common voltage is stable!
 

sh.shadmand

Newbie level 3
Joined
Aug 29, 2012
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
iran_khoy
Activity points
1,296
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

Top