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

Subversion Repositories mips789

[/] [mips789/] [branches/] [mcupro/] [verilog/] [device/] [seg7led.v] - Blame information for rev 59

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

Line No. Rev Author Line
1 4 mcupro
`define SEG7LED_ADDR 'H80_00_00_10
2
`define DMEM_SB 1
3
 
4
module mips_seg7led (
5
        input [31:0]  addr_i,
6
        input clk,
7
        input [31:0] din,
8
        input [3:0]dmem_ctl_i,
9
        input rst,
10
        output [6:0]seg7led1,
11
        output [6:0]seg7led2
12
);
13
 
14
reg [7:0] data;
15
 
16
wire   wr_seg7led;
17
assign wr_seg7led= (addr_i==`SEG7LED_ADDR)&&(dmem_ctl_i==`DMEM_SB )  ;
18
always @(posedge clk)
19
        if      (wr_seg7led)
20
                data<=din[7:0];    //no matter big-endian  or little                
21
 
22
                assign seg7led1=         seg(data[3:0]) ;
23
                assign seg7led2=         seg(data[7:4]) ;
24
 
25
                    function [7:0] seg;
26
        input [3:0] addr;
27
        begin
28
            case(addr)
29
                0: seg = 7'b0111111;
30
                1: seg = 7'b0000110;
31
                2: seg = 7'b1011011;
32
                3: seg = 7'b1001111;
33
                4: seg = 7'b1100110;
34
                5: seg = 7'b1101101;
35
                6: seg = 7'b1111100;
36
                7: seg = 7'b0000111;
37
                8: seg = 7'b1111111;
38
                9: seg = 7'b1100111;
39
                10: seg = 7'b1110111;
40
                11: seg = 7'b1111100;
41
                12: seg = 7'b1011000;
42
                13: seg = 7'b1011110;
43
                14: seg = 7'b1111001;
44
                15: seg = 7'b1110001;
45
                default: seg = {7{1'b0}};
46
            endcase
47
        end
48
    endfunction
49
endmodule

powered by: WebSVN 2.1.0

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