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

Subversion Repositories mips789

[/] [mips789/] [tags/] [arelease/] [rtl/] [verilog/] [mips_sys.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
 
4
module mips_sys (
5
        `ifdef ALTERA
6
        zz_addr_o,
7
        zz_din,
8
        zz_dout,
9
        zz_ins_i,
10
        zz_pc_o,
11
        zz_wr_en_o               ,
12
        `endif
13
 
14
        clk,
15
        rst,
16
 
17
        ser_rxd,
18
        ser_txd,
19
 
20
        seg7led1,
21
        seg7led2 ,
22
 
23
        lcd_data,
24
        lcd_rs,
25
        lcd_rw,
26
        lcd_en,
27
 
28
        led1,
29
        led2,
30
 
31
        key1,
32
        key2
33
 
34
    ) ;
35
    input key1;
36
    input key2;
37
 
38
    input clk;
39
    wire clk;
40
 
41
    input rst;
42
    wire rst;
43
 
44
 
45
    output [6:0] seg7led1;
46
    wire [6:0] seg7led1;
47
    output [6:0] seg7led2;
48
    wire [6:0] seg7led2;
49
 
50
    output [7:0]lcd_data;
51
    output lcd_rs;
52
    output      lcd_rw ;
53
    output      lcd_en  ;
54
    output led1;
55
    output led2;
56
 
57
`ifdef  ALTERA
58
    input [31:0] zz_din;
59
    wire [31:0] zz_din;
60
    input [31:0] zz_ins_i;
61
    wire [31:0] zz_ins_i;
62
    output [31:0] zz_addr_o;
63
    wire [31:0] zz_addr_o;
64
    output [31:0] zz_dout;
65
    wire [31:0] zz_dout;
66
    output [31:0] zz_pc_o;
67
    wire [31:0] zz_pc_o;
68
    output [3:0] zz_wr_en_o;
69
    wire [3:0] zz_wr_en_o;
70
`endif
71
 
72
    input ser_rxd;
73
    output ser_txd;
74
 
75
    wire [31:0] cop_addr;
76
    wire [3:0] cop_mem_ctl;
77
    wire [31:0] data2cop;
78
    wire [31:0] data2core;
79
    wire [31:0] data2mem;
80
    wire [31:0] ins2core;
81
    wire [31:0] mem_Addr;
82
    wire [31:0] pc;
83
    wire [3:0] wr_en;
84
    wire [31:0]cop_data;
85
    wire clk_sys;
86
    wire [31:0]irq_addr;
87
    wire w_irq;
88
 
89
    `ifndef ALTERA
90
            mem_array ram_4k
91
            (
92
                .clk(clk_sys),
93
                .din(data2mem),
94
                .dout(data2core),
95
                .ins_o(ins2core),
96
                .pc_i(pc),
97
                .rd_addr_i(mem_Addr),
98
                .wr_addr_i(mem_Addr),
99
                .wren(wr_en)
100
            );
101
    assign clk_sys=clk;
102
`else
103
    assign clk_sys=clk;
104
`endif
105
 
106
 
107
    mips_core mips_core
108
              (
109
                  .clk(clk_sys),
110
                  .cop_addr_o(cop_addr),
111
                  .cop_data_o(data2cop),
112
                  .cop_dout(cop_data),
113
                  .cop_mem_ctl_o(cop_mem_ctl),
114
                  .irq_addr(irq_addr),
115
                  .irq_i(w_irq),
116
                  .rst(rst),
117
 
118
`ifdef  ALTERA
119
                  .zz_addr_o(zz_addr_o),
120
                  .zz_din(zz_din),
121
                  .zz_dout(zz_dout),
122
                  .zz_ins_i(zz_ins_i),
123
                  .zz_pc_o(zz_pc_o),
124
                  .zz_wr_en_o(zz_wr_en_o)
125
`else
126
                  .zz_addr_o(mem_Addr),
127
                  .zz_din(data2core),
128
                  .zz_dout(data2mem),
129
                  .zz_ins_i(ins2core),
130
                  .zz_pc_o(pc),
131
                  .zz_wr_en_o(wr_en)
132
`endif
133
              );
134
 
135
    mips_dvc imips_dvc(
136
                 .din(data2cop),
137
                 .clk(clk_sys),
138
                 .rst(rst),
139
                 .addr(cop_addr) ,
140
                 .mem_ctl(cop_mem_ctl),
141
                 .dout(cop_data),
142
 
143
                 .lcd_data(lcd_data),
144
                 .lcd_rs(lcd_rs),
145
                 .lcd_rw(lcd_rw),
146
                 .lcd_en(lcd_en),
147
 
148
                 .ser_rxd(ser_rxd),
149
                 .ser_txd(ser_txd),
150
 
151
                 .seg7led1(seg7led1),
152
                 .seg7led2(seg7led2),
153
 
154
                 .led1(led1),
155
                 .led2(led2),
156
 
157
                 .key1(key1),
158
                 .key2(key2)   ,
159
 
160
                 .irq_addr_o(irq_addr),  //not registed
161
                 .irq_req_o(w_irq)
162
             );
163
 
164
endmodule
165
 

powered by: WebSVN 2.1.0

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