8 ビット入力の 1 の数をカウントし、何個含まれているかを出力したいと考えています。私がこれを見つけている方法は非常に粗雑で冗長です。それらを見つける簡単で良い方法があれば知りたいです。私のコードは次のようになります:
module my_8to4bit(in,out);
input [7:0]in;
output [3:0]out;
assign out=(input == 1 || input == 2 || input == 4 || input == 8 || input == 16 || input == 32 || input == 64 || input == 128)?1:
(input == 3 || input == 5 || input == 6 || input == 9 || input == 10 || input == 12 || input == 24 || input == 128)?2:0;
... 8 ビット入力のすべての 1 まで同じです。
それらを見つける簡単な方法はありますか?