A receiver, comprising: an automatic gain controller, AGC, configured to amplify an analog PAM-4 signal having levels corresponding to values of -3, -1, 1, and 3, wherein amplification by the AGC is controlled in response to an AGC control signal; an analog-to-digital converter, ADC, configured to receive and digitize the amplified analog signal output from the AGC to form an ADC code corresponding to an amplitude of the amplified analog signal, wherein digitization by the ADC is controlled in response to an ADC control signal, Vref,, wherein the number of ADC bits is 3; a slicer (106, 212) coupled to the ADC to slice the ADC code according to a mapping table that maps each of the ADC codes to a corresponding recovered data and a corresponding error signal, wherein the two most significant bits of the ADC code correspond to a sliced data forming a recovered data out signal, and the third bit, as a least significant bit, of the ADC code corresponds to an error signal; and an adaptation unit coupled to an output of the slicer (106, 212) and comprising an AGC adaptation table configured to determine an AGC vote according to the recovered data out signal and to the error signal, wherein the AGC vote provides a voting decision to increase the AGC control signal when the recovered data out signal has a bit pattern of "10" and the error signal has a value of "0", to increase the AGC control signal when the recovered data out signal has a bit pattern of "01" and the error signal has a value of "1", to decrease the AGC control signal when the recovered data out signal has a bit pattern of "11" and the error signal has a value of "1", and to decrease the AGC control signal when the recovered data out signal has a bit pattern of "00" and the error signal has a value of "0", wherein the adaptation unit is configured to: (i) provide the ADC control signal, Vref,, (ii) reduce the ADC control signal, Vref, if the recovered data out signal associated with the ADC code is at a maximum value and the AGC vote is to increase the AGC control signal, (iii) increase the ADC control signal, Vref, if the recovered data out signal associated with the ADC code is at a minimum value and the AGC vote is to decrease the AGC control signal, and (iv) determine the AGC control signal based upon the determined AGC vote. an automatic gain controller, AGC, configured to amplify an analog PAM-4 signal having levels corresponding to values of -3, -1, 1, and 3, wherein amplification by the AGC is controlled in response to an AGC control signal; an analog-to-digital converter, ADC, configured to receive and digitize the amplified analog signal output from the AGC to form an ADC code corresponding to an amplitude of the amplified analog signal, wherein digitization by the ADC is controlled in response to an ADC control signal, Vref,, wherein the number of ADC bits is 3; a slicer (106, 212) coupled to the ADC to slice the ADC code according to a mapping table that maps each of the ADC codes to a corresponding recovered data and a corresponding error signal, wherein the two most significant bits of the ADC code correspond to a sliced data forming a recovered data out signal, and the third bit, as a least significant bit, of the ADC code corresponds to an error signal; and an adaptation unit coupled to an output of the slicer (106, 212) and comprising an AGC adaptation table configured to determine an AGC vote according to the recovered data out signal and to the error signal, wherein the AGC vote provides a voting decision to increase the AGC control signal when the recovered data out signal has a bit pattern of "10" and the error signal has a value of "0", to increase the AGC control signal when the recovered data out signal has a bit pattern of "01" and the error signal has a value of "1", to decrease the AGC control signal when the recovered data out signal has a bit pattern of "11" and the error signal has a value of "1", and to decrease the AGC control signal when the recovered data out signal has a bit pattern of "00" and the error signal has a value of "0", wherein the adaptation unit is configured to: (i) provide the ADC control signal, Vref,, (ii) reduce the ADC control signal, Vref, if the recovered data out signal associated with the ADC code is at a maximum value and the AGC vote is to increase the AGC control signal, (iii) increase the ADC control signal, Vref, if the recovered data out signal associated with the ADC code is at a minimum value and the AGC vote is to decrease the AGC control signal, and (iv) determine the AGC control signal based upon the determined AGC vote. (i) provide the ADC control signal, Vref,, (ii) reduce the ADC control signal, Vref, if the recovered data out signal associated with the ADC code is at a maximum value and the AGC vote is to increase the AGC control signal, (iii) increase the ADC control signal, Vref, if the recovered data out signal associated with the ADC code is at a minimum value and the AGC vote is to decrease the AGC control signal, and (iv) determine the AGC control signal based upon the determined AGC vote.