Op-Amp convex optimization question

Click For Summary

Discussion Overview

The discussion revolves around understanding specific equations related to convex optimization in operational amplifiers (OP-AMPs), particularly focusing on an equation from a document that participants are analyzing. The scope includes theoretical aspects of circuit design and practical implementation using MATLAB for optimization.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning
  • Homework-related

Main Points Raised

  • One participant seeks clarification on equation (9) from the document, specifically why only the transistor widths (W) and lengths (L) appear in the equation and the reasoning behind the equality stated.
  • Another participant notes that the channel width and length are critical for transistor matching in the circuit, suggesting that geometries must be consistent for optimal performance.
  • A participant speculates that the fraction in question may relate to the ratio of drain current equations for NMOS transistors in saturation, with other factors canceling out.
  • One participant shares their MATLAB code for convex optimization and expresses confusion over a "Failed" status in the output, asking for insights into potential issues with their implementation.
  • Constraints and conditions from the document are referenced in the context of the MATLAB code, indicating a reliance on specific parameters and equations provided in the source material.

Areas of Agreement / Disagreement

Participants have not reached a consensus on the specific reasoning behind the equations discussed, and multiple viewpoints regarding the interpretation of the equations and the MATLAB implementation remain. The discussion is ongoing and unresolved.

Contextual Notes

The discussion includes references to specific equations and constraints from a document, which may contain assumptions or definitions that are not fully articulated in the thread. The MATLAB code provided relies on these constraints, and the reasons for the "Failed" status are not clarified, leaving room for further exploration.

perplexabot
Gold Member
Messages
328
Reaction score
5
Hey all. I have a question regarding an equation in a document I am reading about convex optimization of OP-AMPs. The document is attached, the equation is of section 3.4 and the equation number is (9). Can you please explain how it came to be? I understand that i3 = i4 = i5/2 but I don't understand why W's and L's are the only thing in this equation and why this equality holds.

An explanation for equation (10) would also be nice, but (9) is more important for me!

Thank you for your time.
 

Attachments

Engineering news on Phys.org
The transistor channel width & length are the main defining properties of the transistors in that circuit, since they are all on the same die. To get good matching, you need the geometries to be the same. Maybe I'm misunderstanding your question?
 
  • Like
Likes   Reactions: perplexabot
berkeman said:
The transistor channel width & length are the main defining properties of the transistors in that circuit, since they are all on the same die. To get good matching, you need the geometries to be the same. Maybe I'm misunderstanding your question?
Thanks, I was wondering if that fraction was originally the ratio of two Id (drain current) equations for NMOS in saturation with everything cancelling out except for the widths and lengths?

Also, if I may, I would like to know why my cvx Matlab program is ending with "Failed" status : (
Here is my code:
Code:
% Device sizing
clear; clc;
% given variables
mun = 600*(10^-2)^2;
mup = 200*(10^-2)^2;
Vtn = 0.7;
Vtp = -0.9;
lamn = 1/0.03;
lamp = 1/0.06;
Cox = 346*10^-6;
Vomin = 0.1*5;
Vomax = 0.9*5;
Vcmmin = 2.5 - 0.25;
Vcmmax = 2.5 + 0.25;
Vdd = 5;
Vss = 0;
%cvx optimization
cvx_begin gp
    variables L1 L2 L3 L4 L5 L6 L7 L8 W1 W2 W3 W4 W5 W6 W7 W8 Ib I5 I7 I1 I2
    minimize (5*(Ib+I5+I7));
    subject to
        %symmetry and matching
        W1/W2 == 1;
        L1/L2 == 1;
        W3/W4 == 1;
        L3/L4 == 1;
        L5/L7 == 1;
        L5/L6 == 1;
        %physical size limits
        L1 >= 0.8*10^-6;
        L2 >= 0.8*10^-6;
        L3 >= 0.8*10^-6;
        L4 >= 0.8*10^-6;
        L5 >= 0.8*10^-6;
        L6 >= 0.8*10^-6;
        L7 >= 0.8*10^-6;
        L8 >= 0.8*10^-6;
        W1 >= 2*10^-6;
        W2 >= 2*10^-6;
        W3 >= 2*10^-6;
        W4 >= 2*10^-6;
        W5 >= 2*10^-6;
        W6 >= 2*10^-6;
        W7 >= 2*10^-6;
        W8 >= 2*10^-6;
        %area limits
        L1*W1 + L2*W2 + L3*W3 + L4*W4+ L5*W5 + L6*W6 + L7*W7 <= 10000*(10^-6)^2;
        %input offset requirements
        (W3/L3)/(W6/L6)== (1/2)*((W5/L5)/(W7/L7));
        (W4/L4)/(W6/L6)== (1/2)*((W5/L5)/(W7/L7));
        %bias conditions
        I5 == (W5*L8*Ib)/(L5*W8);
        I7 == (W7*L8*Ib)/(L7*W8);
        I1 == I5/2;
        %more bias conditions : p
        sqrt((I1*L3)/((mun*Cox)/(2*W3))) <= Vcmmin - Vss - Vtp - Vtn;
        sqrt((I2*L3)/((mun*Cox)/(2*W3))) <= Vcmmin - Vss - Vtp - Vtn;
        sqrt((I1*L1)/((mup*Cox)/(2*W1))) + sqrt((I5*L5)/((mup*Cox)/(2*W5))) <= Vdd-Vcmmax + Vtp;
        sqrt((I7*L6)/((mun*Cox)/(2*W6))) <= Vomin - Vss;
        sqrt((I7*L7)/((mup*Cox)/(2*W7))) <= Vdd - Vomax;
        %small sig tf constraints
        Av = (2*Cox)/((lamn+lamp)^2)*sqrt(mun*mup*((W2*W6)/(L2*L6*I1*I7)));
cvx_end

All these constraints are from the document in my OP. Also the code is based on example 7.2 (page 24 of the document).
 
Last edited:
BUMP.

Anyone have a clue what I am doing wrong here? I feel like I am missing something big. I will dedicate some more time to it today. Any help will be greatly appreciated.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 9 ·
Replies
9
Views
5K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 31 ·
2
Replies
31
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
Replies
2
Views
1K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
14
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K