verilog HDL语言编写统计16位二进制数中1的个数。
展开全部
module Countnumber(a,result);
input [15:0]a;
output [4:0]result;
reg [4:0]cnt;
reg [4:0]width;
always@(a)
begin
cnt<=4'd0000;
for(width=0;width<16;width=width+1) //循环判断对应位是1则cnt=cnt+1;
if(a[width])
cnt<=cnt+1'b1;
end
assign result=cnt; //输出result为1的个数;
endmodule
input [15:0]a;
output [4:0]result;
reg [4:0]cnt;
reg [4:0]width;
always@(a)
begin
cnt<=4'd0000;
for(width=0;width<16;width=width+1) //循环判断对应位是1则cnt=cnt+1;
if(a[width])
cnt<=cnt+1'b1;
end
assign result=cnt; //输出result为1的个数;
endmodule
展开全部
module
Countnumber(a,result);
input
[15:0]a;
output
[4:0]result;
reg
[4:0]cnt;
reg
[4:0]width;
always@(a)
begin
cnt<=4'd0000;
for(width=0;width<16;width=width+1)
//循环判断对应位是1则cnt=cnt+1;
if(a[width])
cnt<=cnt+1'b1;
end
assign
result=cnt;
//输出result为1的个数;
endmodule
Countnumber(a,result);
input
[15:0]a;
output
[4:0]result;
reg
[4:0]cnt;
reg
[4:0]width;
always@(a)
begin
cnt<=4'd0000;
for(width=0;width<16;width=width+1)
//循环判断对应位是1则cnt=cnt+1;
if(a[width])
cnt<=cnt+1'b1;
end
assign
result=cnt;
//输出result为1的个数;
endmodule
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询