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

Subversion Repositories bluespec_md6

[/] [bluespec_md6/] [trunk/] [MD6Control/] [fpga/] [md6controlengine.v] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 kfleming
//----------------------------------------------------------------------//
2
// The MIT License 
3
// 
4
// Copyright (c) 2008 Kermin Fleming, kfleming@mit.edu 
5
// 
6
// Permission is hereby granted, free of charge, to any person 
7
// obtaining a copy of this software and associated documentation 
8
// files (the "Software"), to deal in the Software without 
9
// restriction, including without limitation the rights to use,
10
// copy, modify, merge, publish, distribute, sublicense, and/or sell
11
// copies of the Software, and to permit persons to whom the
12
// Software is furnished to do so, subject to the following conditions:
13
// 
14
// The above copyright notice and this permission notice shall be
15
// included in all copies or substantial portions of the Software.
16
// 
17
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24
// OTHER DEALINGS IN THE SOFTWARE.
25
//----------------------------------------------------------------------//
26 2 kfleming
/*
27
Copyright (c) 2008 MIT
28
 
29
Permission is hereby granted, free of charge, to any person
30
obtaining a copy of this software and associated documentation
31
files (the "Software"), to deal in the Software without
32
restriction, including without limitation the rights to use,
33
copy, modify, merge, publish, distribute, sublicense, and/or sell
34
copies of the Software, and to permit persons to whom the
35
Software is furnished to do so, subject to the following
36
conditions:
37
 
38
The above copyright notice and this permission notice shall be
39
included in all copies or substantial portions of the Software.
40
 
41
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
43
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
44
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
45
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
46
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
47
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
48
OTHER DEALINGS IN THE SOFTWARE.
49
 
50
Author: Kermin Fleming
51
*/
52
 
53
module md6controlengine(CLK,
54
                        RST,
55
                        plbMasterWires_mABus,
56
 
57
                        plbMasterWires_mBE,
58
 
59
                        plbMasterWires_mRNW,
60
 
61
                        plbMasterWires_mAbort,
62
 
63
                        plbMasterWires_mBusLock,
64
 
65
                        plbMasterWires_mCompress,
66
 
67
                        plbMasterWires_mGuarded,
68
 
69
                        plbMasterWires_mLockErr,
70
 
71
                        plbMasterWires_mMSize,
72
 
73
                        plbMasterWires_mOrdered,
74
 
75
                        plbMasterWires_mPriority,
76
 
77
                        plbMasterWires_mRdBurst,
78
 
79
                        plbMasterWires_mRequest,
80
 
81
                        plbMasterWires_mSize,
82
 
83
                        plbMasterWires_mType,
84
 
85
                        plbMasterWires_mWrBurst,
86
 
87
                        plbMasterWires_mWrDBus,
88
 
89
                        plbMasterWires_mRst,
90
                        plbMasterWires_mAddrAck,
91
                        plbMasterWires_mBusy,
92
                        plbMasterWires_mErr,
93
                        plbMasterWires_mRdBTerm,
94
                        plbMasterWires_mRdDAck,
95
                        plbMasterWires_mRdDBus,
96
                        plbMasterWires_mRdWdAddr,
97
                        plbMasterWires_mRearbitrate,
98
                        plbMasterWires_mWrBTerm,
99
                        plbMasterWires_mWrDAck,
100
                        plbMasterWires_mSSize,
101
                        plbMasterWires_sMErr,
102
                        plbMasterWires_sMBusy,
103
                        bramInitiatorWires_bramRST,
104
                        bramInitiatorWires_bramAddr,
105
                        bramInitiatorWires_bramDout,
106
                        bramInitiatorWires_bramWEN,
107
                        bramInitiatorWires_bramEN,
108
                        bramInitiatorWires_bramCLK,
109
                        bramInitiatorWires_bramDin);
110
  input  CLK;
111
  input  RST;
112
 
113
  // value method plbMasterWires_mABus
