The demodulator is designed to be used together with a cable tuner and an analog to digital converter (ADC). The system has an internal state machine to control the operation, which can be externally configured via the SPI interface. This DVB-C QAM demodulator is supplied as a portable and synthesizable Verilog-2001 IP. The system is designed to be used in conjunction with a standard cable tuner. The QAM signal is acquired blindly, and QAM signal constellations from QAM 16 through QAM 256 are supported. The operation of the demodulator is automated by a master finite state machine. The design interfaces to an external analog to digital converter, which receives the analog signal from the external tuner. The incoming IF signal is sampled at a rate greater than four times the maximum symbol rate. Hence, for symbol rates up to 7 MBaud, the sampling rate is around 28 MHz. The digital signal is first mixed down to baseband. The included blind frequency correction can compensate for ±170 kHz frequency offsets. The timing correction can correct up to 100 ppm. acquisition. The equalizer in the chip can be configured as fractional or symbol spaced. It acquires the QAM signal without a training sequence, in blind mode, and then tracks the signal in the decision-feedback mode. Signal degradation due to impulse noise in cable systems is overcome using a combination of convolutional interleaving and Reed-Solomon error correction. The most significant bits of the demodulated I/Q symbols are differentially decoded to obtain a rotation invariant constellation. The QAM symbols are then de-mapped into a bit stream, according to the definitions provided by DVB. Each symbol yields four bits for QAM 16, five for QAM 32, six for QAM 64, seven for QAM 128 and eight for QAM 256. The bit-stream is aligned into bytes, which are in turn aligned into 204 byte frames. These are then fed to a (204,188) Reed-Solomon (RS) decoder, which is capable of correcting eight byte errors per frame. The design also keeps track of the corrected errors, giving an indication of the received signal quality. Frames with more than eight errors are regarded as uncorrectable, and are flagged. This gives an indication of the quality of the MPEG output. The decoded packets are then applied to a descrambler to reverse the energy dispersal introduced by the transmitter. Finally, the output is presented as a stream of regularly spaced MPEG packets.