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

Subversion Repositories eus100lx

[/] [eus100lx/] [trunk/] [fpga/] [picoblaze-asm/] [rom_form.v] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 freza
////////////////////////////////////////////////////////////////////////////////
2
// Copyright (c) 2004 Xilinx, Inc.
3
// All Rights Reserved
4
////////////////////////////////////////////////////////////////////////////////
5
//   ____  ____
6
//  /   /\/   /
7
// /___/  \  /    Vendor: Xilinx
8
// \   \   \/     Version: 1.02
9
//  \   \         Filename: ROM_form.v
10
//  /   /         Date Last Modified:  September 7 2004
11
// /___/   /\     Date Created: July 2003
12
// \   \  /  \
13
//  \___\/\___\
14
//
15
//Device:       Xilinx
16
//Purpose:      
17
//      This is the Verilog template file for the KCPSM3 assembler.
18
//      It is used to configure a Spartan-3, Virtex-II or Virtex-IIPRO block 
19
//      RAM to act as a single port program ROM.
20
//
21
//      This Verilog file is not valid as input directly into a synthesis or 
22
//      simulation tool.        The assembler will read this template and insert the 
23
//      data required to complete the definition of program ROM and write it out 
24
//      to a new '.v' file associated with the name of the original '.psm' file 
25
//      being assembled.
26
//
27
//      This template can be modified to define alternative memory definitions 
28
//      such as dual port.  However, you are responsible for ensuring the template
29
//      is correct as the assembler does not perform any checking of the Verilog.
30
//
31
//      The assembler identifies all text enclosed by {} characters, and replaces 
32
//      these character strings. All templates should include these {} character 
33
//      strings for the assembler to work correctly. 
34
//
35
//      This template defines a block RAM configured in 1024 x 18-bit single port 
36
//      mode and conneceted to act as a single port ROM.
37
//
38
//Reference:
39
//      None
40
//Revision History:
41
//    Rev 1.00 - jc - Converted to verilog,  July 2003.
42
//    Rev 1.01 - sus - Added text to confirm to Xilinx HDL std,  August 4 2004.
43
//    Rev 1.02 - njs - Added attributes for Synplicity  August 5 2004.
44
//      Rev 1.03 - sus - Added text to conform to Xilinx generated 
45
//                              HDL spec, September 7 2004
46
//
47
////////////////////////////////////////////////////////////////////////////////
48
// Contact: e-mail  picoblaze@xilinx.com
49
//////////////////////////////////////////////////////////////////////////////////
50
//
51
// Disclaimer: 
52
// LIMITED WARRANTY AND DISCLAIMER. These designs are
53
// provided to you "as is". Xilinx and its licensors make and you
54
// receive no warranties or conditions, express, implied,
55
// statutory or otherwise, and Xilinx specifically disclaims any
56
// implied warranties of merchantability, non-infringement, or
57
// fitness for a particular purpose. Xilinx does not warrant that
58
// the functions contained in these designs will meet your
59
// requirements, or that the operation of these designs will be
60
// uninterrupted or error free, or that defects in the Designs
61
// will be corrected. Furthermore, Xilinx does not warrant or
62
// make any representations regarding use or the results of the
63
// use of the designs in terms of correctness, accuracy,
64
// reliability, or otherwise.
65
//
66
// LIMITATION OF LIABILITY. In no event will Xilinx or its
67
// licensors be liable for any loss of data, lost profits, cost
68
// or procurement of substitute goods or services, or for any
69
// special, incidental, consequential, or indirect damages
70
// arising from the use or operation of the designs or
71
// accompanying documentation, however caused and on any theory
72
// of liability. This limitation will apply even if Xilinx
73
// has been advised of the possibility of such damage. This
74
// limitation shall apply not-withstanding the failure of the 
75
// essential purpose of any limited remedies herein. 
76
//////////////////////////////////////////////////////////////////////////////////
77
 
78
The next line is used to determine where the template actually starts and must exist.
79
{begin template}
80
////////////////////////////////////////////////////////////////////////////////
81
// Copyright (c) 2004 Xilinx, Inc.
82
// All Rights Reserved
83
////////////////////////////////////////////////////////////////////////////////
84
//   ____  ____
85
//  /   /\/   /
86
// /___/  \  /    Vendor: Xilinx
87
// \   \   \/     Version: v1.30
88
//  \   \         Application : KCPSM3
89
//  /   /         Filename: {name}.v
90
// /___/   /\     
91
// \   \  /  \
92
//  \___\/\___\
93
//
94
//Command: kcpsm3 {name}.psm
95
//Device: Spartan-3, Spartan-3E, Virtex-II, and Virtex-II Pro FPGAs
96
//Design Name: {name}
97
//Generated {timestamp}.
98
//Purpose:
99
//      {name} verilog program definition.
100
//
101
//Reference:
102
//      PicoBlaze 8-bit Embedded Microcontroller User Guide
103
////////////////////////////////////////////////////////////////////////////////
104
 
