Question: / * * * Counts the number of active ( 1 ) bits in a 1 6 - bit input and outputs the result as
Counts the number of active bits in a bit input and outputs the result as a bit binary number.
CHIP ActiveCounter
IN in;
OUT out;
PARTS:
Step : Count the active bits in the input
Use instances of And gates with 'true' to check if each bit is active
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Andain btrue, outbit;
Step : Add up the active bits using Adders
First level of adders: add adjacent pairs of bits
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
HalfAdderabit bbit sumsum carrycarry;
Second level of adders: add results from the first level
FullAdderasum bsum ccarry sumsum carrycarry;
FullAdderasum bsum ccarry sumsum carrycarry;
FullAdderasum bsum ccarry sumsum carrycarry;
FullAdderasum bsum ccarry sumsum carrycarry;
Third level of adders: add results from the second level
FullAdderasum bsum ccarry sumsum carrycarry;
FullAdderasum bsum ccarry sumsum carrycarry;
Final adder: add results from the third level
FullAdderasum bsum ccarry sumsum carrycarry;
Final result, combining all carries
OrWayincarry carry carry carry carry carry false, false outfinalCarry;
Addasum bfinalCarry outfinalSum;
Assigning the result to the output
out finalSum;
out finalSum;
out finalSum;
out finalSum;
out finalSum;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
