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

Subversion Repositories nysa_sata

[/] [nysa_sata/] [trunk/] [sim/] [hd_data_reader.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 cospan
module hd_data_reader (
2
    input           clk,
3
    input           rst,
4
 
5
    input           enable,
6
    output  reg     error,
7
 
8
    input           hd_read_from_host,
9
    input   [31:0]  hd_data_from_host
10
);
11
 
12
//Registers/Wires
13
reg                 prev_enable;
14
wire                posedge_enable;
15
reg         [31:0]  test_data;
16
 
17
//Submodules
18
 
19
//Asynchronous Logic
20
assign              posedge_enable = (!prev_enable && enable);
21
 
22
//Synchronous Logic
23
always @ (posedge clk) begin
24
    if (rst) begin
25
        prev_enable         <=  0;
26
        error               <=  0;
27
        test_data           <=  0;
28
    end
29
    else begin
30
        prev_enable         <=  enable;
31
        if (posedge_enable) begin
32
            error           <=  0;
33
            test_data       <=  0;
34
        end
35
        else begin
36
            if (hd_read_from_host) begin
37
                if (hd_data_from_host != test_data) begin
38
                    error   <=  1;
39
                end
40
                test_data   <=  test_data + 1;
41
            end
42
        end
43
    end
44
end
45
 
46
 
47
endmodule

powered by: WebSVN 2.1.0

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