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/] [or1200/] [verilog/] [or1200.v] - Blame information for rev 38

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 alirezamon
`include "or1200_defines.v"
2
 
3
module or1200 #(
4
        parameter dw = `OR1200_OPERAND_WIDTH,
5
        parameter aw = `OR1200_OPERAND_WIDTH,
6
        parameter ppic_ints = `OR1200_PIC_INTS,
7
        parameter boot_adr = `OR1200_BOOT_ADR
8
 
9
)(
10
        clk,
11
        reset,
12
        en_i,
13
        pic_ints_i,
14
        iwb_ack_i,//normaltermination
15
        iwb_err_i,//terminationw/error
16
        iwb_rty_i,//terminationw/retry
17
        iwb_dat_i,//databus
18
        iwb_cyc_o,//cyclevalid
19
        iwb_adr_o,//addressbuss
20
        iwb_stb_o,//strobe
21
        iwb_we_o,//indicateswritetransfer
22
        iwb_sel_o,//byteselects
23
        iwb_dat_o,//databus
24
        iwb_cti_o,//cycletypeidentifier
25
        iwb_bte_o,//bursttypeextension
26
 
27
        dwb_ack_i,//normaltermination
28
        dwb_err_i,//terminationw/error
29
        dwb_rty_i,//terminationw/retry
30
        dwb_dat_i,//databus
31
        dwb_cyc_o,//cyclevalid
32
        dwb_adr_o,//addressbuss
33
        dwb_stb_o,//strobe
34
        dwb_we_o,//indicateswritetransfer
35
        dwb_sel_o,//byteselects
36
        dwb_dat_o,//databus
37
        dwb_cti_o,//cycletypeidentifier
38
        dwb_bte_o//bursttypeextension
39
);
40
 
41
 
42
        input                   clk;
43
        input                   reset;
44
        input                   en_i;
45
        input   [ppic_ints-1:0]  pic_ints_i;
46
 
47
        //
48
        // Instruction WISHBONE interface
49
        //
50
 
51
        input                   iwb_ack_i;      // normal termination   
52
        input                   iwb_err_i;      // termination w/ error
53
        input                   iwb_rty_i;      // termination w/ retry
54
        input   [dw-1:0] iwb_dat_i;      // input data bus
55
        output                  iwb_cyc_o;      // cycle valid output
56
        output  [aw-1:0] iwb_adr_o;      // address bus outputs
57
        output                  iwb_stb_o;      // strobe output
58
        output                  iwb_we_o;       // indicates write transfer
59
        output  [3:0]            iwb_sel_o;      // byte select outputs
60
        output  [dw-1:0] iwb_dat_o;      // output data bus
61
        output  [2:0]            iwb_cti_o;      // cycle type identifier
62
        output  [1:0]            iwb_bte_o;      // burst type extension
63
 
64
 
65
        //
66
        // Data WISHBONE interface
67
        //
68
 
69
        input                   dwb_ack_i;      // normal termination
70
        input                   dwb_err_i;      // termination w/ error
71
        input                   dwb_rty_i;      // termination w/ retry
72
        input   [dw-1:0] dwb_dat_i;      // input data bus       
73
        output                  dwb_cyc_o;      // cycle valid output
74
        output  [aw-1:0] dwb_adr_o;      // address bus outputs
75
        output                  dwb_stb_o;      // strobe output
76
        output                  dwb_we_o;       // indicates write transfer
77
        output  [3:0]            dwb_sel_o;      // byte select outputs
78
        output  [dw-1:0] dwb_dat_o;      // output data bus
79
        output  [2:0]            dwb_cti_o;      // cycle type identifier
80
        output  [1:0]            dwb_bte_o;      // burst type extension
81
 
82
        wire [31:0]                                dbg_dat_i;
83
        wire [31:0]                                dbg_adr_i;
84
        wire                              dbg_we_i;
85
        wire                              dbg_stb_i;
86
        wire                              dbg_ack_o;
87
        wire [31:0]                                dbg_dat_o;
88
 
89
        wire                              dbg_stall_i;
90
        wire                              dbg_ewt_i;
91
        wire [3:0]                                 dbg_lss_o;
92
        wire [1:0]                                 dbg_is_o;
93
        wire [10:0]                                dbg_wp_o;
94
        wire                              dbg_bp_o;
95
        wire                              dbg_rst;
96
 
97
        wire cpustall = ~   en_i;
98
 
99
 
100
        wire [aw-1:0] dadr_o,iadr_o;
101
 
102
        or1200_top #(
103
                .dw(dw),
104
                .aw(aw),
105
                .ppic_ints(ppic_ints),
106
                .boot_adr(boot_adr)
107
        )
108
        the_top
109
        (
110
        // Instruction bus, clocks, reset
111
        .iwb_clk_i                      (clk),
112
        .iwb_rst_i                      (reset),
113
        .iwb_ack_i                      (iwb_ack_i),
114
        .iwb_err_i                      (iwb_err_i),
115
        .iwb_rty_i                      (iwb_rty_i),
116
        .iwb_dat_i                      (iwb_dat_i),
117
 
118
        .iwb_cyc_o                      (iwb_cyc_o),
119
        .iwb_adr_o                      (iadr_o),
120
        .iwb_stb_o                      (iwb_stb_o),
121
        .iwb_we_o                       (iwb_we_o),
122
        .iwb_sel_o                      (iwb_sel_o),
123
        .iwb_dat_o                      (iwb_dat_o),
124
        .iwb_cti_o                      (iwb_cti_o),
125
        .iwb_bte_o                      (iwb_bte_o),
126
 
127
        // Data bus, clocks, reset            
128
        .dwb_clk_i                      (clk),
129
        .dwb_rst_i                      (reset),
130
        .dwb_ack_i                      (dwb_ack_i),
131
        .dwb_err_i                      (dwb_err_i),
132
        .dwb_rty_i                      (dwb_rty_i),
133
        .dwb_dat_i                      (dwb_dat_i),
134
 
135
        .dwb_cyc_o                      (dwb_cyc_o),
136
        .dwb_adr_o                      (dadr_o),
137
        .dwb_stb_o                      (dwb_stb_o),
138
        .dwb_we_o                       (dwb_we_o),
139
        .dwb_sel_o                      (dwb_sel_o),
140
        .dwb_dat_o                      (dwb_dat_o),
141
        .dwb_cti_o                      (dwb_cti_o),
142
        .dwb_bte_o                      (dwb_bte_o),
143
 
144
        // Debug interface ports
145
        .dbg_stall_i                    (dbg_stall_i),
146
        //.dbg_ewt_i                    (dbg_ewt_i),
147
        .dbg_ewt_i                      (1'b0),
148
        .dbg_lss_o                      (dbg_lss_o),
149
        .dbg_is_o                       (dbg_is_o),
150
        .dbg_wp_o                       (dbg_wp_o),
151
        .dbg_bp_o                       (dbg_bp_o),
152
 
153
        .dbg_adr_i                      (dbg_adr_i),
154
        .dbg_we_i                       (dbg_we_i ),
155
        .dbg_stb_i                      (dbg_stb_i),
156
        .dbg_dat_i                      (dbg_dat_i),
157
        .dbg_dat_o                      (dbg_dat_o),
158
        .dbg_ack_o                      (dbg_ack_o),
159
 
160
        .pm_clksd_o                     (),
161
        .pm_dc_gate_o                   (),
162
        .pm_ic_gate_o                   (),
163
        .pm_dmmu_gate_o                 (),
164
        .pm_immu_gate_o                 (),
165
        .pm_tt_gate_o                   (),
166
        .pm_cpu_gate_o                  (),
167
        .pm_wakeup_o                    (),
168
        .pm_lvolt_o                     (),
169
 
170
        // Core clocks, resets
171
        .clk_i                          (clk),
172
        .rst_i                          (reset),
173
 
174
        .clmode_i                       (2'b00),
175
        // Interrupts      
176
        .pic_ints_i                     (pic_ints_i),
177
        .sig_tick                       (),
178
        /*
179
         .mbist_so_o                    (),
180
         .mbist_si_i                    (0),
181
         .mbist_ctrl_i                  (0),
182
         */
183
 
184
        .pm_cpustall_i                  (cpustall)
185
 
186
        );
187
 
188
 
189
        assign dwb_adr_o= {2'b00,dadr_o[31:2]};
190
        assign iwb_adr_o= {2'b00,iadr_o[31:2]};
191
 
192
        assign dbg_adr_i = 0;
193
        assign dbg_dat_i = 0;
194
        assign dbg_stb_i = 0;
195
        assign dbg_we_i = 0;
196
        assign dbg_stall_i = 0;
197
 
198
endmodule
199
 

powered by: WebSVN 2.1.0

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