and is widely used in many applications, includ- ing analogue-digital converters. Another category of codes consists of symmetrical codes. For many message signals (such as speech) that extend more or less above and below the qui- escent level, it might beneficial to select the first codebit to represent the sign of the sample value. The resulting code is symmetrical above its center. One common requirement in digital circuits is counting. Most of the counters are imple- mented using individual flip-flops. A flip-flop is an electronic device that that has two stable states (i.e., a device with a single-bit memory). A control signal(s) and/or a clock signal are usually used to change the state of a flip-flop from one state to another. The output often includes the complement as well as the normal output. Among all different types, D flip- flops are commonly used for implementing binary counters. The term is flip-flop" because the output is the delayed version of the input signal. In fact, a D flip-flop tries to follow the input but cannot make the required transitions unless it is enabled by the clock. The associated delay is referred to as propagation delay. The propagation delay can be removed by using a master-slave D flip-flop in which two D flip-flops are connected in series and the clock of the second flip-flop (slave) is the inverted version of the first (master). Figure 1.15 shows the diagram of an N-digit binary counter using master-slave flip-flops. Pulse code modulation can be realized by using a sawtooth reference signal and a binary counter. The overall diagram is shown in Figure 1.16. If the slope of the ramp signal, K-1, is known, then each amplitude sample can be presented using Pulse Position Modulation (PPM) by a pulse displacement at = K as. Pulse Width Modulation (PWM) can be derived from this by generating a pulse of width ts for each sample. The pulse width-modulated signal and the reference clock signal are combined using a logical AND gate, and the result- ing signal is sent to a digital co