114
  output [31 : 0] plbMasterWires_mABus;
115
 
116
  // value method plbMasterWires_mBE
117
  output [7 : 0] plbMasterWires_mBE;
118
 
119
  // value method plbMasterWires_mRNW
120
  output plbMasterWires_mRNW;
121
 
122
  // value method plbMasterWires_mAbort
123
  output plbMasterWires_mAbort;
124
 
125
  // value method plbMasterWires_mBusLock
126
  output plbMasterWires_mBusLock;
127
 
128
  // value method plbMasterWires_mCompress
129
  output plbMasterWires_mCompress;
130
 
131
  // value method plbMasterWires_mGuarded
132
  output plbMasterWires_mGuarded;
133
 
134
  // value method plbMasterWires_mLockErr
135
  output plbMasterWires_mLockErr;
136
 
137
  // value method plbMasterWires_mMSize
138
  output [1 : 0] plbMasterWires_mMSize;
139
 
140
  // value method plbMasterWires_mOrdered
141
  output plbMasterWires_mOrdered;
142
 
143
  // value method plbMasterWires_mPriority
144
  output [1 : 0] plbMasterWires_mPriority;
145
 
146
  // value method plbMasterWires_mRdBurst
147
  output plbMasterWires_mRdBurst;
148
 
149
  // value method plbMasterWires_mRequest
150
  output plbMasterWires_mRequest;
151
 
152
  // value method plbMasterWires_mSize
153
  output [3 : 0] plbMasterWires_mSize;
154
 
155
  // value method plbMasterWires_mType
156
  output [2 : 0] plbMasterWires_mType;
157
 
158
  // value method plbMasterWires_mWrBurst
159
  output plbMasterWires_mWrBurst;
160
 
161
  // value method plbMasterWires_mWrDBus
162
  output [63 : 0] plbMasterWires_mWrDBus;
163
 
164
  // action method plbMasterWires_plbIN
165
  input  plbMasterWires_mRst;
166
  input  plbMasterWires_mAddrAck;
167
  input  plbMasterWires_mBusy;
168
  input  plbMasterWires_mErr;
169
  input  plbMasterWires_mRdBTerm;
170
  input  plbMasterWires_mRdDAck;
171
  input  [63 : 0] plbMasterWires_mRdDBus;
172
  input  [2 : 0] plbMasterWires_mRdWdAddr;
173
  input  plbMasterWires_mRearbitrate;
174
  input  plbMasterWires_mWrBTerm;
175
  input  plbMasterWires_mWrDAck;
176
  input  plbMasterWires_mSSize;
177
  input  plbMasterWires_sMErr;
178
  input  plbMasterWires_sMBusy;
179
 
180
  // action method bramTargetWires_bramIN
181
  output  [31 : 0] bramInitiatorWires_bramAddr;
182
  output  [31 : 0] bramInitiatorWires_bramDout;
183
  output  [3 : 0] bramInitiatorWires_bramWEN;
184
  output  bramInitiatorWires_bramEN;
185
  output  bramInitiatorWires_bramCLK;
186
  output  bramInitiatorWires_bramRST;
187
 
188
  // value method bramTargetWires_bramOUT
189
  input [31 : 0] bramInitiatorWires_bramDin;
190
 
191
  wire [13:0] bramInitiatorWires_bramAddr_our;
192
  assign bramInitiatorWires_bramAddr = {16'h0000,bramInitiatorWires_bramAddr_our, 2'b00};
193
  // signals for module outputs
194
  wire [31 : 0] bramTargetWires_dinBRAM,plbMasterWires_mABus;
195
 
196
  wire [63 : 0]  plbMasterWires_mWrDBus;
197
  wire [7 : 0] plbMasterWires_mBE;
198
  wire [3 : 0] plbMasterWires_mSize;
199
  wire [2 : 0] plbMasterWires_mType;
200
  wire [1 : 0] plbMasterWires_mMSize, plbMasterWires_mPriority;
