w********u 发帖数: 90 | 1 外部input给了n个数字信号,每个port "1" "0" 不一定。
假如n=8, 如何将这8个port “1”的数目加起来啊?
比如 11110010, 如何得到5呢?00001010,如何得到2?
有啥简便算法没,我实在找不到简便的verilog code。
大家有什么建议么,谢谢 | l*****x 发帖数: 3431 | 2 一个不简便的算法
function integer COUNT;
input [7:0] IN_BUS;
integer I;
begin
COUNT = 0;
for ( I= 0; I < 8; I = I + 1)
if ( ! IN_BUS[I])
COUNT = COUNT + 1;
end
endfunction
【在 w********u 的大作中提到】 : 外部input给了n个数字信号,每个port "1" "0" 不一定。 : 假如n=8, 如何将这8个port “1”的数目加起来啊? : 比如 11110010, 如何得到5呢?00001010,如何得到2? : 有啥简便算法没,我实在找不到简便的verilog code。 : 大家有什么建议么,谢谢
| j***j 发帖数: 324 | 3 assign sum[3:0] = n[7] + n[6] + n[5] ... +n[0];
【在 w********u 的大作中提到】 : 外部input给了n个数字信号,每个port "1" "0" 不一定。 : 假如n=8, 如何将这8个port “1”的数目加起来啊? : 比如 11110010, 如何得到5呢?00001010,如何得到2? : 有啥简便算法没,我实在找不到简便的verilog code。 : 大家有什么建议么,谢谢
| w****3 发帖数: 27 | |
|