6 input majority circuit

Discussion in 'Homework Help' started by sciencectn, Feb 28, 2011.

  1. sciencectn

    Thread Starter New Member

    Feb 28, 2011
    Hello everyone, I am stuck on this problem:

    "A majority circuit is a combinational circuit whose output is equal to 1 if the input variables have more 1’s than 0’s. The output is 0 otherwise. Design a 6-input majority circuit."

    So each minterm in the resulting expression must have at least 4 zeros. I thought the best way of implementing it was to add up all of the digits and get a 3 bit binary number as the result. Then you can simply check if the most significant bit is a 1 to see if the result is greater than 4. However, when I try linking together adders it just seems to turn into a big incomprehensible mess and doesn't work.

    The obvious way is to generate a massive truth table and find the function but that also turns into a mess. Does anyone know of a better way?
  2. Georacer


    Nov 25, 2009
    The easy way would be to make a truth table, but with 6 input bits, it might get a little big.

    Alternatively, you could use a counter with an enable input and a clock.
    Store the 6 bits in a shift register. Using the clock, shift the register and with its serial output drive the counter.
    Each time a 1 appears, the counter will count up. After 6 clock cycles you will have your result stored in the counter.
    Can you visualize the configuration?

    Try the 74193 for the counter and the 74166 for the register.