201
  wire plbMasterWires_mAbort,
202
       plbMasterWires_mBusLock,
203
       plbMasterWires_mCompress,
204
       plbMasterWires_mGuarded,
205
       plbMasterWires_mLockErr,
206
       plbMasterWires_mOrdered,
207
       plbMasterWires_mRNW,
208
       plbMasterWires_mRdBurst,
209
       plbMasterWires_mRequest,
210
       plbMasterWires_mWrBurst;
211
 
212
wire RST_N;
213
assign RST_N = ~RST;
214
 
215
 
216
mkMD6ControlEngine  m(
217
                .CLK(CLK),
218
                .RST_N(RST_N),
219
 
220
                .plbMasterWires_mABus(plbMasterWires_mABus),
221
                .plbMasterWires_mBE(plbMasterWires_mBE),
222
                .plbMasterWires_mRNW(plbMasterWires_mRNW),
223
                .plbMasterWires_mAbort(plbMasterWires_mAbort),
224
                .plbMasterWires_mBusLock(plbMasterWires_mBusLock),
225
                .plbMasterWires_mCompress(plbMasterWires_mCompress),
226
                .plbMasterWires_mGuarded(plbMasterWires_mGuarded),
227
                .plbMasterWires_mLockErr(plbMasterWires_mLockErr),
228
                .plbMasterWires_mMSize(plbMasterWires_mMSize),
229
                .plbMasterWires_mOrdered(plbMasterWires_mOrdered),
230
                .plbMasterWires_mPriority(plbMasterWires_mPriority),
231
                .plbMasterWires_mRdBurst(plbMasterWires_mRdBurst),
232
                .plbMasterWires_mRequest(plbMasterWires_mRequest),
233
                .plbMasterWires_mSize(plbMasterWires_mSize),
234
                .plbMasterWires_mType(plbMasterWires_mType),
235
                .plbMasterWires_mWrBurst(plbMasterWires_mWrBurst),
236
                .plbMasterWires_mWrDBus(plbMasterWires_mWrDBus),
237
                .plbMasterWires_mRst(plbMasterWires_mRst),
238
                .plbMasterWires_mAddrAck(plbMasterWires_mAddrAck),
239
                .plbMasterWires_mBusy(plbMasterWires_mBusy),
240
                .plbMasterWires_mErr(plbMasterWires_mErr),
241
                .plbMasterWires_mRdBTerm(plbMasterWires_mRdBTerm),
242
                .plbMasterWires_mRdDAck(plbMasterWires_mRdDAck),
243
                .plbMasterWires_mRdDBus(plbMasterWires_mRdDBus),
244
                .plbMasterWires_mRdWdAddr(plbMasterWires_mRdWdAddr),
245
                .plbMasterWires_mRearbitrate(plbMasterWires_mRearbitrate),
246
                .plbMasterWires_mWrBTerm(plbMasterWires_mWrBTerm),
247
                .plbMasterWires_mWrDAck(plbMasterWires_mWrDAck),
248
                .plbMasterWires_mSSize(plbMasterWires_mSSize),
249
                .plbMasterWires_sMErr(plbMasterWires_sMErr),
250
                .plbMasterWires_sMBusy(plbMasterWires_sMBusy),
251
                .bramInitiatorWires_bramAddr(bramInitiatorWires_bramAddr_our),
252
                .bramInitiatorWires_bramDout(bramInitiatorWires_bramDout),
253
                .bramInitiatorWires_bramWEN(bramInitiatorWires_bramWEN),
254
                .bramInitiatorWires_bramEN(bramInitiatorWires_bramEN),
255
                .bramInitiatorWires_bramCLK(bramInitiatorWires_bramCLK),
256
                .bramInitiatorWires_bramRST(bramInitiatorWires_bramRST),
257
                .bramInitiatorWires_din(bramInitiatorWires_bramDin)
258
                );
259
 
260
endmodule

powered by: WebSVN 2.1.0

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