A controller configured to calibrate a beamforming integrated circuit, the controller comprising: a non-volatile memory configured to store measured gain data for a plurality of channels of a beamforming integrated circuit; and calibration circuitry configured to: determine a reference gain value based on the measured gain data for the plurality of channels stored at the non-volatile memory; and for each channel of the plurality of channels: determine a difference between a maximum gain value of the channel obtained from the non-volatile memory and the reference gain value; and copy a portion of a variable gain amplifier configuration attenuation table stored in a shared memory of the beamforming integrated circuit to a channel memory associated with the channel, wherein the variable gain amplifier configuration attenuation table comprises configuration settings for variable gain amplifiers of the beamforming integrated circuit, and wherein the portion of the variable gain amplifier configuration attenuation table copied from the shared memory starts at an address corresponding to the difference between the maximum gain value of the channel and the reference gain value. a non-volatile memory configured to store measured gain data for a plurality of channels of a beamforming integrated circuit; and calibration circuitry configured to: determine a reference gain value based on the measured gain data for the plurality of channels stored at the non-volatile memory; and for each channel of the plurality of channels: determine a difference between a maximum gain value of the channel obtained from the non-volatile memory and the reference gain value; and copy a portion of a variable gain amplifier configuration attenuation table stored in a shared memory of the beamforming integrated circuit to a channel memory associated with the channel, wherein the variable gain amplifier configuration attenuation table comprises configuration settings for variable gain amplifiers of the beamforming integrated circuit, and wherein the portion of the variable gain amplifier configuration attenuation table copied from the shared memory starts at an address corresponding to the difference between the maximum gain value of the channel and the reference gain value. determine a reference gain value based on the measured gain data for the plurality of channels stored at the non-volatile memory; and for each channel of the plurality of channels: determine a difference between a maximum gain value of the channel obtained from the non-volatile memory and the reference gain value; and copy a portion of a variable gain amplifier configuration attenuation table stored in a shared memory of the beamforming integrated circuit to a channel memory associated with the channel, wherein the variable gain amplifier configuration attenuation table comprises configuration settings for variable gain amplifiers of the beamforming integrated circuit, and wherein the portion of the variable gain amplifier configuration attenuation table copied from the shared memory starts at an address corresponding to the difference between the maximum gain value of the channel and the reference gain value. determine a difference between a maximum gain value of the channel obtained from the non-volatile memory and the reference gain value; and copy a portion of a variable gain amplifier configuration attenuation table stored in a shared memory of the beamforming integrated circuit to a channel memory associated with the channel, wherein the variable gain amplifier configuration attenuation table comprises configuration settings for variable gain amplifiers of the beamforming integrated circuit, and wherein the portion of the variable gain amplifier configuration attenuation table copied from the shared memory starts at an address corresponding to the difference between the maximum gain value of the channel and the reference gain value.