The classic NE555 PWM uses diodes to separate capacitor charge and discharge current, and uses potentiometer to vary the charge time vs discharge time. However, the classic circuit cannot reach 0% or 100% duty cycle. This circuit uses an op amp which can set the voltage threshold below or above the min or max voltage on the capacitor, thus reaching 0% or 100% duty cycle.