|
- module byte1num(
- input [7:0] in, //字节输入 范围:0~255
- output reg [3:0] out //字节二进制1的数量 范围:0~8
- );
- reg [2:0] i;
- always @(*) begin
- i = 3'd0;
- out = 4'd0;
- repeat(8) begin
- if(in[i]) begin
- out = out + 4'd1;
- end
- i = i + 3'd1;
- end
- end
- endmodule
- module main(
- input clk, //时钟输入
- output reg led //低电平(计算正确) 点亮
- );
- wire [7:0] num;
- byte1num U1(
- .in(8'hAB),
- .out(num)
- );
- always @(posedge clk) begin
- if(num == 4'd5) begin //字节:AB 二进制有有5个1
- led <= 1'b0;
- end else begin
- led <= 1'b1;
- end
- end
- endmodule
复制代码 |
|