13.6 CANONIC SIGNED DIGIT ARITHMETIC
The number of add operations required in a constant coefficient multiplication equals one less than the number of nonzero bits in the constant coefficient. In order to further reduce the area and power consumption, the constant coefficient can be encoded such that it contains the fewest number of nonzero bits, which can be accomplished using canonic signed digit (CSD) representation. Quantization of FIR digital filters using a specified number of signed power-of-two (SPT) terms is described in Appendix G.
This section addresses the CSD number representation and its applications for the design of bit-serial and bit-parallel constant multipliers.
13.6.1 CSD Representation
Consider the number A = aW−1.aW−2 … a1a0, where each ai (W − 1 ≥ i ≥ 0) is in the set {−1, 0, 1}. Two’s complement representation may be considered as a special case, in which the bit aW−1 is equal to 0 or −1, whereas ai = 0 or 1 for 0 ≤ i ≤ W − 2. Now the multiplication A × X, where X is a variable, can be expressed as
![]()
where the number of additions/subtractions required equals one less than the number of nonzero bits in A. CSD representation is another special case, where no 2 consecutive ai’s are nonzero.

Fig. 13.29 Bit-serial architecture using two’s complement arithmetic. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access