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/] [aeMB/] [verilog/] [aemb.v] - Blame information for rev 16

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

Line No. Rev Author Line
1 16 alirezamon
module aeMB_top (
2
 
3
  dwb_adr_o,
4
  dwb_cyc_o,
5
  dwb_dat_o,
6
  dwb_sel_o,
7
  dwb_stb_o,
8
  dwb_tag_o,
9
  dwb_wre_o,
10
  dwb_ack_i,
11
  dwb_dat_i,
12
 
13
  dwb_err_i,
14
  dwb_rty_i,
15
 
16
  iwb_adr_o,
17
  iwb_cyc_o,
18
  iwb_sel_o,
19
  iwb_stb_o,
20
  iwb_tag_o,
21
  iwb_wre_o,
22
  iwb_ack_i,
23
  iwb_dat_i,
24
  iwb_dat_o,
25
 
26
  iwb_err_i,
27
  iwb_rty_i,
28
 
29
  clk,
30
  reset,
31
  sys_int_i,
32
  sys_ena_i // input  sys_ena_i
33
 
34
);
35
 
36
   parameter AEMB_IWB = 32; ///< INST bus width
37
   parameter AEMB_DWB = 32; ///< DATA bus width
38
   parameter AEMB_XWB = 7; ///< XCEL bus width
39
 
40
   // CACHE PARAMETERS
41
   parameter AEMB_ICH = 11; ///< instruction cache size
42
   parameter AEMB_IDX = 6; ///< cache index size
43
 
44
   // OPTIONAL HARDWARE
45
   parameter AEMB_BSF = 1; ///< optional barrel shift
46
   parameter AEMB_MUL = 1; ///< optional multiplier
47
 
48
 
49
 
50
   output [31:0] dwb_adr_o;
51
   output        dwb_cyc_o;
52
   output [31:0] dwb_dat_o;
53
   output [3:0]  dwb_sel_o;
54
   output        dwb_stb_o;
55
   output  [2:0] dwb_tag_o;
56
   output        dwb_wre_o;
57
   input         dwb_ack_i;
58
   input [31:0]  dwb_dat_i;
59
 
60
 
61
 
62
 
63
   output [31:0] iwb_adr_o;
64
   output        iwb_cyc_o;
65
   output [3:0]  iwb_sel_o;
66
   output        iwb_stb_o;
67
   output [2:0]  iwb_tag_o;
68
   output        iwb_wre_o;
69
   input         iwb_ack_i;
70
   input [31:0]  iwb_dat_i;
71
   output[31:0]  iwb_dat_o;
72
   input         clk;
73
   input        sys_ena_i;
74
   input        sys_int_i;
75
   input        reset;
76
 
77
 // not used but added to prevent warning
78
  input dwb_err_i, dwb_rty_i,  iwb_err_i, iwb_rty_i;
79
 
80
 
81
aeMB2_edk63 #(
82
            .AEMB_IWB (AEMB_IWB), ///< INST bus width
83
            .AEMB_DWB (AEMB_DWB), ///< DATA bus width
84
            .AEMB_XWB (AEMB_XWB), ///< XCEL bus width
85
            .AEMB_ICH (AEMB_ICH), ///< instruction cache size
86
            .AEMB_IDX (AEMB_IDX),///< cache index size
87
            .AEMB_BSF (AEMB_BSF), ///< optional barrel shift
88
            .AEMB_MUL (AEMB_MUL) ///< optional multiplier
89
 
90
        )
91
 
92
         aeMB2_edk63_inst
93
        (
94
            .xwb_wre_o() ,  //    xwb_wre_o
95
            .xwb_tag_o() ,  //    xwb_tag_o
96
            .xwb_stb_o() ,  //    xwb_stb_o
97
            .xwb_sel_o() ,  //   [3:0] xwb_sel_o
98
            .xwb_dat_o() ,  //   [31:0] xwb_dat_o
99
            .xwb_cyc_o() ,  //    xwb_cyc_o
100
            .xwb_adr_o() ,  //   [AEMB_XWB-1:2] xwb_adr_o
101
            .iwb_wre_o(iwb_wre_o) ,  //    iwb_wre_o
102
            .iwb_tag_o() ,  //    iwb_tag_o
103
            .iwb_stb_o(iwb_stb_o) ,  //    iwb_stb_o
104
            .iwb_sel_o(iwb_sel_o) ,  //   [3:0] iwb_sel_o
105
            .iwb_cyc_o(iwb_cyc_o) ,  //    iwb_cyc_o
106
            .iwb_adr_o(iwb_adr_o[29:0]) ,    //   [AEMB_IWB-1:2] iwb_adr_o
107
 
108
            .dwb_wre_o(dwb_wre_o) ,  //    dwb_wre_o
109
            .dwb_tag_o() ,  //    dwb_tag_o
110
            .dwb_stb_o(dwb_stb_o) ,  //    dwb_stb_o
111
            .dwb_sel_o(dwb_sel_o) ,  //   [3:0] dwb_sel_o
112
            .dwb_dat_o(dwb_dat_o) ,  //   [31:0] dwb_dat_o
113
            .dwb_cyc_o(dwb_cyc_o) ,  //    dwb_cyc_o
114
            .dwb_adr_o(dwb_adr_o [29:0]) ,    //   [AEMB_DWB-1:2] dwb_adr_o
115
 
116
            .xwb_dat_i(0) , // input [31:0] xwb_dat_i
117
            .xwb_ack_i(1'b0) ,  // input  xwb_ack_i
118
            .sys_rst_i(reset) ,   // input  sys_rst_i
119
            .sys_int_i(sys_int_i) , // input  sys_int_i
120
            .sys_ena_i(sys_ena_i) , // input  sys_ena_i
121
            .sys_clk_i(clk  ) ,   // input  sys_clk_i
122
 
123
            .iwb_dat_i(iwb_dat_i) ,  // input [31:0] iwb_dat_i
124
            .iwb_ack_i(iwb_ack_i) ,  // input  iwb_ack_i
125
            .dwb_dat_i(dwb_dat_i) ,  // input [31:0] dwb_dat_i
126
            .dwb_ack_i(dwb_ack_i)    // input  dwb_ack_i
127
        );
128
 
129
        assign iwb_dat_o = 0;
130
        assign iwb_tag_o = 3'b000;  // clasic wishbone without  burst 
131
        assign dwb_tag_o = 3'b000;  // clasic wishbone without  burst 
132
        assign iwb_adr_o[31:30]  =   2'b00;
133
        assign dwb_adr_o[31:30]  =   2'b00;
134
 
135
endmodule
136
 

powered by: WebSVN 2.1.0

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