simply using a for loop, can also be done using full adders per 3 bits : adding the results to finally get the no of 1's
Code
module popcount8 (
input [7:0] in,
output reg [3:0] count
);
integer i; // loop variable must be declared (synthesizable)
always @* begin
count = 4'd0; // default to avoid latch
// Use a for-loop to accumulate the number of '1' bits
for (i = 0; i < 8; i = i + 1) begin
// Write code here
count = (in[i]) ? count + 1 : count; // count = count + in[i];
end
end
endmodule
// can also be done using full adders