我想计算 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。
有没有一种简单的方法可以找到它们?