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 8

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 8 acapola
        hammingWeight=0;
18 6 acapola
        for(i=0;i<DATA_WIDTH;i=i+1) begin
19
                hammingWeight=hammingWeight + dataIn[i];
20
        end
21
end
22
endmodule
23
 
24
/*
25
task hammingWeight
26
parameter DATA_WIDTH=4;
27
parameter WEIGHT_WIDTH=2;
28
input wire [DATA_WIDTH-1:0] dataIn;
29
output reg [WEIGHT_WIDTH-1:0] hammingWeight;
30
integer i;
31
begin
32
 
33
        for(i=0;i<DATA_WIDTH;i=i+1) begin
34
                hammingWeight=hammingWeight + dataIn[i];
35
        end
36
 
37
end
38
endtask
39
*/
40
/*
41
function hammingWeight
42
parameter DATA_WIDTH=4;
43
parameter WEIGHT_WIDTH=2;
44
input wire [DATA_WIDTH-1:0] dataIn;
45
output reg [WEIGHT_WIDTH-1:0] hammingWeight;
46
integer i;
47
begin
48
 
49
        for(i=0;i<DATA_WIDTH;i=i+1) begin
50
                hammingWeight=hammingWeight + dataIn[i];
51
        end
52
 
53
end
54
endtask
55
*/

powered by: WebSVN 2.1.0

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