OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [src_processor/] [mor1kx-3.1/] [rtl/] [mor1k.v] - Blame information for rev 38

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

Line No. Rev Author Line
1 38 alirezamon
 
2
module mor1k #(
3
    parameter OPTION_OPERAND_WIDTH=32,
4
    parameter IRQ_NUM=32
5
 
6
)(
7
 
8
    clk,
9
    rst,
10
    cpu_en,
11
 
12
    // Wishbone interface
13
    iwbm_adr_o,
14
    iwbm_stb_o,
15
    iwbm_cyc_o,
16
    iwbm_sel_o,
17
    iwbm_we_o,
18
    iwbm_cti_o,
19
    iwbm_bte_o,
20
    iwbm_dat_o,
21
    iwbm_err_i,
22
    iwbm_ack_i,
23
    iwbm_dat_i,
24
    iwbm_rty_i,
25
 
26
    dwbm_adr_o,
27
    dwbm_stb_o,
28
    dwbm_cyc_o,
29
    dwbm_sel_o,
30
    dwbm_we_o,
31
    dwbm_cti_o,
32
    dwbm_bte_o,
33
    dwbm_dat_o,
34
    dwbm_err_i,
35
    dwbm_ack_i,
36
    dwbm_dat_i,
37
    dwbm_rty_i,
38
 
39
    irq_i
40
 
41
 
42
);
43
 
44
 
45
    input                clk;
46
    input                rst;
47
 
48
    // Wishbone interface
49
    output [31:0]         iwbm_adr_o;
50
    output                iwbm_stb_o;
51
    output                iwbm_cyc_o;
52
    output [3:0]          iwbm_sel_o;
53
    output                iwbm_we_o;
54
    output [2:0]          iwbm_cti_o;
55
    output [1:0]          iwbm_bte_o;
56
    output [31:0]         iwbm_dat_o;
57
    input                 iwbm_err_i;
58
    input                 iwbm_ack_i;
59
    input [31:0]          iwbm_dat_i;
60
    input                 iwbm_rty_i;
61
 
62
    output [31:0]         dwbm_adr_o;
63
    output                dwbm_stb_o;
64
    output                dwbm_cyc_o;
65
    output [3:0]          dwbm_sel_o;
66
    output                dwbm_we_o;
67
    output [2:0]          dwbm_cti_o;
68
    output [1:0]          dwbm_bte_o;
69
    output [31:0]         dwbm_dat_o;
70
    input                 dwbm_err_i;
71
    input                 dwbm_ack_i;
72
    input [31:0]          dwbm_dat_i;
73
    input                 dwbm_rty_i;
74
    input [IRQ_NUM-1:0]   irq_i;
75
    input                 cpu_en;
76
 
77
 
78
 
79
 
80
     // Debug interface
81
    wire [15:0]          du_addr_i= 16'd0;
82
    wire                 du_stb_i=1'd0;
