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

Subversion Repositories mips789

[/] [mips789/] [tags/] [arelease/] [rtl/] [verilog/] [dvc.v] - Blame information for rev 10

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

Line No. Rev Author Line
1 10 mcupro
`include "include.h"
2
 
3
module tmr0 (
4
        input clk,
5
        input clr,
6
        input[31:0] din ,
7
        input ld,
8
        input tmr_en,
9
        output tmr_req    ,
10
        output [31:0] cntr_o
11
    );
12
 
13
    reg [31:0]s_cntr;
14
    reg [31:0]cntr;
15
 
16
    assign cntr_o=cntr;
17
 
18
    always @(posedge clk)
19
        if (ld)
20
            s_cntr<= din;
21
 
22
 
23
    always @(posedge clk)
24
        if (ld)
25
            cntr<=din;
26
        else if (cntr==0)
27
            cntr<=s_cntr;
28
        else if (tmr_en)
29
            cntr<=cntr-1;
30
 
31
    wire w_irq = cntr==0;
32
 
33
    tmr_d itmr_d(
34
              .clr(clr),
35
              .clk(clk),
36
              .d(w_irq),
37
              .q(tmr_req)
38
          );
39
 
40
endmodule
41
 
42
 
43
module tmr_d(input clr,input clk,input d,output reg q );
44
 
45
    always @(posedge clk or posedge clr)
46
 
47
        if      (clr) q<=0;
48
        else          q<=d|q;
49
 
50
endmodule
51
 
52
module seg7led_cv(
53
        input [7:0] data,
54
        output reg [6:0] seg7led2,
55
        output reg [6:0] seg7led1
56
    );
57
 
58
    always @(*)
59
    begin
60
        seg7led2= seg(data[3:0]) ;
61
        seg7led1= seg(data[7:4]) ;
62
    end
63
 
64
    function [7:0] seg;
65
        input [3:0] addr;
66
        begin
67
            case(addr)
68
                0: seg = 7'b0111111;
69
                1: seg = 7'b0000110;
70
                2: seg = 7'b1011011;
71
                3: seg = 7'b1001111;
72
                4: seg = 7'b1100110;
73
                5: seg = 7'b1101101;
74
                6: seg = 7'b1111100;
75
                7: seg = 7'b0000111;
76
                8: seg = 7'b1111111;
77
                9: seg = 7'b1100111;
78
                10: seg = 7'b1110111;
79
                11: seg = 7'b1111100;
80
                12: seg = 7'b1011000;
81
                13: seg = 7'b1011110;
82
                14: seg = 7'b1111001;
83
                15: seg = 7'b1110001;
84
                default: seg = {7{1'b1}};
85
            endcase
86
        end
87
    endfunction
88
 
89
endmodule

powered by: WebSVN 2.1.0

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