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

Subversion Repositories csa

[/] [csa/] [trunk/] [quartus10/] [ledseg_cnt.v] - Diff between revs 33 and 38

Show entire file | Details | Blame | View Log

Rev 33 Rev 38
Line 10... Line 10...
                       , input      [15:0]   data       // the data want output at led segment
                       , input      [15:0]   data       // the data want output at led segment
                       , output reg [ 3:0]   seg        // led segment scan signal
                       , output reg [ 3:0]   seg        // led segment scan signal
                       , output     [ 7:0]   segd       // led segment output
                       , output     [ 7:0]   segd       // led segment output
                );
                );
 
 
`define CNT_W 11    // count reg width
 
 
`define CNT_W 15    // count reg width
 
 
        // interival variable
        // interival variable
        reg [`CNT_W-1:0] cnt;
        reg [`CNT_W-1:0] cnt;
 
 
        always @(posedge clk)
        always @(posedge clk)
                cnt<=cnt+11'h001;      // up reg
                cnt<=cnt+`CNT_W'h1;      // up reg
 
 
        reg h;
        reg [3:0] h;
        always @(cnt or data)
        always @(cnt or data)
        begin
        begin
                case (cnt[`CNT_W-1:`CNT_W-2])
                case (cnt[`CNT_W-1:`CNT_W-2])
                        2'b00:h = data[15:12];
                        2'b00:h <= data[15:12];
                        2'b01:h = data[11: 8];
                        2'b01:h <= data[11: 8];
                        2'b10:h = data[7 : 4];
                        2'b10:h <= data[ 7: 4];
                        2'b11:h = data[3 : 0];
                        2'b11:h <= data[ 3: 0];
                        default:h = 4'hf;
 
                endcase
                endcase
        end
        end
 
 
        always @(cnt)
        always @(cnt)
        begin
        begin
                case (cnt[`CNT_W-1:`CNT_W-2])
                case (cnt[`CNT_W-1:`CNT_W-2])
                        2'b00:seg = 4'b1110;
                        2'b00:seg = 4'b1110;
                        2'b01:seg = 4'b1101;
                        2'b01:seg = 4'b1101;
                        2'b10:seg = 4'b1011;
                        2'b10:seg = 4'b1011;
                        2'b11:seg = 4'b0111;
                        2'b11:seg = 4'b0111;
                        default:seg = 4'hf;
 
                endcase
                endcase
        end
        end
 
 
        hex2seg h2s(
        hex2seg h2s(
                  .hex(h)
                  .hex(h)

powered by: WebSVN 2.1.0

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