105
`timescale 1 ps / 1ps
106
 
107
module {name} (BRAM_DATA, BRAM_ADDR, BRAM_EN, address, instruction, clk);
108
 
109
 
110
input [17:0] BRAM_DATA;
111
input [9:0]  BRAM_ADDR;
112
input BRAM_EN;
113
 
114
input [9:0] address;
115
input clk;
116
 
117
output [17:0] instruction;
118
 
119
RAMB16_S18_S18 ram_1024_x_18(
120
        .DIA    (16'h0000),
121
        .DIPA   (2'b00),
122
        .ENA    (1'b1),
123
        .WEA    (1'b0),
124
        .SSRA   (1'b0),
125
        .CLKA   (clk),
126
        .ADDRA  (address),
127
        .DOA    (instruction[15:0]),
128
        .DOPA   (instruction[17:16]),
129
//
130
        .DIB    (BRAM_DATA[15:0]),
131
        .DIPB   (BRAM_DATA[17:16]),
132
        .ENB    (BRAM_EN),
133
        .WEB    (1'b1),
134
        .SSRB   (1'b0),
135
        .CLKB   (clk),
136
        .ADDRB  (BRAM_ADDR),
137
        .DOB    (),
138
        .DOPB   ())
139
/*synthesis
140
init_00 = "{INIT_00}"
141
init_01 = "{INIT_01}"
142
init_02 = "{INIT_02}"
143
init_03 = "{INIT_03}"
144
init_04 = "{INIT_04}"
145
init_05 = "{INIT_05}"
146
init_06 = "{INIT_06}"
147
init_07 = "{INIT_07}"
148
init_08 = "{INIT_08}"
149
init_09 = "{INIT_09}"
150
init_0A = "{INIT_0A}"
151
init_0B = "{INIT_0B}"
152
init_0C = "{INIT_0C}"
153
init_0D = "{INIT_0D}"
154
init_0E = "{INIT_0E}"
155
init_0F = "{INIT_0F}"
156
init_10 = "{INIT_10}"
157
init_11 = "{INIT_11}"
158
init_12 = "{INIT_12}"
159
init_13 = "{INIT_13}"
160
init_14 = "{INIT_14}"
161
init_15 = "{INIT_15}"
162
init_16 = "{INIT_16}"
163
init_17 = "{INIT_17}"
164
init_18 = "{INIT_18}"
165
init_19 = "{INIT_19}"
166
init_1A = "{INIT_1A}"
167
init_1B = "{INIT_1B}"
168
init_1C = "{INIT_1C}"
169
init_1D = "{INIT_1D}"
170
init_1E = "{INIT_1E}"
171
init_1F = "{INIT_1F}"
172
init_20 = "{INIT_20}"
173
init_21 = "{INIT_21}"
174
init_22 = "{INIT_22}"
175
init_23 = "{INIT_23}"
176
init_24 = "{INIT_24}"
177
init_25 = "{INIT_25}"
178
init_26 = "{INIT_26}"
179
init_27 = "{INIT_27}"
180
init_28 = "{INIT_28}"
181
init_29 = "{INIT_29}"
182
init_2A = "{INIT_2A}"
183
init_2B = "{INIT_2B}"
184
init_2C = "{INIT_2C}"
185
init_2D = "{INIT_2D}"
186
init_2E = "{INIT_2E}"
187
init_2F = "{INIT_2F}"
188
init_30 = "{INIT_30}"
189
init_31 = "{INIT_31}"
190
init_32 = "{INIT_32}"
191
init_33 = "{INIT_33}"
192
init_34 = "{INIT_34}"
193
init_35 = "{INIT_35}"
194
init_36 = "{INIT_36}"
195
init_37 = "{INIT_37}"
196
init_38 = "{INIT_38}"
197
init_39 = "{INIT_39}"
198
init_3A = "{INIT_3A}"
199
init_3B = "{INIT_3B}"
200
init_3C = "{INIT_3C}"
201
init_3D = "{INIT_3D}"
202
init_3E = "{INIT_3E}"
203
init_3F = "{INIT_3F}"
204
initp_00 = "{INITP_00}"
205
initp_01 = "{INITP_01}"
206
initp_02 = "{INITP_02}"
207
initp_03 = "{INITP_03}"
208
initp_04 = "{INITP_04}"
209
initp_05 = "{INITP_05}"
210
initp_06 = "{INITP_06}"
211
initp_07 = "{INITP_07}" */;
212
 
213
// synthesis translate_off
214
// Attributes for Simulation
215
defparam ram_1024_x_18.INIT_00  = 256'h{INIT_00};
216
defparam ram_1024_x_18.INIT_01  = 256'h{INIT_01};
217
defparam ram_1024_x_18.INIT_02  = 256'h{INIT_02};
218
defparam ram_1024_x_18.INIT_03  = 256'h{INIT_03};
219
defparam ram_1024_x_18.INIT_04  = 256'h{INIT_04};
220
defparam ram_1024_x_18.INIT_05  = 256'h{INIT_05};
221
defparam ram_1024_x_18.INIT_06  = 256'h{INIT_06};
222
defparam ram_1024_x_18.INIT_07  = 256'h{INIT_07};
223
defparam ram_1024_x_18.INIT_08  = 256'h{INIT_08};
224
defparam ram_1024_x_18.INIT_09  = 256'h{INIT_09};
225
defparam ram_1024_x_18.INIT_0A  = 256'h{INIT_0A};
226
defparam ram_1024_x_18.INIT_0B  = 256'h{INIT_0B};
227
defparam ram_1024_x_18.INIT_0C  = 256'h{INIT_0C};
228
defparam ram_1024_x_18.INIT_0D  = 256'h{INIT_0D};
229
defparam ram_1024_x_18.INIT_0E  = 256'h{INIT_0E};
230
defparam ram_1024_x_18.INIT_0F  = 256'h{INIT_0F};
231
defparam ram_1024_x_18.INIT_10  = 256'h{INIT_10};
232
defparam ram_1024_x_18.INIT_11  = 256'h{INIT_11};
233
defparam ram_1024_x_18.INIT_12  = 256'h{INIT_12};
234
defparam ram_1024_x_18.INIT_13  = 256'h{INIT_13};
235
defparam ram_1024_x_18.INIT_14  = 256'h{INIT_14};
236
defparam ram_1024_x_18.INIT_15  = 256'h{INIT_15};
237
defparam ram_1024_x_18.INIT_16  = 256'h{INIT_16};
238
defparam ram_1024_x_18.INIT_17  = 256'h{INIT_17};
239
defparam ram_1024_x_18.INIT_18  = 256'h{INIT_18};
240
defparam ram_1024_x_18.INIT_19  = 256'h{INIT_19};
241
defparam ram_1024_x_18.INIT_1A  = 256'h{INIT_1A};
242
defparam ram_1024_x_18.INIT_1B  = 256'h{INIT_1B};
243
defparam ram_1024_x_18.INIT_1C  = 256'h{INIT_1C};
244
defparam ram_1024_x_18.INIT_1D  = 256'h{INIT_1D};
245
defparam ram_1024_x_18.INIT_1E  = 256'h{INIT_1E};
246
defparam ram_1024_x_18.INIT_1F  = 256'h{INIT_1F};
247
defparam ram_1024_x_18.INIT_20  = 256'h{INIT_20};
248
defparam ram_1024_x_18.INIT_21  = 256'h{INIT_21};
249
defparam ram_1024_x_18.INIT_22  = 256'h{INIT_22};
250
defparam ram_1024_x_18.INIT_23  = 256'h{INIT_23};
251
defparam ram_1024_x_18.INIT_24  = 256'h{INIT_24};
252
defparam ram_1024_x_18.INIT_25  = 256'h{INIT_25};
253
defparam ram_1024_x_18.INIT_26  = 256'h{INIT_26};
254
defparam ram_1024_x_18.INIT_27  = 256'h{INIT_27};
255
defparam ram_1024_x_18.INIT_28  = 256'h{INIT_28};
256
defparam ram_1024_x_18.INIT_29  = 256'h{INIT_29};
257
defparam ram_1024_x_18.INIT_2A  = 256'h{INIT_2A};
258
defparam ram_1024_x_18.INIT_2B  = 256'h{INIT_2B};
259
defparam ram_1024_x_18.INIT_2C  = 256'h{INIT_2C};
260
defparam ram_1024_x_18.INIT_2D  = 256'h{INIT_2D};
261
defparam ram_1024_x_18.INIT_2E  = 256'h{INIT_2E};
262
defparam ram_1024_x_18.INIT_2F  = 256'h{INIT_2F};
263
defparam ram_1024_x_18.INIT_30  = 256'h{INIT_30};
264
defparam ram_1024_x_18.INIT_31  = 256'h{INIT_31};
265
defparam ram_1024_x_18.INIT_32  = 256'h{INIT_32};
266
defparam ram_1024_x_18.INIT_33  = 256'h{INIT_33};
267
defparam ram_1024_x_18.INIT_34  = 256'h{INIT_34};
268
defparam ram_1024_x_18.INIT_35  = 256'h{INIT_35};
269
defparam ram_1024_x_18.INIT_36  = 256'h{INIT_36};
270
defparam ram_1024_x_18.INIT_37  = 256'h{INIT_37};
271
defparam ram_1024_x_18.INIT_38  = 256'h{INIT_38};
272
defparam ram_1024_x_18.INIT_39  = 256'h{INIT_39};
273
defparam ram_1024_x_18.INIT_3A  = 256'h{INIT_3A};
274
defparam ram_1024_x_18.INIT_3B  = 256'h{INIT_3B};
275
defparam ram_1024_x_18.INIT_3C  = 256'h{INIT_3C};
276
defparam ram_1024_x_18.INIT_3D  = 256'h{INIT_3D};
277
defparam ram_1024_x_18.INIT_3E  = 256'h{INIT_3E};
278
defparam ram_1024_x_18.INIT_3F  = 256'h{INIT_3F};
279
defparam ram_1024_x_18.INITP_00 = 256'h{INITP_00};
280
defparam ram_1024_x_18.INITP_01 = 256'h{INITP_01};
281
defparam ram_1024_x_18.INITP_02 = 256'h{INITP_02};
282
defparam ram_1024_x_18.INITP_03 = 256'h{INITP_03};
283
defparam ram_1024_x_18.INITP_04 = 256'h{INITP_04};
284
defparam ram_1024_x_18.INITP_05 = 256'h{INITP_05};
285
defparam ram_1024_x_18.INITP_06 = 256'h{INITP_06};
286
defparam ram_1024_x_18.INITP_07 = 256'h{INITP_07};
287
 
288
// synthesis translate_on
289
// Attributes for XST (Synplicity attributes are in-line)
290
// synthesis attribute INIT_00  of ram_1024_x_18 is "{INIT_00}"
291
// synthesis attribute INIT_01  of ram_1024_x_18 is "{INIT_01}"
292
// synthesis attribute INIT_02  of ram_1024_x_18 is "{INIT_02}"
293
// synthesis attribute INIT_03  of ram_1024_x_18 is "{INIT_03}"
294
// synthesis attribute INIT_04  of ram_1024_x_18 is "{INIT_04}"
295
// synthesis attribute INIT_05  of ram_1024_x_18 is "{INIT_05}"
296
// synthesis attribute INIT_06  of ram_1024_x_18 is "{INIT_06}"
297
// synthesis attribute INIT_07  of ram_1024_x_18 is "{INIT_07}"
298
// synthesis attribute INIT_08  of ram_1024_x_18 is "{INIT_08}"
299
// synthesis attribute INIT_09  of ram_1024_x_18 is "{INIT_09}"
300
// synthesis attribute INIT_0A  of ram_1024_x_18 is "{INIT_0A}"
301
// synthesis attribute INIT_0B  of ram_1024_x_18 is "{INIT_0B}"
302
// synthesis attribute INIT_0C  of ram_1024_x_18 is "{INIT_0C}"
303
// synthesis attribute INIT_0D  of ram_1024_x_18 is "{INIT_0D}"
304
// synthesis attribute INIT_0E  of ram_1024_x_18 is "{INIT_0E}"
305
// synthesis attribute INIT_0F  of ram_1024_x_18 is "{INIT_0F}"
306
// synthesis attribute INIT_10  of ram_1024_x_18 is "{INIT_10}"
307
// synthesis attribute INIT_11  of ram_1024_x_18 is "{INIT_11}"
308
// synthesis attribute INIT_12  of ram_1024_x_18 is "{INIT_12}"
309
// synthesis attribute INIT_13  of ram_1024_x_18 is "{INIT_13}"
310
// synthesis attribute INIT_14  of ram_1024_x_18 is "{INIT_14}"
311
// synthesis attribute INIT_15  of ram_1024_x_18 is "{INIT_15}"
312
// synthesis attribute INIT_16  of ram_1024_x_18 is "{INIT_16}"
313
// synthesis attribute INIT_17  of ram_1024_x_18 is "{INIT_17}"
314
// synthesis attribute INIT_18  of ram_1024_x_18 is "{INIT_18}"
315
// synthesis attribute INIT_19  of ram_1024_x_18 is "{INIT_19}"
316
// synthesis attribute INIT_1A  of ram_1024_x_18 is "{INIT_1A}"
317
// synthesis attribute INIT_1B  of ram_1024_x_18 is "{INIT_1B}"
318
// synthesis attribute INIT_1C  of ram_1024_x_18 is "{INIT_1C}"
319
// synthesis attribute INIT_1D  of ram_1024_x_18 is "{INIT_1D}"
320
// synthesis attribute INIT_1E  of ram_1024_x_18 is "{INIT_1E}"
321
// synthesis attribute INIT_1F  of ram_1024_x_18 is "{INIT_1F}"
322
// synthesis attribute INIT_20  of ram_1024_x_18 is "{INIT_20}"
323
// synthesis attribute INIT_21  of ram_1024_x_18 is "{INIT_21}"
324
// synthesis attribute INIT_22  of ram_1024_x_18 is "{INIT_22}"
325
// synthesis attribute INIT_23  of ram_1024_x_18 is "{INIT_23}"
326
// synthesis attribute INIT_24  of ram_1024_x_18 is "{INIT_24}"
327
// synthesis attribute INIT_25  of ram_1024_x_18 is "{INIT_25}"
328
// synthesis attribute INIT_26  of ram_1024_x_18 is "{INIT_26}"
329
// synthesis attribute INIT_27  of ram_1024_x_18 is "{INIT_27}"
330
// synthesis attribute INIT_28  of ram_1024_x_18 is "{INIT_28}"
331
// synthesis attribute INIT_29  of ram_1024_x_18 is "{INIT_29}"
332
// synthesis attribute INIT_2A  of ram_1024_x_18 is "{INIT_2A}"
333
// synthesis attribute INIT_2B  of ram_1024_x_18 is "{INIT_2B}"
334
// synthesis attribute INIT_2C  of ram_1024_x_18 is "{INIT_2C}"
335
// synthesis attribute INIT_2D  of ram_1024_x_18 is "{INIT_2D}"
336
// synthesis attribute INIT_2E  of ram_1024_x_18 is "{INIT_2E}"
337
// synthesis attribute INIT_2F  of ram_1024_x_18 is "{INIT_2F}"
338
// synthesis attribute INIT_30  of ram_1024_x_18 is "{INIT_30}"
339
// synthesis attribute INIT_31  of ram_1024_x_18 is "{INIT_31}"
340
// synthesis attribute INIT_32  of ram_1024_x_18 is "{INIT_32}"
341
// synthesis attribute INIT_33  of ram_1024_x_18 is "{INIT_33}"
342
// synthesis attribute INIT_34  of ram_1024_x_18 is "{INIT_34}"
343
// synthesis attribute INIT_35  of ram_1024_x_18 is "{INIT_35}"
344
// synthesis attribute INIT_36  of ram_1024_x_18 is "{INIT_36}"
345
// synthesis attribute INIT_37  of ram_1024_x_18 is "{INIT_37}"
346
// synthesis attribute INIT_38  of ram_1024_x_18 is "{INIT_38}"
347
// synthesis attribute INIT_39  of ram_1024_x_18 is "{INIT_39}"
348
// synthesis attribute INIT_3A  of ram_1024_x_18 is "{INIT_3A}"
349
// synthesis attribute INIT_3B  of ram_1024_x_18 is "{INIT_3B}"
350
// synthesis attribute INIT_3C  of ram_1024_x_18 is "{INIT_3C}"
351
// synthesis attribute INIT_3D  of ram_1024_x_18 is "{INIT_3D}"
352
// synthesis attribute INIT_3E  of ram_1024_x_18 is "{INIT_3E}"
353
// synthesis attribute INIT_3F  of ram_1024_x_18 is "{INIT_3F}"
354
// synthesis attribute INITP_00 of ram_1024_x_18 is "{INITP_00}"
355
// synthesis attribute INITP_01 of ram_1024_x_18 is "{INITP_01}"
356
// synthesis attribute INITP_02 of ram_1024_x_18 is "{INITP_02}"
357
// synthesis attribute INITP_03 of ram_1024_x_18 is "{INITP_03}"
358
// synthesis attribute INITP_04 of ram_1024_x_18 is "{INITP_04}"
359
// synthesis attribute INITP_05 of ram_1024_x_18 is "{INITP_05}"
360
// synthesis attribute INITP_06 of ram_1024_x_18 is "{INITP_06}"
361
// synthesis attribute INITP_07 of ram_1024_x_18 is "{INITP_07}"
362
 
363
endmodule
364
 
365
// END OF FILE {name}.v

powered by: WebSVN 2.1.0

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