In a binary number, leading zeros are the zero digits in the most significant positions of data, up to the position in which the first one is present. For a binary number the leading leading zero count is 4. Leading zero counter is a very important combinational circuit in designing the floating-point architectures to do the normalization operation.

Here an architecture to count maximum 15 leading zeros is presented. A simple modular architecture is presented in . In , authors designed higher order leading zero counter using 4-bit leading zero counters. In a binary number ( ), the leading zero count ( ) varies from 0 to 3. If all the bits are zero then it generates a signal ( ) to indicate that the number is zero. The truth table for 4-bit leading zero counter (LZC-4) is shown below in Table 1.

Using the K-map optimization technique the Boolean expression for the outputs of LZC-4 can be obtained and these are

The architecture of the LZC-4 is shown in Figure 1 . It outputs two bits and also output an signal which indicates that all the bits are zero.

Higher order leading zero counters can be designed using the basic LZC-4 blocks. The four bits are together called as nibble. A 16-bit binary number has four nibbles. The outputs and is generated by the nibble from the MSB side. Lets consider to design a LZC-8 block to count 7 leading zeros. In this case, the count will vary from 0 to 7. If , the zero count value depends on and if then decides the overall count value. The truth table for 16-bit leading zero counter (LZC-16) is shown in Table 2.

The LZC-16 is designed using the basic LZC-4 block. The upper bits of the counter are evaluated by a block which takes the inputs from the LZC-4 blocks. This block is called as leading zero encoder (LZE-4) which is shown in Figure 2. The logical expressions for the outputs of this blocks are decided by the Table 2 . Using K-map the logical expressions are defined as