[SOLVED] Making a mathematical expression between two parameters in ADE GXL output setup windo

Status
Not open for further replies.

Junus2012

Advanced Member level 5
Joined
Jan 9, 2012
Messages
1,552
Helped
47
Reputation
98
Reaction score
53
Trophy points
1,328
Location
Italy
Activity points
15,235
Hello,

I am running the Circuit optimization from ADE GXL, I am practising simple two-stage operational amplifier as it has shown below,

I want to include a formula in my output setup the M6 drain current is near or equal to M7 drain current. This condition for the optimizer will assure that my circuit will have a very small offset voltage.

It is very basic to bring both currents to the output setup but I don't know how to make this expression formula between them,



Thank you
 

To avoid "systematic" offset, you need to make VD4 equal to VD3.
Now VG6= VD4=VD3=VG3 -> I6/I3= (W/L)6 / (W/L)3 eqn.1
VG7= VG5 -> I7/I5 = (W/L)7 / (W/L)5 eqn.2
But I5= 2 * I3 eqn.3
substituting eqm.3 into 2 yields :
I7 /(2 *I3) = (W/L)7 / (W/L)5 eqn.4
dividing eqn.1 by eqn.4 yields:
(W/L)6 / (W/L)3 = 2 * (W/L)7 / (W/L)5
This is the condition for zero systematic offset.
 
abs(I(M7)-I(M6)).
Or abs(I(M7)-I(M6))/abs(I(M7))

However don’t expect good performance of optimizer in Cadence ADE-GXL.
It is discrete optimizer not continuous one.
And performance itself is not good as optimizer.
 
Dear Pancho,

Thank you very much for your reply

I have just saw a former post from you criticising the performance of cadencde optimizer,

I will not rely on the optimizer for finding a solution for me from scratch, rather I would use the local optimization aroung my solutions,

The main problem for me that whnever I design with typical mean values, when I run the corner simulation (WP,WS,WO,...) and under temperature range, my design will fail

That is why I will dedicate the optimizer to correct my design against these corner arounf my solution

Back to your solution of my expression, abs(I(M7)-I(M6)) means I should give it a value "minimize" to zero which makes IM6 = IM7, thank you it is clear

but I didn't understand why you devided it by IM7 in your second solution

Thank you once again
 

rather I would use the local optimization aroung my solutions
Can you understand discrete optimizer ?
You have to set precise grids.
For example, assume 1 <= x <= 10.
We don't have to set delta_x in continuous optimizer.
Here optimizer samples x in adaptive step or randomly between 1 and 10.

However we have to set very small delta_x manually in discrete optimizer.
Here optimizer samples x in equi-spaced step of delta_x.
For example, if delta_x is 1, optimizer never set x as intermediate value such as 2.1.
It is too unefficient.

but I didn't understand why you devided it by IM7 in your second solution
Relative deviation or relative torelance.

For example, consider following case.
I(M7)=1e-6
I(M6)=1e-12
abs(I(M7)-I(M6))=1e-6 is very small, although I(M7) is not equal to I(M6).

abs(I(M7)-I(M6))/abs(I(M7))=1

This is very basic thing of numerical computation.
 
Last edited:

Thank you Pancho for your rich information and I am sorry not to rate your help as my rating is finished today

- - - Updated - - -


Thank you deep

yes it is the same condition that lead to IM6 = IM7 that I was searching for
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…