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

Subversion Repositories csa

[/] [csa/] [trunk/] [quartus10/] [ledseg_cnt.v] - Blame information for rev 33

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

Line No. Rev Author Line
1 33 simon111
 
2
 
3
 
4
// this file control led segment controler module
5
 
6
 
7
module ledseg_cnt(
8
                         input               clk        // clock
9
                       , input               rst        // reset , high active
10
                       , input      [15:0]   data       // the data want output at led segment
11
                       , output reg [ 3:0]   seg        // led segment scan signal
12
                       , output     [ 7:0]   segd       // led segment output
13
                );
14
 
15
`define CNT_W 11    // count reg width
16
 
17
        // interival variable
18
        reg [`CNT_W-1:0] cnt;
19
 
20
        always @(posedge clk)
21
                cnt<=cnt+11'h001;      // up reg
22
 
23
        reg h;
24
        always @(cnt or data)
25
        begin
26
                case (cnt[`CNT_W-1:`CNT_W-2])
27
                        2'b00:h = data[15:12];
28
                        2'b01:h = data[11: 8];
29
                        2'b10:h = data[7 : 4];
30
                        2'b11:h = data[3 : 0];
31
                        default:h = 4'hf;
32
                endcase
33
        end
34
 
35
        always @(cnt)
36
        begin
37
                case (cnt[`CNT_W-1:`CNT_W-2])
38
                        2'b00:seg = 4'b1110;
39
                        2'b01:seg = 4'b1101;
40
                        2'b10:seg = 4'b1011;
41
                        2'b11:seg = 4'b0111;
42
                        default:seg = 4'hf;
43
                endcase
44
        end
45
 
46
        hex2seg h2s(
47
                  .hex(h)
48
                , .seg(segd)
49
                );
50
 
51
 
52
endmodule

powered by: WebSVN 2.1.0

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