Variable Gain Amplifier (VGA) is a crucial part of GPS receiver, because the amplitude of RF signal changes greatly in transport. So a VGA is needed to fit the signal changing. This paper presents a VGA design based on the Gilbert unit. Implemented in a 0.18um CMOS process, the circuit achieved a gain range about 20dB from 18.39dB to 38.54dB, and reached a GBW=250MHz at 38db. The total current is about 8.87uA with a 3.3V supply. At same time, PGA (Programming Gain Amplifier) is explored for gain control realization, and an example is given to show how to realize the exponential control voltage for VGA.