OpenCores
URL https://opencores.org/ocsvn/iso7816_3_master/iso7816_3_master/trunk

Subversion Repositories iso7816_3_master

[/] [iso7816_3_master/] [trunk/] [test/] [HammingWeight.v] - Blame information for rev 6

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 acapola
 
2
`timescale 1ns / 1ps
3
`default_nettype none
4
 
5
module HammingWeight(
6
        dataIn,
7
        hammingWeight
8
        );
9
parameter DATA_WIDTH=4;
10
parameter WEIGHT_WIDTH=2;
11
 
12
input wire [DATA_WIDTH-1:0] dataIn;
13
output reg [WEIGHT_WIDTH-1:0] hammingWeight;
14
 
15
always @(*) begin:hamminWeightBlock
16
        integer i;
17
        for(i=0;i<DATA_WIDTH;i=i+1) begin
18
                hammingWeight=hammingWeight + dataIn[i];
19
        end
20
end
21
endmodule
22
 
23
/*
24
task hammingWeight
25
parameter DATA_WIDTH=4;
26
parameter WEIGHT_WIDTH=2;
27
input wire [DATA_WIDTH-1:0] dataIn;
28
output reg [WEIGHT_WIDTH-1:0] hammingWeight;
29
integer i;
30
begin
31
 
32
        for(i=0;i<DATA_WIDTH;i=i+1) begin
33
                hammingWeight=hammingWeight + dataIn[i];
34
        end
35
 
36
end
37
endtask
38
*/
39
/*
40
function hammingWeight
41
parameter DATA_WIDTH=4;
42
parameter WEIGHT_WIDTH=2;
43
input wire [DATA_WIDTH-1:0] dataIn;
44
output reg [WEIGHT_WIDTH-1:0] hammingWeight;
45
integer i;
46
begin
47
 
48
        for(i=0;i<DATA_WIDTH;i=i+1) begin
49
                hammingWeight=hammingWeight + dataIn[i];
50
        end
51
 
52
end
53
endtask
54
*/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.