The following description is taken from maximintegrated website (this [link][1] specifically), and after reading and trying to analyze the control technique it still does not make sense to me: **1** - In the figure it shows a boost converter, and it reads: > This duty cycle change then moves the output voltage to reduce the error signal to **zero**, thus completing the control loop. From my point of view if that \$V_{ERROR}\$ is supposed to converge to zero for a steady state output voltage, the duty cycle should be kept steady at 0% since \$V_{RAMP}\$ will always be greater than \$V_{ERROR}\$ and the latter seemingly not subject to variations, which cannot be true since it meant the circuit would stop switching. A comparison I have used to understand it better is when I think of a PI controller, which brings the error to zero but has a memory in its output value, so it only responds to small variations once the steady state value is reached. [![enter image description here][2]][2] My question is: **How is this control loop supposed to keep the output voltage steady regardless of for instance, load variations, if the error being reduced to zero would actually stop the switching?** By the way in the timing diagram they've inverted \$V_{SWITCH}\$ since it should be high when \$V_{ERROR} > V_{RAMP}\$, but it does not matter to the main question since it must've been a little mistake. **EDIT:** Following the main discussion, the figure below shows the circuit I have been inspired from to get this control loop done. It comes from this [video][3] in which the designer himself references maximintegrated's [website][1]. [![enter image description here][4]][4] I tried to replicate the idea using an op-amp, a behavioral voltage supply and a pulse source to generate the triangular wave in LTspice, trying to replicate the idea described in maxim's document and here are the results. [![enter image description here][5]][5] [![enter image description here][6]][6] I have set a value of \$V = 5\,V\$ which is the reference for \$ 50\,V \$ in the output since \$V_{feed} = 0.1\,V_{out}\$. **Result**: As you can see, my voltage level in the output is \$V_{out} \approx 25\,V\$, which is not what I have set the system for. Also, I tried changing values of the load and the output voltage also changes and that's not what I wanted either. Finally, I'm probably mistaken in how this controller works and would really like to find out what is wrong. Thank you in advance [1]: https://www.maximintegrated.com/en/design/technical-documents/tutorials/2/2031.html [2]: https://i.sstatic.net/uDHjU.png [3]: https://www.youtube.com/watch?v=5R_QCurh_iM&t=432s&ab_channel=GreatScott%21 [4]: https://i.sstatic.net/eBLj1.png [5]: https://i.sstatic.net/EVmgb.png [6]: https://i.sstatic.net/LcFFD.png