83
    wire [OPTION_OPERAND_WIDTH-1:0]  du_dat_i={OPTION_OPERAND_WIDTH{1'b0}};
84
    wire                 du_we_i=1'b0;
85
 
86
    // Stall control from debug interface
87
    wire                 du_stall_i=~cpu_en;
88
   // wire                du_stall_o,
89
 
90
  wire [31:0] dadr_o,iadr_o;
91
   assign iwbm_adr_o= {2'b00,iadr_o[31:2]};
92
   assign dwbm_adr_o= {2'b00,dadr_o[31:2]};
93
 
94
 
95
 
96
 
97
mor1kx #(
98
        .FEATURE_DEBUGUNIT("ENABLED"),
99
        .FEATURE_CMOV("ENABLED"),
100
        .FEATURE_INSTRUCTIONCACHE("ENABLED"),
101
        .OPTION_ICACHE_BLOCK_WIDTH(5),
102
        .OPTION_ICACHE_SET_WIDTH(8),
103
        .OPTION_ICACHE_WAYS(2),
104
        .OPTION_ICACHE_LIMIT_WIDTH(32),
105
        .FEATURE_IMMU("ENABLED"),
106
        .FEATURE_DATACACHE("ENABLED"),
107
        .OPTION_DCACHE_BLOCK_WIDTH(5),
108
        .OPTION_DCACHE_SET_WIDTH(8),
109
        .OPTION_DCACHE_WAYS(2),
110
        .OPTION_DCACHE_LIMIT_WIDTH(31),
111
        .FEATURE_DMMU("ENABLED"),
112
        .OPTION_PIC_TRIGGER("LATCHED_LEVEL"),
113
 
114
        .IBUS_WB_TYPE("B3_REGISTERED_FEEDBACK"),
115
        .DBUS_WB_TYPE("B3_REGISTERED_FEEDBACK"),
116
        .OPTION_CPU0("CAPPUCCINO")
117
        //.OPTION_RESET_PC(32'hf0000000)
118
)
119
mor1kx0
120
(
121
    .iwbm_adr_o(iadr_o),
122
    .iwbm_stb_o(iwbm_stb_o),
123
    .iwbm_cyc_o(iwbm_cyc_o),
124
    .iwbm_sel_o(iwbm_sel_o),
125
    .iwbm_we_o(iwbm_we_o),
126
    .iwbm_cti_o(iwbm_cti_o),
127
    .iwbm_bte_o(iwbm_bte_o),
128
    .iwbm_dat_o(iwbm_dat_o),
129
    .iwbm_err_i(iwbm_err_i),
130
    .iwbm_ack_i(iwbm_ack_i),
131
    .iwbm_dat_i(iwbm_dat_i),
132
    .iwbm_rty_i(iwbm_rty_i),
133
 
134
 
135
    .dwbm_adr_o(dadr_o),
136
    .dwbm_stb_o(dwbm_stb_o),
137
    .dwbm_cyc_o(dwbm_cyc_o),
138
    .dwbm_sel_o(dwbm_sel_o),
139
    .dwbm_we_o(dwbm_we_o),
140
    .dwbm_cti_o(dwbm_cti_o),
141
    .dwbm_bte_o(dwbm_bte_o),
142
    .dwbm_dat_o(dwbm_dat_o),
143
    .dwbm_err_i(dwbm_err_i),
144
    .dwbm_ack_i(dwbm_ack_i),
145
    .dwbm_dat_i(dwbm_dat_i),
146
    .dwbm_rty_i(dwbm_rty_i),
147
 
148
        .clk(clk),
149
        .rst(rst),
150
 
151
 
152
 
153
        .avm_d_address_o (),
154
        .avm_d_byteenable_o (),
155
        .avm_d_read_o (),
156
        .avm_d_readdata_i (32'h00000000),
157
        .avm_d_burstcount_o (),
158
        .avm_d_write_o (),
159
        .avm_d_writedata_o (),
160
        .avm_d_waitrequest_i (1'b0),
161
        .avm_d_readdatavalid_i (1'b0),
162
 
163
        .avm_i_address_o (),
164
        .avm_i_byteenable_o (),
165
        .avm_i_read_o (),
166
        .avm_i_readdata_i (32'h00000000),
167
        .avm_i_burstcount_o (),
168
        .avm_i_waitrequest_i (1'b0),
169
        .avm_i_readdatavalid_i (1'b0),
170
 
171
        .irq_i(irq_i),
172
 
173
        .traceport_exec_valid_o  (),
174
        .traceport_exec_pc_o     (),
175
        .traceport_exec_insn_o   (),
176
        .traceport_exec_wbdata_o (),
177
        .traceport_exec_wbreg_o  (),
178
        .traceport_exec_wben_o   (),
179
 
180
        .multicore_coreid_i   (32'd0),
181
        .multicore_numcores_i (32'd0),
182
 
183
        .snoop_adr_i (32'd0),
184
        .snoop_en_i  (1'b0),
185
 
186
        .du_addr_i(du_addr_i),
187
    .du_stb_i(du_stb_i),
188
    .du_dat_i(du_dat_i),
189
    .du_we_i(du_we_i),
190
    .du_dat_o( ),
191
    .du_ack_o( ),
192
    .du_stall_i(du_stall_i),
193
    .du_stall_o( )
194
);
195
 
196
 
197
endmodule
198
 

powered by: WebSVN 2.1.0

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