rvvm 1.1.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -1
- data/README.md +159 -5
- data/Rakefile +0 -6
- data/doc/Crayons.html +1206 -0
- data/doc/Rvvm/Error.html +148 -0
- data/doc/Rvvm.html +2258 -0
- data/doc/Templates.html +227 -0
- data/doc/Utils.html +991 -0
- data/doc/_index.html +161 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +503 -0
- data/doc/file.README.html +444 -0
- data/doc/file_list.html +59 -0
- data/doc/frames.html +22 -0
- data/doc/index.html +444 -0
- data/doc/js/app.js +344 -0
- data/doc/js/full_list.js +242 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +334 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/rvvm/crayons.rb +14 -4
- data/lib/rvvm/templates.rb +1 -0
- data/lib/rvvm/utils.rb +2 -2
- data/lib/rvvm/version.rb +1 -1
- data/lib/rvvm.rb +37 -28
- data/sig/rvvm/crayons.rbs +12 -6
- data/sig/rvvm/utils.rbs +5 -5
- data/sig/rvvm.rbs +31 -5
- metadata +21 -2
data/doc/Rvvm.html
ADDED
@@ -0,0 +1,2258 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Module: Rvvm
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.37
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
16
|
+
|
17
|
+
<script type="text/javascript">
|
18
|
+
pathId = "Rvvm";
|
19
|
+
relpath = '';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="_index.html">Index (R)</a> »
|
40
|
+
|
41
|
+
|
42
|
+
<span class="title">Rvvm</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Module: Rvvm
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<dl>
|
80
|
+
<dt>Defined in:</dt>
|
81
|
+
<dd>lib/rvvm.rb<span class="defines">,<br />
|
82
|
+
lib/rvvm/version.rb</span>
|
83
|
+
</dd>
|
84
|
+
</dl>
|
85
|
+
|
86
|
+
</div>
|
87
|
+
|
88
|
+
<h2>Overview</h2><div class="docstring">
|
89
|
+
<div class="discussion">
|
90
|
+
<p>Module holding current rvvm version.</p>
|
91
|
+
|
92
|
+
|
93
|
+
</div>
|
94
|
+
</div>
|
95
|
+
<div class="tags">
|
96
|
+
|
97
|
+
|
98
|
+
</div><h2>Defined Under Namespace</h2>
|
99
|
+
<p class="children">
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Rvvm/Error.html" title="Rvvm::Error (class)">Error</a></span>
|
105
|
+
|
106
|
+
|
107
|
+
</p>
|
108
|
+
|
109
|
+
|
110
|
+
<h2>
|
111
|
+
Constant Summary
|
112
|
+
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
|
113
|
+
</h2>
|
114
|
+
|
115
|
+
<dl class="constants">
|
116
|
+
|
117
|
+
<dt id="VERSION-constant" class="">VERSION =
|
118
|
+
<div class="docstring">
|
119
|
+
<div class="discussion">
|
120
|
+
<p>Current rvvm module version.</p>
|
121
|
+
|
122
|
+
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
<div class="tags">
|
126
|
+
|
127
|
+
|
128
|
+
</div>
|
129
|
+
</dt>
|
130
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1.2.2</span><span class='tstring_end'>"</span></span></pre></dd>
|
131
|
+
|
132
|
+
</dl>
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
<h2>
|
143
|
+
Class Method Summary
|
144
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
145
|
+
</h2>
|
146
|
+
|
147
|
+
<ul class="summary">
|
148
|
+
|
149
|
+
<li class="public ">
|
150
|
+
<span class="summary_signature">
|
151
|
+
|
152
|
+
<a href="#check_args-class_method" title="check_args (class method)">.<strong>check_args</strong> ⇒ void </a>
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
</span>
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
<span class="summary_desc"><div class='inline'><p>Simple argument check.</p>
|
167
|
+
</div></span>
|
168
|
+
|
169
|
+
</li>
|
170
|
+
|
171
|
+
|
172
|
+
<li class="public ">
|
173
|
+
<span class="summary_signature">
|
174
|
+
|
175
|
+
<a href="#compile-class_method" title="compile (class method)">.<strong>compile</strong> ⇒ void </a>
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
</span>
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
<span class="summary_desc"><div class='inline'><p>Compiles project SystemVerilog sources using xvlog.</p>
|
190
|
+
</div></span>
|
191
|
+
|
192
|
+
</li>
|
193
|
+
|
194
|
+
|
195
|
+
<li class="public ">
|
196
|
+
<span class="summary_signature">
|
197
|
+
|
198
|
+
<a href="#cov_report-class_method" title="cov_report (class method)">.<strong>cov_report</strong> ⇒ void </a>
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
</span>
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
<span class="summary_desc"><div class='inline'><p>Opens last generated functional coverage report in a HTML dashboard.</p>
|
213
|
+
</div></span>
|
214
|
+
|
215
|
+
</li>
|
216
|
+
|
217
|
+
|
218
|
+
<li class="public ">
|
219
|
+
<span class="summary_signature">
|
220
|
+
|
221
|
+
<a href="#coverage-class_method" title="coverage (class method)">.<strong>coverage</strong> ⇒ void </a>
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
</span>
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
<span class="summary_desc"><div class='inline'><p>Generates UVM test functional coverage report using xcrg.</p>
|
236
|
+
</div></span>
|
237
|
+
|
238
|
+
</li>
|
239
|
+
|
240
|
+
|
241
|
+
<li class="public ">
|
242
|
+
<span class="summary_signature">
|
243
|
+
|
244
|
+
<a href="#create_module-class_method" title="create_module (class method)">.<strong>create_module</strong>(name, type) ⇒ void </a>
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
</span>
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
<span class="summary_desc"><div class='inline'><p>Generates a SystemVerilog module/interface template.</p>
|
259
|
+
</div></span>
|
260
|
+
|
261
|
+
</li>
|
262
|
+
|
263
|
+
|
264
|
+
<li class="public ">
|
265
|
+
<span class="summary_signature">
|
266
|
+
|
267
|
+
<a href="#create_new_project-class_method" title="create_new_project (class method)">.<strong>create_new_project</strong>(name) ⇒ void </a>
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
</span>
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
<span class="summary_desc"><div class='inline'><p>Creates a new RVvM project template in pwd with a given name.</p>
|
282
|
+
</div></span>
|
283
|
+
|
284
|
+
</li>
|
285
|
+
|
286
|
+
|
287
|
+
<li class="public ">
|
288
|
+
<span class="summary_signature">
|
289
|
+
|
290
|
+
<a href="#create_pkg-class_method" title="create_pkg (class method)">.<strong>create_pkg</strong>(name) ⇒ void </a>
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
</span>
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
<span class="summary_desc"><div class='inline'><p>Generates a SystemVerilog package template.</p>
|
305
|
+
</div></span>
|
306
|
+
|
307
|
+
</li>
|
308
|
+
|
309
|
+
|
310
|
+
<li class="public ">
|
311
|
+
<span class="summary_signature">
|
312
|
+
|
313
|
+
<a href="#create_svfile-class_method" title="create_svfile (class method)">.<strong>create_svfile</strong>(name) ⇒ void </a>
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
</span>
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
<span class="summary_desc"><div class='inline'><p>Generates a generic SystemVerilog template file.</p>
|
328
|
+
</div></span>
|
329
|
+
|
330
|
+
</li>
|
331
|
+
|
332
|
+
|
333
|
+
<li class="public ">
|
334
|
+
<span class="summary_signature">
|
335
|
+
|
336
|
+
<a href="#dpi_c-class_method" title="dpi_c (class method)">.<strong>dpi_c</strong> ⇒ void </a>
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
</span>
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
<span class="summary_desc"><div class='inline'><p>Compiles C/C++ sources into a shared library to use during elaboration and simulation using DPI-C.</p>
|
351
|
+
</div></span>
|
352
|
+
|
353
|
+
</li>
|
354
|
+
|
355
|
+
|
356
|
+
<li class="public ">
|
357
|
+
<span class="summary_signature">
|
358
|
+
|
359
|
+
<a href="#elaborate-class_method" title="elaborate (class method)">.<strong>elaborate</strong> ⇒ void </a>
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
</span>
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
<span class="summary_desc"><div class='inline'><p>Elaborates project into a testbench snapshot using xelab.</p>
|
374
|
+
</div></span>
|
375
|
+
|
376
|
+
</li>
|
377
|
+
|
378
|
+
|
379
|
+
<li class="public ">
|
380
|
+
<span class="summary_signature">
|
381
|
+
|
382
|
+
<a href="#execute-class_method" title="execute (class method)">.<strong>execute</strong>(tag, command) ⇒ void </a>
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
</span>
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
<span class="summary_desc"><div class='inline'><p>Shell command with debug printout.</p>
|
397
|
+
</div></span>
|
398
|
+
|
399
|
+
</li>
|
400
|
+
|
401
|
+
|
402
|
+
<li class="public ">
|
403
|
+
<span class="summary_signature">
|
404
|
+
|
405
|
+
<a href="#gui-class_method" title="gui (class method)">.<strong>gui</strong> ⇒ void </a>
|
406
|
+
|
407
|
+
|
408
|
+
|
409
|
+
</span>
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
<span class="summary_desc"><div class='inline'><p>Opens last generated waveform trace dump to inspect in Vivado GUI.</p>
|
420
|
+
</div></span>
|
421
|
+
|
422
|
+
</li>
|
423
|
+
|
424
|
+
|
425
|
+
<li class="public ">
|
426
|
+
<span class="summary_signature">
|
427
|
+
|
428
|
+
<a href="#handle_args-class_method" title="handle_args (class method)">.<strong>handle_args</strong> ⇒ void </a>
|
429
|
+
|
430
|
+
|
431
|
+
|
432
|
+
</span>
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
<span class="summary_desc"><div class='inline'><p>Argument collision handling and additional settings for batch simulation and dpi compilation.</p>
|
443
|
+
</div></span>
|
444
|
+
|
445
|
+
</li>
|
446
|
+
|
447
|
+
|
448
|
+
<li class="public ">
|
449
|
+
<span class="summary_signature">
|
450
|
+
|
451
|
+
<a href="#load_config-class_method" title="load_config (class method)">.<strong>load_config</strong> ⇒ void </a>
|
452
|
+
|
453
|
+
|
454
|
+
|
455
|
+
</span>
|
456
|
+
|
457
|
+
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
<span class="summary_desc"><div class='inline'><p>Loads and parses rvvmconf.json config file from an RVvM project rvvm directory.</p>
|
466
|
+
</div></span>
|
467
|
+
|
468
|
+
</li>
|
469
|
+
|
470
|
+
|
471
|
+
<li class="public ">
|
472
|
+
<span class="summary_signature">
|
473
|
+
|
474
|
+
<a href="#prj_top-class_method" title="prj_top (class method)">.<strong>prj_top</strong> ⇒ void </a>
|
475
|
+
|
476
|
+
|
477
|
+
|
478
|
+
</span>
|
479
|
+
|
480
|
+
|
481
|
+
|
482
|
+
|
483
|
+
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
<span class="summary_desc"><div class='inline'><p>Navigates to project top (rvvm directory of the RVvM project).</p>
|
489
|
+
</div></span>
|
490
|
+
|
491
|
+
</li>
|
492
|
+
|
493
|
+
|
494
|
+
<li class="public ">
|
495
|
+
<span class="summary_signature">
|
496
|
+
|
497
|
+
<a href="#run-class_method" title="run (class method)">.<strong>run</strong> ⇒ void </a>
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
</span>
|
502
|
+
|
503
|
+
|
504
|
+
|
505
|
+
|
506
|
+
|
507
|
+
|
508
|
+
|
509
|
+
|
510
|
+
|
511
|
+
<span class="summary_desc"><div class='inline'><p>Runs rvvm calling its methods based on provided script args.</p>
|
512
|
+
</div></span>
|
513
|
+
|
514
|
+
</li>
|
515
|
+
|
516
|
+
|
517
|
+
<li class="public ">
|
518
|
+
<span class="summary_signature">
|
519
|
+
|
520
|
+
<a href="#run_sim-class_method" title="run_sim (class method)">.<strong>run_sim</strong> ⇒ void </a>
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
</span>
|
525
|
+
|
526
|
+
|
527
|
+
|
528
|
+
|
529
|
+
|
530
|
+
|
531
|
+
|
532
|
+
|
533
|
+
|
534
|
+
<span class="summary_desc"><div class='inline'><p>Runs UVM test simulation on an elaborated testbench snapshot using xrun.</p>
|
535
|
+
</div></span>
|
536
|
+
|
537
|
+
</li>
|
538
|
+
|
539
|
+
|
540
|
+
<li class="public ">
|
541
|
+
<span class="summary_signature">
|
542
|
+
|
543
|
+
<a href="#run_sv-class_method" title="run_sv (class method)">.<strong>run_sv</strong> ⇒ void </a>
|
544
|
+
|
545
|
+
|
546
|
+
|
547
|
+
</span>
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
|
552
|
+
|
553
|
+
|
554
|
+
|
555
|
+
|
556
|
+
|
557
|
+
<span class="summary_desc"><div class='inline'><p>Runs a pure SystemVerilog/Verilog simulation using xrun.</p>
|
558
|
+
</div></span>
|
559
|
+
|
560
|
+
</li>
|
561
|
+
|
562
|
+
|
563
|
+
</ul>
|
564
|
+
|
565
|
+
|
566
|
+
|
567
|
+
|
568
|
+
<div id="class_method_details" class="method_details_list">
|
569
|
+
<h2>Class Method Details</h2>
|
570
|
+
|
571
|
+
|
572
|
+
<div class="method_details first">
|
573
|
+
<h3 class="signature first" id="check_args-class_method">
|
574
|
+
|
575
|
+
.<strong>check_args</strong> ⇒ <tt>void</tt>
|
576
|
+
|
577
|
+
|
578
|
+
|
579
|
+
|
580
|
+
|
581
|
+
</h3><div class="docstring">
|
582
|
+
<div class="discussion">
|
583
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Simple argument check.</p>
|
584
|
+
|
585
|
+
|
586
|
+
</div>
|
587
|
+
</div>
|
588
|
+
<div class="tags">
|
589
|
+
|
590
|
+
<p class="tag_title">Since:</p>
|
591
|
+
<ul class="since">
|
592
|
+
|
593
|
+
<li>
|
594
|
+
|
595
|
+
|
596
|
+
|
597
|
+
|
598
|
+
|
599
|
+
<div class='inline'><p>0.8.0</p>
|
600
|
+
</div>
|
601
|
+
|
602
|
+
</li>
|
603
|
+
|
604
|
+
</ul>
|
605
|
+
|
606
|
+
</div><table class="source_code">
|
607
|
+
<tr>
|
608
|
+
<td>
|
609
|
+
<pre class="lines">
|
610
|
+
|
611
|
+
|
612
|
+
123
|
613
|
+
124
|
614
|
+
125
|
615
|
+
126
|
616
|
+
127
|
617
|
+
128
|
618
|
+
129
|
619
|
+
130
|
620
|
+
131
|
621
|
+
132
|
622
|
+
133
|
623
|
+
134
|
624
|
+
135
|
625
|
+
136
|
626
|
+
137</pre>
|
627
|
+
</td>
|
628
|
+
<td>
|
629
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 123</span>
|
630
|
+
|
631
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_check_args'>check_args</span>
|
632
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:all</span><span class='rbracket'>]</span>
|
633
|
+
<span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:comp</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='int'>1</span>
|
634
|
+
<span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:elab</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='int'>1</span>
|
635
|
+
<span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:run</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='int'>1</span>
|
636
|
+
<span class='kw'>end</span>
|
637
|
+
|
638
|
+
<span class='comment'># Check if a required arg is provided
|
639
|
+
</span> <span class='kw'>return</span> <span class='kw'>unless</span> <span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_all_nil?'><span class='object_link'><a href="Utils.html#all_nil%3F-class_method" title="Utils.all_nil? (method)">all_nil?</a></span></span><span class='lparen'>(</span><span class='ivar'>@args</span><span class='comma'>,</span> <span class='ivar'>@required_args</span><span class='rparen'>)</span>
|
640
|
+
|
641
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
642
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_error'><span class='object_link'><a href="Crayons.html#log_error-class_method" title="Crayons.log_error (method)">log_error</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No required options provided!</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
643
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>For more info use -h or --help\n\n</span><span class='tstring_end'>"</span></span>
|
644
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
|
645
|
+
<span class='kw'>end</span></pre>
|
646
|
+
</td>
|
647
|
+
</tr>
|
648
|
+
</table>
|
649
|
+
</div>
|
650
|
+
|
651
|
+
<div class="method_details ">
|
652
|
+
<h3 class="signature " id="compile-class_method">
|
653
|
+
|
654
|
+
.<strong>compile</strong> ⇒ <tt>void</tt>
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
|
660
|
+
</h3><div class="docstring">
|
661
|
+
<div class="discussion">
|
662
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Compiles project SystemVerilog sources using xvlog.</p>
|
663
|
+
|
664
|
+
|
665
|
+
</div>
|
666
|
+
</div>
|
667
|
+
<div class="tags">
|
668
|
+
|
669
|
+
<p class="tag_title">Since:</p>
|
670
|
+
<ul class="since">
|
671
|
+
|
672
|
+
<li>
|
673
|
+
|
674
|
+
|
675
|
+
|
676
|
+
|
677
|
+
|
678
|
+
<div class='inline'><p>0.8.0</p>
|
679
|
+
</div>
|
680
|
+
|
681
|
+
</li>
|
682
|
+
|
683
|
+
</ul>
|
684
|
+
|
685
|
+
</div><table class="source_code">
|
686
|
+
<tr>
|
687
|
+
<td>
|
688
|
+
<pre class="lines">
|
689
|
+
|
690
|
+
|
691
|
+
319
|
692
|
+
320
|
693
|
+
321
|
694
|
+
322
|
695
|
+
323
|
696
|
+
324
|
697
|
+
325
|
698
|
+
326</pre>
|
699
|
+
</td>
|
700
|
+
<td>
|
701
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 319</span>
|
702
|
+
|
703
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_compile'>compile</span>
|
704
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:compilation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:args</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
705
|
+
<span class='id identifier rubyid_logname'>logname</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:complog</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:compilation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:compilation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:log</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
706
|
+
<span class='id identifier rubyid_complist'>complist</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:compilelist</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:compilation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span>
|
707
|
+
|
708
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xvlog -sv -f </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_complist'>complist</span><span class='embexpr_end'>}</span><span class='tstring_content'> -log </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_logname'>logname</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
709
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Compiling HDL sources...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
710
|
+
<span class='kw'>end</span></pre>
|
711
|
+
</td>
|
712
|
+
</tr>
|
713
|
+
</table>
|
714
|
+
</div>
|
715
|
+
|
716
|
+
<div class="method_details ">
|
717
|
+
<h3 class="signature " id="cov_report-class_method">
|
718
|
+
|
719
|
+
.<strong>cov_report</strong> ⇒ <tt>void</tt>
|
720
|
+
|
721
|
+
|
722
|
+
|
723
|
+
|
724
|
+
|
725
|
+
</h3><div class="docstring">
|
726
|
+
<div class="discussion">
|
727
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Opens last generated functional coverage report in a HTML dashboard.</p>
|
728
|
+
|
729
|
+
|
730
|
+
</div>
|
731
|
+
</div>
|
732
|
+
<div class="tags">
|
733
|
+
|
734
|
+
<p class="tag_title">Since:</p>
|
735
|
+
<ul class="since">
|
736
|
+
|
737
|
+
<li>
|
738
|
+
|
739
|
+
|
740
|
+
|
741
|
+
|
742
|
+
|
743
|
+
<div class='inline'><p>0.9.0</p>
|
744
|
+
</div>
|
745
|
+
|
746
|
+
</li>
|
747
|
+
|
748
|
+
</ul>
|
749
|
+
|
750
|
+
</div><table class="source_code">
|
751
|
+
<tr>
|
752
|
+
<td>
|
753
|
+
<pre class="lines">
|
754
|
+
|
755
|
+
|
756
|
+
443
|
757
|
+
444
|
758
|
+
445
|
759
|
+
446
|
760
|
+
447
|
761
|
+
448</pre>
|
762
|
+
</td>
|
763
|
+
<td>
|
764
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 443</span>
|
765
|
+
|
766
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_cov_report'>cov_report</span>
|
767
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xcrg_func_cov_report</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
768
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Opening coverage dashboard...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>./dashboard.html</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
769
|
+
|
770
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
771
|
+
<span class='kw'>end</span></pre>
|
772
|
+
</td>
|
773
|
+
</tr>
|
774
|
+
</table>
|
775
|
+
</div>
|
776
|
+
|
777
|
+
<div class="method_details ">
|
778
|
+
<h3 class="signature " id="coverage-class_method">
|
779
|
+
|
780
|
+
.<strong>coverage</strong> ⇒ <tt>void</tt>
|
781
|
+
|
782
|
+
|
783
|
+
|
784
|
+
|
785
|
+
|
786
|
+
</h3><div class="docstring">
|
787
|
+
<div class="discussion">
|
788
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Generates UVM test functional coverage report using xcrg.</p>
|
789
|
+
|
790
|
+
|
791
|
+
</div>
|
792
|
+
</div>
|
793
|
+
<div class="tags">
|
794
|
+
|
795
|
+
<p class="tag_title">Since:</p>
|
796
|
+
<ul class="since">
|
797
|
+
|
798
|
+
<li>
|
799
|
+
|
800
|
+
|
801
|
+
|
802
|
+
|
803
|
+
|
804
|
+
<div class='inline'><p>0.9.0</p>
|
805
|
+
</div>
|
806
|
+
|
807
|
+
</li>
|
808
|
+
|
809
|
+
</ul>
|
810
|
+
|
811
|
+
</div><table class="source_code">
|
812
|
+
<tr>
|
813
|
+
<td>
|
814
|
+
<pre class="lines">
|
815
|
+
|
816
|
+
|
817
|
+
433
|
818
|
+
434
|
819
|
+
435
|
820
|
+
436</pre>
|
821
|
+
</td>
|
822
|
+
<td>
|
823
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 433</span>
|
824
|
+
|
825
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_coverage'>coverage</span>
|
826
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xcrg -report_format html -dir xsim.covdb</span><span class='tstring_end'>"</span></span>
|
827
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generating UVM test functional coverage report...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
828
|
+
<span class='kw'>end</span></pre>
|
829
|
+
</td>
|
830
|
+
</tr>
|
831
|
+
</table>
|
832
|
+
</div>
|
833
|
+
|
834
|
+
<div class="method_details ">
|
835
|
+
<h3 class="signature " id="create_module-class_method">
|
836
|
+
|
837
|
+
.<strong>create_module</strong>(name, type) ⇒ <tt>void</tt>
|
838
|
+
|
839
|
+
|
840
|
+
|
841
|
+
|
842
|
+
|
843
|
+
</h3><div class="docstring">
|
844
|
+
<div class="discussion">
|
845
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Generates a SystemVerilog module/interface template.</p>
|
846
|
+
|
847
|
+
|
848
|
+
</div>
|
849
|
+
</div>
|
850
|
+
<div class="tags">
|
851
|
+
<p class="tag_title">Parameters:</p>
|
852
|
+
<ul class="param">
|
853
|
+
|
854
|
+
<li>
|
855
|
+
|
856
|
+
<span class='name'>type</span>
|
857
|
+
|
858
|
+
|
859
|
+
<span class='type'>(<tt>String</tt>)</span>
|
860
|
+
|
861
|
+
|
862
|
+
|
863
|
+
—
|
864
|
+
<div class='inline'><p>specifies modudle/itf</p>
|
865
|
+
</div>
|
866
|
+
|
867
|
+
</li>
|
868
|
+
|
869
|
+
<li>
|
870
|
+
|
871
|
+
<span class='name'>name</span>
|
872
|
+
|
873
|
+
|
874
|
+
<span class='type'>(<tt>String</tt>)</span>
|
875
|
+
|
876
|
+
|
877
|
+
|
878
|
+
—
|
879
|
+
<div class='inline'><p>specifies module/itf name</p>
|
880
|
+
</div>
|
881
|
+
|
882
|
+
</li>
|
883
|
+
|
884
|
+
</ul>
|
885
|
+
|
886
|
+
<p class="tag_title">Since:</p>
|
887
|
+
<ul class="since">
|
888
|
+
|
889
|
+
<li>
|
890
|
+
|
891
|
+
|
892
|
+
|
893
|
+
|
894
|
+
|
895
|
+
<div class='inline'><p>0.9.0</p>
|
896
|
+
</div>
|
897
|
+
|
898
|
+
</li>
|
899
|
+
|
900
|
+
</ul>
|
901
|
+
|
902
|
+
</div><table class="source_code">
|
903
|
+
<tr>
|
904
|
+
<td>
|
905
|
+
<pre class="lines">
|
906
|
+
|
907
|
+
|
908
|
+
458
|
909
|
+
459
|
910
|
+
460
|
911
|
+
461
|
912
|
+
462
|
913
|
+
463
|
914
|
+
464
|
915
|
+
465
|
916
|
+
466
|
917
|
+
467
|
918
|
+
468
|
919
|
+
469
|
920
|
+
470
|
921
|
+
471
|
922
|
+
472
|
923
|
+
473
|
924
|
+
474
|
925
|
+
475
|
926
|
+
476
|
927
|
+
477
|
928
|
+
478
|
929
|
+
479
|
930
|
+
480
|
931
|
+
481
|
932
|
+
482
|
933
|
+
483</pre>
|
934
|
+
</td>
|
935
|
+
<td>
|
936
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 458</span>
|
937
|
+
|
938
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create_module'>create_module</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
939
|
+
<span class='id identifier rubyid_conf'>conf</span> <span class='op'>=</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:conf</span><span class='rbracket'>]</span>
|
940
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
|
941
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@formatted_time</span>
|
942
|
+
<span class='kw'>unless</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
943
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:prjname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span>
|
944
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:company</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:company</span><span class='rbracket'>]</span>
|
945
|
+
<span class='kw'>end</span>
|
946
|
+
|
947
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span>
|
948
|
+
<span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:file</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>design/itf</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>itf</span><span class='tstring_end'>"</span></span>
|
949
|
+
|
950
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
951
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
952
|
+
<span class='kw'>else</span>
|
953
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:file</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
954
|
+
<span class='kw'>end</span>
|
955
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:username</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_git_userame'><span class='object_link'><a href="Utils.html#git_userame-class_method" title="Utils.git_userame (method)">git_userame</a></span></span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span>
|
956
|
+
|
957
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_start'><span class='object_link'><a href="Crayons.html#spinner_start-class_method" title="Crayons.spinner_start (method)">spinner_start</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generating SV </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> template...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
958
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.sv</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_conf'>conf</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
959
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
960
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
961
|
+
|
962
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
963
|
+
<span class='kw'>end</span></pre>
|
964
|
+
</td>
|
965
|
+
</tr>
|
966
|
+
</table>
|
967
|
+
</div>
|
968
|
+
|
969
|
+
<div class="method_details ">
|
970
|
+
<h3 class="signature " id="create_new_project-class_method">
|
971
|
+
|
972
|
+
.<strong>create_new_project</strong>(name) ⇒ <tt>void</tt>
|
973
|
+
|
974
|
+
|
975
|
+
|
976
|
+
|
977
|
+
|
978
|
+
</h3><div class="docstring">
|
979
|
+
<div class="discussion">
|
980
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Creates a new RVvM project template in pwd with a given name.</p>
|
981
|
+
|
982
|
+
|
983
|
+
</div>
|
984
|
+
</div>
|
985
|
+
<div class="tags">
|
986
|
+
<p class="tag_title">Parameters:</p>
|
987
|
+
<ul class="param">
|
988
|
+
|
989
|
+
<li>
|
990
|
+
|
991
|
+
<span class='name'>name</span>
|
992
|
+
|
993
|
+
|
994
|
+
<span class='type'>(<tt>String</tt>)</span>
|
995
|
+
|
996
|
+
|
997
|
+
|
998
|
+
—
|
999
|
+
<div class='inline'><p>project name</p>
|
1000
|
+
</div>
|
1001
|
+
|
1002
|
+
</li>
|
1003
|
+
|
1004
|
+
</ul>
|
1005
|
+
|
1006
|
+
<p class="tag_title">Since:</p>
|
1007
|
+
<ul class="since">
|
1008
|
+
|
1009
|
+
<li>
|
1010
|
+
|
1011
|
+
|
1012
|
+
|
1013
|
+
|
1014
|
+
|
1015
|
+
<div class='inline'><p>0.8.0</p>
|
1016
|
+
</div>
|
1017
|
+
|
1018
|
+
</li>
|
1019
|
+
|
1020
|
+
</ul>
|
1021
|
+
|
1022
|
+
</div><table class="source_code">
|
1023
|
+
<tr>
|
1024
|
+
<td>
|
1025
|
+
<pre class="lines">
|
1026
|
+
|
1027
|
+
|
1028
|
+
189
|
1029
|
+
190
|
1030
|
+
191
|
1031
|
+
192
|
1032
|
+
193
|
1033
|
+
194
|
1034
|
+
195
|
1035
|
+
196
|
1036
|
+
197
|
1037
|
+
198
|
1038
|
+
199
|
1039
|
+
200
|
1040
|
+
201
|
1041
|
+
202
|
1042
|
+
203
|
1043
|
+
204
|
1044
|
+
205
|
1045
|
+
206
|
1046
|
+
207
|
1047
|
+
208
|
1048
|
+
209
|
1049
|
+
210
|
1050
|
+
211
|
1051
|
+
212
|
1052
|
+
213
|
1053
|
+
214
|
1054
|
+
215
|
1055
|
+
216
|
1056
|
+
217
|
1057
|
+
218
|
1058
|
+
219
|
1059
|
+
220
|
1060
|
+
221
|
1061
|
+
222
|
1062
|
+
223
|
1063
|
+
224
|
1064
|
+
225
|
1065
|
+
226
|
1066
|
+
227
|
1067
|
+
228
|
1068
|
+
229
|
1069
|
+
230
|
1070
|
+
231
|
1071
|
+
232
|
1072
|
+
233
|
1073
|
+
234
|
1074
|
+
235
|
1075
|
+
236
|
1076
|
+
237
|
1077
|
+
238
|
1078
|
+
239
|
1079
|
+
240
|
1080
|
+
241
|
1081
|
+
242
|
1082
|
+
243
|
1083
|
+
244
|
1084
|
+
245
|
1085
|
+
246
|
1086
|
+
247
|
1087
|
+
248
|
1088
|
+
249
|
1089
|
+
250
|
1090
|
+
251
|
1091
|
+
252
|
1092
|
+
253
|
1093
|
+
254
|
1094
|
+
255
|
1095
|
+
256
|
1096
|
+
257
|
1097
|
+
258
|
1098
|
+
259
|
1099
|
+
260
|
1100
|
+
261
|
1101
|
+
262
|
1102
|
+
263
|
1103
|
+
264
|
1104
|
+
265
|
1105
|
+
266
|
1106
|
+
267
|
1107
|
+
268</pre>
|
1108
|
+
</td>
|
1109
|
+
<td>
|
1110
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 189</span>
|
1111
|
+
|
1112
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create_new_project'>create_new_project</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1113
|
+
<span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1114
|
+
<span class='id identifier rubyid_print'>print</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\nDirectory </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> already exists. Do you want to overwrite it? [y/n] </span><span class='tstring_end'>"</span></span>
|
1115
|
+
<span class='id identifier rubyid_input'>input</span> <span class='op'>=</span> <span class='id identifier rubyid_gets'>gets</span><span class='period'>.</span><span class='id identifier rubyid_chomp'>chomp</span>
|
1116
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1117
|
+
|
1118
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_input'>input</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>y</span><span class='tstring_end'>"</span></span>
|
1119
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_rm_rf'>rm_rf</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1120
|
+
<span class='kw'>else</span>
|
1121
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1122
|
+
<span class='kw'>end</span>
|
1123
|
+
|
1124
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_start'><span class='object_link'><a href="Crayons.html#spinner_start-class_method" title="Crayons.spinner_start (method)">spinner_start</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generating new project: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1125
|
+
|
1126
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1127
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1128
|
+
|
1129
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rvvm</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1130
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rvvm</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1131
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>logs</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1132
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>logs</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1133
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>comp</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1134
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>elab</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1135
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>sim</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1136
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>dpi</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1137
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>../..</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1138
|
+
|
1139
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span> <span class='op'>=</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:rvvmconf</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:conf</span><span class='rbracket'>]</span>
|
1140
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='lbracket'>[</span><span class='symbol'>:prjname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
|
1141
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='lbracket'>[</span><span class='symbol'>:prjpath</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_pwd'>pwd</span>
|
1142
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:rvvmconf</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='rparen'>)</span>
|
1143
|
+
|
1144
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span> <span class='op'>=</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:compilelist</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:conf</span><span class='rbracket'>]</span>
|
1145
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='lbracket'>[</span><span class='symbol'>:prjname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
|
1146
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:compilelist</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_compile_list.f</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='rparen'>)</span>
|
1147
|
+
|
1148
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:wfcfg</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1149
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:dpilist</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1150
|
+
|
1151
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>design</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1152
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>design</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1153
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>pkg</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1154
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>itf</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1155
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>src</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1156
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>..</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1157
|
+
|
1158
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>verif</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1159
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>verif</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1160
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>env</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1161
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>env/agents</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1162
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>env/top</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1163
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>tb</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1164
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>tb/src</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1165
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1166
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test/seq</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1167
|
+
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir'>mkdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test/src</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1168
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>..</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1169
|
+
|
1170
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span> <span class='op'>=</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:tbtop</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:conf</span><span class='rbracket'>]</span>
|
1171
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='lbracket'>[</span><span class='symbol'>:prjname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
|
1172
|
+
<span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='lbracket'>[</span><span class='symbol'>:PRJNAME</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
|
1173
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:tbtop</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_tb_top.sv</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_temp_conf'>temp_conf</span><span class='rparen'>)</span>
|
1174
|
+
|
1175
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_log'><span class='object_link'><a href="Crayons.html#spinner_log-class_method" title="Crayons.spinner_log (method)">spinner_log</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1176
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_pause'><span class='object_link'><a href="Crayons.html#spinner_pause-class_method" title="Crayons.spinner_pause (method)">spinner_pause</a></span></span>
|
1177
|
+
<span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>git init</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1178
|
+
<span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>git add .</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1179
|
+
<span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>git commit -am "Initial commit"</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1180
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_resume'><span class='object_link'><a href="Crayons.html#spinner_resume-class_method" title="Crayons.spinner_resume (method)">spinner_resume</a></span></span>
|
1181
|
+
|
1182
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_log'><span class='object_link'><a href="Crayons.html#spinner_log-class_method" title="Crayons.spinner_log (method)">spinner_log</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1183
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Done!</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
1184
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_pass'><span class='object_link'><a href="Crayons.html#log_pass-class_method" title="Crayons.log_pass (method)">log_pass</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\nRVvM: New project generated. ^^\n\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1185
|
+
|
1186
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1187
|
+
<span class='kw'>rescue</span> <span class='const'>StandardError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1188
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Error!</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_running?'><span class='object_link'><a href="Crayons.html#spinner_running%3F-class_method" title="Crayons.spinner_running? (method)">spinner_running?</a></span></span>
|
1189
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_error'><span class='object_link'><a href="Crayons.html#log_error-class_method" title="Crayons.log_error (method)">log_error</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>RVvM failed to create project...\n\n</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1190
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
|
1191
|
+
<span class='kw'>end</span></pre>
|
1192
|
+
</td>
|
1193
|
+
</tr>
|
1194
|
+
</table>
|
1195
|
+
</div>
|
1196
|
+
|
1197
|
+
<div class="method_details ">
|
1198
|
+
<h3 class="signature " id="create_pkg-class_method">
|
1199
|
+
|
1200
|
+
.<strong>create_pkg</strong>(name) ⇒ <tt>void</tt>
|
1201
|
+
|
1202
|
+
|
1203
|
+
|
1204
|
+
|
1205
|
+
|
1206
|
+
</h3><div class="docstring">
|
1207
|
+
<div class="discussion">
|
1208
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Generates a SystemVerilog package template.</p>
|
1209
|
+
|
1210
|
+
|
1211
|
+
</div>
|
1212
|
+
</div>
|
1213
|
+
<div class="tags">
|
1214
|
+
<p class="tag_title">Parameters:</p>
|
1215
|
+
<ul class="param">
|
1216
|
+
|
1217
|
+
<li>
|
1218
|
+
|
1219
|
+
<span class='name'>name</span>
|
1220
|
+
|
1221
|
+
|
1222
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1223
|
+
|
1224
|
+
|
1225
|
+
|
1226
|
+
—
|
1227
|
+
<div class='inline'><p>specifies package name</p>
|
1228
|
+
</div>
|
1229
|
+
|
1230
|
+
</li>
|
1231
|
+
|
1232
|
+
</ul>
|
1233
|
+
|
1234
|
+
<p class="tag_title">Since:</p>
|
1235
|
+
<ul class="since">
|
1236
|
+
|
1237
|
+
<li>
|
1238
|
+
|
1239
|
+
|
1240
|
+
|
1241
|
+
|
1242
|
+
|
1243
|
+
<div class='inline'><p>0.9.0</p>
|
1244
|
+
</div>
|
1245
|
+
|
1246
|
+
</li>
|
1247
|
+
|
1248
|
+
</ul>
|
1249
|
+
|
1250
|
+
</div><table class="source_code">
|
1251
|
+
<tr>
|
1252
|
+
<td>
|
1253
|
+
<pre class="lines">
|
1254
|
+
|
1255
|
+
|
1256
|
+
492
|
1257
|
+
493
|
1258
|
+
494
|
1259
|
+
495
|
1260
|
+
496
|
1261
|
+
497
|
1262
|
+
498
|
1263
|
+
499
|
1264
|
+
500
|
1265
|
+
501
|
1266
|
+
502
|
1267
|
+
503
|
1268
|
+
504
|
1269
|
+
505
|
1270
|
+
506
|
1271
|
+
507
|
1272
|
+
508
|
1273
|
+
509
|
1274
|
+
510
|
1275
|
+
511
|
1276
|
+
512
|
1277
|
+
513
|
1278
|
+
514
|
1279
|
+
515</pre>
|
1280
|
+
</td>
|
1281
|
+
<td>
|
1282
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 492</span>
|
1283
|
+
|
1284
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create_pkg'>create_pkg</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1285
|
+
<span class='id identifier rubyid_conf'>conf</span> <span class='op'>=</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:package</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:conf</span><span class='rbracket'>]</span>
|
1286
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:package</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
|
1287
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:PACKAGE</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
|
1288
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@formatted_time</span>
|
1289
|
+
<span class='kw'>unless</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
1290
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:prjname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span>
|
1291
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:company</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:company</span><span class='rbracket'>]</span>
|
1292
|
+
<span class='kw'>end</span>
|
1293
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:username</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_git_userame'><span class='object_link'><a href="Utils.html#git_userame-class_method" title="Utils.git_userame (method)">git_userame</a></span></span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span>
|
1294
|
+
|
1295
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
1296
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
1297
|
+
<span class='kw'>else</span>
|
1298
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:package</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:file</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1299
|
+
<span class='kw'>end</span>
|
1300
|
+
|
1301
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_start'><span class='object_link'><a href="Crayons.html#spinner_start-class_method" title="Crayons.spinner_start (method)">spinner_start</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generating SV pkg template...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1302
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:package</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.sv</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_conf'>conf</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1303
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
1304
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1305
|
+
|
1306
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1307
|
+
<span class='kw'>end</span></pre>
|
1308
|
+
</td>
|
1309
|
+
</tr>
|
1310
|
+
</table>
|
1311
|
+
</div>
|
1312
|
+
|
1313
|
+
<div class="method_details ">
|
1314
|
+
<h3 class="signature " id="create_svfile-class_method">
|
1315
|
+
|
1316
|
+
.<strong>create_svfile</strong>(name) ⇒ <tt>void</tt>
|
1317
|
+
|
1318
|
+
|
1319
|
+
|
1320
|
+
|
1321
|
+
|
1322
|
+
</h3><div class="docstring">
|
1323
|
+
<div class="discussion">
|
1324
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Generates a generic SystemVerilog template file.</p>
|
1325
|
+
|
1326
|
+
|
1327
|
+
</div>
|
1328
|
+
</div>
|
1329
|
+
<div class="tags">
|
1330
|
+
<p class="tag_title">Parameters:</p>
|
1331
|
+
<ul class="param">
|
1332
|
+
|
1333
|
+
<li>
|
1334
|
+
|
1335
|
+
<span class='name'>name</span>
|
1336
|
+
|
1337
|
+
|
1338
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1339
|
+
|
1340
|
+
|
1341
|
+
|
1342
|
+
—
|
1343
|
+
<div class='inline'><p>specifies template name</p>
|
1344
|
+
</div>
|
1345
|
+
|
1346
|
+
</li>
|
1347
|
+
|
1348
|
+
</ul>
|
1349
|
+
|
1350
|
+
<p class="tag_title">Since:</p>
|
1351
|
+
<ul class="since">
|
1352
|
+
|
1353
|
+
<li>
|
1354
|
+
|
1355
|
+
|
1356
|
+
|
1357
|
+
|
1358
|
+
|
1359
|
+
<div class='inline'><p>0.9.0</p>
|
1360
|
+
</div>
|
1361
|
+
|
1362
|
+
</li>
|
1363
|
+
|
1364
|
+
</ul>
|
1365
|
+
|
1366
|
+
</div><table class="source_code">
|
1367
|
+
<tr>
|
1368
|
+
<td>
|
1369
|
+
<pre class="lines">
|
1370
|
+
|
1371
|
+
|
1372
|
+
524
|
1373
|
+
525
|
1374
|
+
526
|
1375
|
+
527
|
1376
|
+
528
|
1377
|
+
529
|
1378
|
+
530
|
1379
|
+
531
|
1380
|
+
532
|
1381
|
+
533
|
1382
|
+
534
|
1383
|
+
535
|
1384
|
+
536
|
1385
|
+
537
|
1386
|
+
538
|
1387
|
+
539
|
1388
|
+
540
|
1389
|
+
541
|
1390
|
+
542
|
1391
|
+
543
|
1392
|
+
544
|
1393
|
+
545
|
1394
|
+
546</pre>
|
1395
|
+
</td>
|
1396
|
+
<td>
|
1397
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 524</span>
|
1398
|
+
|
1399
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create_svfile'>create_svfile</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
1400
|
+
<span class='id identifier rubyid_conf'>conf</span> <span class='op'>=</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:svfile</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:conf</span><span class='rbracket'>]</span>
|
1401
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:NAME</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
|
1402
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@formatted_time</span>
|
1403
|
+
<span class='kw'>unless</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
1404
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:prjname</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span>
|
1405
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:company</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:company</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span>
|
1406
|
+
<span class='kw'>end</span>
|
1407
|
+
<span class='id identifier rubyid_conf'>conf</span><span class='lbracket'>[</span><span class='symbol'>:username</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_git_userame'><span class='object_link'><a href="Utils.html#git_userame-class_method" title="Utils.git_userame (method)">git_userame</a></span></span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1408
|
+
|
1409
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
1410
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span>
|
1411
|
+
<span class='kw'>else</span>
|
1412
|
+
<span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:file</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1413
|
+
<span class='kw'>end</span>
|
1414
|
+
|
1415
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_start'><span class='object_link'><a href="Crayons.html#spinner_start-class_method" title="Crayons.spinner_start (method)">spinner_start</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Generating generic SV file template...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1416
|
+
<span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_gen_template'><span class='object_link'><a href="Utils.html#gen_template-class_method" title="Utils.gen_template (method)">gen_template</a></span></span><span class='lparen'>(</span><span class='ivar'>@templates</span><span class='lbracket'>[</span><span class='symbol'>:svfile</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.sv</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_conf'>conf</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
1417
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
1418
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1419
|
+
|
1420
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1421
|
+
<span class='kw'>end</span></pre>
|
1422
|
+
</td>
|
1423
|
+
</tr>
|
1424
|
+
</table>
|
1425
|
+
</div>
|
1426
|
+
|
1427
|
+
<div class="method_details ">
|
1428
|
+
<h3 class="signature " id="dpi_c-class_method">
|
1429
|
+
|
1430
|
+
.<strong>dpi_c</strong> ⇒ <tt>void</tt>
|
1431
|
+
|
1432
|
+
|
1433
|
+
|
1434
|
+
|
1435
|
+
|
1436
|
+
</h3><div class="docstring">
|
1437
|
+
<div class="discussion">
|
1438
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Compiles C/C++ sources into a shared library to use during
|
1439
|
+
elaboration and simulation using DPI-C.</p>
|
1440
|
+
|
1441
|
+
|
1442
|
+
</div>
|
1443
|
+
</div>
|
1444
|
+
<div class="tags">
|
1445
|
+
|
1446
|
+
<p class="tag_title">Since:</p>
|
1447
|
+
<ul class="since">
|
1448
|
+
|
1449
|
+
<li>
|
1450
|
+
|
1451
|
+
|
1452
|
+
|
1453
|
+
|
1454
|
+
|
1455
|
+
<div class='inline'><p>0.9.0</p>
|
1456
|
+
</div>
|
1457
|
+
|
1458
|
+
</li>
|
1459
|
+
|
1460
|
+
</ul>
|
1461
|
+
|
1462
|
+
</div><table class="source_code">
|
1463
|
+
<tr>
|
1464
|
+
<td>
|
1465
|
+
<pre class="lines">
|
1466
|
+
|
1467
|
+
|
1468
|
+
334
|
1469
|
+
335
|
1470
|
+
336
|
1471
|
+
337
|
1472
|
+
338
|
1473
|
+
339
|
1474
|
+
340</pre>
|
1475
|
+
</td>
|
1476
|
+
<td>
|
1477
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 334</span>
|
1478
|
+
|
1479
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_dpi_c'>dpi_c</span>
|
1480
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:args</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
1481
|
+
<span class='id identifier rubyid_dpilist'>dpilist</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:dpilist</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:list</span><span class='rbracket'>]</span>
|
1482
|
+
|
1483
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xsc -f </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dpilist'>dpilist</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1484
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Building DPI-C library...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
1485
|
+
<span class='kw'>end</span></pre>
|
1486
|
+
</td>
|
1487
|
+
</tr>
|
1488
|
+
</table>
|
1489
|
+
</div>
|
1490
|
+
|
1491
|
+
<div class="method_details ">
|
1492
|
+
<h3 class="signature " id="elaborate-class_method">
|
1493
|
+
|
1494
|
+
.<strong>elaborate</strong> ⇒ <tt>void</tt>
|
1495
|
+
|
1496
|
+
|
1497
|
+
|
1498
|
+
|
1499
|
+
|
1500
|
+
</h3><div class="docstring">
|
1501
|
+
<div class="discussion">
|
1502
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Elaborates project into a testbench snapshot using xelab.</p>
|
1503
|
+
|
1504
|
+
|
1505
|
+
</div>
|
1506
|
+
</div>
|
1507
|
+
<div class="tags">
|
1508
|
+
|
1509
|
+
<p class="tag_title">Since:</p>
|
1510
|
+
<ul class="since">
|
1511
|
+
|
1512
|
+
<li>
|
1513
|
+
|
1514
|
+
|
1515
|
+
|
1516
|
+
|
1517
|
+
|
1518
|
+
<div class='inline'><p>0.8.0</p>
|
1519
|
+
</div>
|
1520
|
+
|
1521
|
+
</li>
|
1522
|
+
|
1523
|
+
</ul>
|
1524
|
+
|
1525
|
+
</div><table class="source_code">
|
1526
|
+
<tr>
|
1527
|
+
<td>
|
1528
|
+
<pre class="lines">
|
1529
|
+
|
1530
|
+
|
1531
|
+
347
|
1532
|
+
348
|
1533
|
+
349
|
1534
|
+
350
|
1535
|
+
351
|
1536
|
+
352
|
1537
|
+
353
|
1538
|
+
354
|
1539
|
+
355
|
1540
|
+
356
|
1541
|
+
357
|
1542
|
+
358
|
1543
|
+
359
|
1544
|
+
360
|
1545
|
+
361
|
1546
|
+
362</pre>
|
1547
|
+
</td>
|
1548
|
+
<td>
|
1549
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 347</span>
|
1550
|
+
|
1551
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_elaborate'>elaborate</span>
|
1552
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:args</span><span class='rbracket'>]</span>
|
1553
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> -sv_lib </span><span class='embexpr_beg'>#{</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:customdpilib</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:customdpilib</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1554
|
+
<span class='kw'>unless</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:customdpilib</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1555
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> -sv_lib dpi</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:dpilib</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:dpilib</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='int'>1</span>
|
1556
|
+
<span class='kw'>end</span>
|
1557
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> -debug wave</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:wave</span><span class='rbracket'>]</span>
|
1558
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='period'>.</span><span class='id identifier rubyid_strip!'>strip!</span>
|
1559
|
+
<span class='id identifier rubyid_logname'>logname</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:elablog</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:log</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1560
|
+
<span class='id identifier rubyid_tb_top'>tb_top</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:tbtop</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:tbTop</span><span class='rbracket'>]</span>
|
1561
|
+
<span class='id identifier rubyid_tb'>tb</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span>
|
1562
|
+
<span class='id identifier rubyid_timescale'>timescale</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:timescale</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:timescale</span><span class='rbracket'>]</span>
|
1563
|
+
|
1564
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xelab </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tb_top'>tb_top</span><span class='embexpr_end'>}</span><span class='tstring_content'> -relax -s </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tb'>tb</span><span class='embexpr_end'>}</span><span class='tstring_content'> -timescale </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_timescale'>timescale</span><span class='embexpr_end'>}</span><span class='tstring_content'> -log </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_logname'>logname</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1565
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Elaborating testbench </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tb'>tb</span><span class='embexpr_end'>}</span><span class='tstring_content'>...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
1566
|
+
<span class='kw'>end</span></pre>
|
1567
|
+
</td>
|
1568
|
+
</tr>
|
1569
|
+
</table>
|
1570
|
+
</div>
|
1571
|
+
|
1572
|
+
<div class="method_details ">
|
1573
|
+
<h3 class="signature " id="execute-class_method">
|
1574
|
+
|
1575
|
+
.<strong>execute</strong>(tag, command) ⇒ <tt>void</tt>
|
1576
|
+
|
1577
|
+
|
1578
|
+
|
1579
|
+
|
1580
|
+
|
1581
|
+
</h3><div class="docstring">
|
1582
|
+
<div class="discussion">
|
1583
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Shell command with debug printout.</p>
|
1584
|
+
|
1585
|
+
<p>If --debug arg provided instead of calling <code>system</code>
|
1586
|
+
prints the input command.</p>
|
1587
|
+
|
1588
|
+
|
1589
|
+
</div>
|
1590
|
+
</div>
|
1591
|
+
<div class="tags">
|
1592
|
+
<p class="tag_title">Parameters:</p>
|
1593
|
+
<ul class="param">
|
1594
|
+
|
1595
|
+
<li>
|
1596
|
+
|
1597
|
+
<span class='name'>command</span>
|
1598
|
+
|
1599
|
+
|
1600
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1601
|
+
|
1602
|
+
|
1603
|
+
|
1604
|
+
—
|
1605
|
+
<div class='inline'><p>command to be called/printed</p>
|
1606
|
+
</div>
|
1607
|
+
|
1608
|
+
</li>
|
1609
|
+
|
1610
|
+
</ul>
|
1611
|
+
|
1612
|
+
<p class="tag_title">Since:</p>
|
1613
|
+
<ul class="since">
|
1614
|
+
|
1615
|
+
<li>
|
1616
|
+
|
1617
|
+
|
1618
|
+
|
1619
|
+
|
1620
|
+
|
1621
|
+
<div class='inline'><p>0.8.0</p>
|
1622
|
+
</div>
|
1623
|
+
|
1624
|
+
</li>
|
1625
|
+
|
1626
|
+
</ul>
|
1627
|
+
|
1628
|
+
</div><table class="source_code">
|
1629
|
+
<tr>
|
1630
|
+
<td>
|
1631
|
+
<pre class="lines">
|
1632
|
+
|
1633
|
+
|
1634
|
+
171
|
1635
|
+
172
|
1636
|
+
173
|
1637
|
+
174
|
1638
|
+
175
|
1639
|
+
176
|
1640
|
+
177
|
1641
|
+
178
|
1642
|
+
179
|
1643
|
+
180</pre>
|
1644
|
+
</td>
|
1645
|
+
<td>
|
1646
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 171</span>
|
1647
|
+
|
1648
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='id identifier rubyid_tag'>tag</span><span class='comma'>,</span> <span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1649
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:debug</span><span class='rbracket'>]</span>
|
1650
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_start'><span class='object_link'><a href="Crayons.html#spinner_start-class_method" title="Crayons.spinner_start (method)">spinner_start</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_tag'>tag</span><span class='rparen'>)</span>
|
1651
|
+
<span class='id identifier rubyid_sleep'>sleep</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
|
1652
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_log'><span class='object_link'><a href="Crayons.html#spinner_log-class_method" title="Crayons.spinner_log (method)">spinner_log</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1653
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
1654
|
+
<span class='kw'>else</span>
|
1655
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_command'><span class='object_link'><a href="Crayons.html#command-class_method" title="Crayons.command (method)">command</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_tag'>tag</span><span class='comma'>,</span> <span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='label'>ignore_errors:</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:ignore_errors</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1656
|
+
<span class='kw'>end</span>
|
1657
|
+
<span class='kw'>end</span></pre>
|
1658
|
+
</td>
|
1659
|
+
</tr>
|
1660
|
+
</table>
|
1661
|
+
</div>
|
1662
|
+
|
1663
|
+
<div class="method_details ">
|
1664
|
+
<h3 class="signature " id="gui-class_method">
|
1665
|
+
|
1666
|
+
.<strong>gui</strong> ⇒ <tt>void</tt>
|
1667
|
+
|
1668
|
+
|
1669
|
+
|
1670
|
+
|
1671
|
+
|
1672
|
+
</h3><div class="docstring">
|
1673
|
+
<div class="discussion">
|
1674
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Opens last generated waveform trace dump to inspect in Vivado GUI.</p>
|
1675
|
+
|
1676
|
+
|
1677
|
+
</div>
|
1678
|
+
</div>
|
1679
|
+
<div class="tags">
|
1680
|
+
|
1681
|
+
<p class="tag_title">Since:</p>
|
1682
|
+
<ul class="since">
|
1683
|
+
|
1684
|
+
<li>
|
1685
|
+
|
1686
|
+
|
1687
|
+
|
1688
|
+
|
1689
|
+
|
1690
|
+
<div class='inline'><p>0.9.0</p>
|
1691
|
+
</div>
|
1692
|
+
|
1693
|
+
</li>
|
1694
|
+
|
1695
|
+
</ul>
|
1696
|
+
|
1697
|
+
</div><table class="source_code">
|
1698
|
+
<tr>
|
1699
|
+
<td>
|
1700
|
+
<pre class="lines">
|
1701
|
+
|
1702
|
+
|
1703
|
+
419
|
1704
|
+
420
|
1705
|
+
421
|
1706
|
+
422
|
1707
|
+
423
|
1708
|
+
424
|
1709
|
+
425
|
1710
|
+
426</pre>
|
1711
|
+
</td>
|
1712
|
+
<td>
|
1713
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 419</span>
|
1714
|
+
|
1715
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_gui'>gui</span>
|
1716
|
+
<span class='id identifier rubyid_dump'>dump</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:wavefile</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>.wdb</span><span class='tstring_end'>"</span></span>
|
1717
|
+
|
1718
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xsim --gui </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dump'>dump</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
1719
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Running Vivado GUI...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
1720
|
+
|
1721
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1722
|
+
<span class='kw'>end</span></pre>
|
1723
|
+
</td>
|
1724
|
+
</tr>
|
1725
|
+
</table>
|
1726
|
+
</div>
|
1727
|
+
|
1728
|
+
<div class="method_details ">
|
1729
|
+
<h3 class="signature " id="handle_args-class_method">
|
1730
|
+
|
1731
|
+
.<strong>handle_args</strong> ⇒ <tt>void</tt>
|
1732
|
+
|
1733
|
+
|
1734
|
+
|
1735
|
+
|
1736
|
+
|
1737
|
+
</h3><div class="docstring">
|
1738
|
+
<div class="discussion">
|
1739
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Argument collision handling and additional settings for
|
1740
|
+
batch simulation and dpi compilation.</p>
|
1741
|
+
|
1742
|
+
|
1743
|
+
</div>
|
1744
|
+
</div>
|
1745
|
+
<div class="tags">
|
1746
|
+
|
1747
|
+
<p class="tag_title">Since:</p>
|
1748
|
+
<ul class="since">
|
1749
|
+
|
1750
|
+
<li>
|
1751
|
+
|
1752
|
+
|
1753
|
+
|
1754
|
+
|
1755
|
+
|
1756
|
+
<div class='inline'><p>0.8.0</p>
|
1757
|
+
</div>
|
1758
|
+
|
1759
|
+
</li>
|
1760
|
+
|
1761
|
+
</ul>
|
1762
|
+
|
1763
|
+
</div><table class="source_code">
|
1764
|
+
<tr>
|
1765
|
+
<td>
|
1766
|
+
<pre class="lines">
|
1767
|
+
|
1768
|
+
|
1769
|
+
145
|
1770
|
+
146
|
1771
|
+
147
|
1772
|
+
148
|
1773
|
+
149
|
1774
|
+
150
|
1775
|
+
151
|
1776
|
+
152
|
1777
|
+
153
|
1778
|
+
154
|
1779
|
+
155
|
1780
|
+
156
|
1781
|
+
157
|
1782
|
+
158
|
1783
|
+
159</pre>
|
1784
|
+
</td>
|
1785
|
+
<td>
|
1786
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 145</span>
|
1787
|
+
|
1788
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_handle_args'>handle_args</span>
|
1789
|
+
<span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='int'>1</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:all</span><span class='rbracket'>]</span> <span class='op'>&&</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:dpilib</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='int'>1</span>
|
1790
|
+
|
1791
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:batch</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:batch</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='int'>1</span>
|
1792
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:test</span><span class='rbracket'>]</span>
|
1793
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>UVM test provided even though running in batch mode - option will be ignored...</span><span class='tstring_end'>"</span></span>
|
1794
|
+
<span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:test</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1795
|
+
<span class='kw'>end</span>
|
1796
|
+
<span class='kw'>elsif</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:testList</span><span class='rbracket'>]</span>
|
1797
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>UVM test list provided without running in batch mode - option will be ignored...</span><span class='tstring_end'>"</span></span>
|
1798
|
+
<span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:testlist</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1799
|
+
<span class='kw'>end</span>
|
1800
|
+
|
1801
|
+
<span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:customdpilib</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:customdpilib</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:customdpilib</span><span class='rbracket'>]</span>
|
1802
|
+
<span class='kw'>end</span></pre>
|
1803
|
+
</td>
|
1804
|
+
</tr>
|
1805
|
+
</table>
|
1806
|
+
</div>
|
1807
|
+
|
1808
|
+
<div class="method_details ">
|
1809
|
+
<h3 class="signature " id="load_config-class_method">
|
1810
|
+
|
1811
|
+
.<strong>load_config</strong> ⇒ <tt>void</tt>
|
1812
|
+
|
1813
|
+
|
1814
|
+
|
1815
|
+
|
1816
|
+
|
1817
|
+
</h3><div class="docstring">
|
1818
|
+
<div class="discussion">
|
1819
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Loads and parses rvvmconf.json config file from
|
1820
|
+
an RVvM project rvvm directory.</p>
|
1821
|
+
|
1822
|
+
|
1823
|
+
</div>
|
1824
|
+
</div>
|
1825
|
+
<div class="tags">
|
1826
|
+
|
1827
|
+
<p class="tag_title">Since:</p>
|
1828
|
+
<ul class="since">
|
1829
|
+
|
1830
|
+
<li>
|
1831
|
+
|
1832
|
+
|
1833
|
+
|
1834
|
+
|
1835
|
+
|
1836
|
+
<div class='inline'><p>0.8.0</p>
|
1837
|
+
</div>
|
1838
|
+
|
1839
|
+
</li>
|
1840
|
+
|
1841
|
+
</ul>
|
1842
|
+
|
1843
|
+
</div><table class="source_code">
|
1844
|
+
<tr>
|
1845
|
+
<td>
|
1846
|
+
<pre class="lines">
|
1847
|
+
|
1848
|
+
|
1849
|
+
276
|
1850
|
+
277
|
1851
|
+
278
|
1852
|
+
279
|
1853
|
+
280
|
1854
|
+
281
|
1855
|
+
282
|
1856
|
+
283
|
1857
|
+
284
|
1858
|
+
285
|
1859
|
+
286
|
1860
|
+
287
|
1861
|
+
288
|
1862
|
+
289
|
1863
|
+
290
|
1864
|
+
291
|
1865
|
+
292
|
1866
|
+
293
|
1867
|
+
294
|
1868
|
+
295
|
1869
|
+
296
|
1870
|
+
297
|
1871
|
+
298
|
1872
|
+
299
|
1873
|
+
300
|
1874
|
+
301
|
1875
|
+
302
|
1876
|
+
303</pre>
|
1877
|
+
</td>
|
1878
|
+
<td>
|
1879
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 276</span>
|
1880
|
+
|
1881
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_load_config'>load_config</span>
|
1882
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1883
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_start'><span class='object_link'><a href="Crayons.html#spinner_start-class_method" title="Crayons.spinner_start (method)">spinner_start</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Loading RVvM project config...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1884
|
+
|
1885
|
+
<span class='ivar'>@config_path</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_find_file_dir'><span class='object_link'><a href="Utils.html#find_file_dir-class_method" title="Utils.find_file_dir (method)">find_file_dir</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rvvmconf.json</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1886
|
+
<span class='id identifier rubyid_json_file'>json_file</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@config_path</span><span class='embexpr_end'>}</span><span class='tstring_content'>/rvvmconf.json</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@config_path</span>
|
1887
|
+
|
1888
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_json_file'>json_file</span>
|
1889
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_error'><span class='object_link'><a href="Crayons.html#log_error-class_method" title="Crayons.log_error (method)">log_error</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> Failed to load config file!\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1890
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_error'><span class='object_link'><a href="Crayons.html#log_error-class_method" title="Crayons.log_error (method)">log_error</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> Make sure you are inside an RVvM project.\n\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1891
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
|
1892
|
+
<span class='kw'>end</span>
|
1893
|
+
|
1894
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_json_file'>json_file</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_json_file'>json_file</span>
|
1895
|
+
|
1896
|
+
<span class='kw'>if</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_instance_of?'>instance_of?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
1897
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_transform_values'>transform_values</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
|
1898
|
+
<span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_transform_keys'>transform_keys</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_sym</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_instance_of?'>instance_of?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
1899
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_transform_keys'>transform_keys</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_sym</span><span class='rparen'>)</span>
|
1900
|
+
<span class='kw'>end</span>
|
1901
|
+
|
1902
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_spinner_stop'><span class='object_link'><a href="Crayons.html#spinner_stop-class_method" title="Crayons.spinner_stop (method)">spinner_stop</a></span></span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
1903
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1904
|
+
<span class='kw'>rescue</span> <span class='const'>JSON</span><span class='op'>::</span><span class='const'>ParserError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1905
|
+
<span class='const'><span class='object_link'><a href="Crayons.html" title="Crayons (module)">Crayons</a></span></span><span class='period'>.</span><span class='id identifier rubyid_log_error'><span class='object_link'><a href="Crayons.html#log_error-class_method" title="Crayons.log_error (method)">log_error</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> Invalid config json!\n\n</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1906
|
+
<span class='id identifier rubyid_puts'>puts</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span>
|
1907
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span>
|
1908
|
+
<span class='kw'>end</span></pre>
|
1909
|
+
</td>
|
1910
|
+
</tr>
|
1911
|
+
</table>
|
1912
|
+
</div>
|
1913
|
+
|
1914
|
+
<div class="method_details ">
|
1915
|
+
<h3 class="signature " id="prj_top-class_method">
|
1916
|
+
|
1917
|
+
.<strong>prj_top</strong> ⇒ <tt>void</tt>
|
1918
|
+
|
1919
|
+
|
1920
|
+
|
1921
|
+
|
1922
|
+
|
1923
|
+
</h3><div class="docstring">
|
1924
|
+
<div class="discussion">
|
1925
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Navigates to project top (rvvm directory of the RVvM project).</p>
|
1926
|
+
|
1927
|
+
|
1928
|
+
</div>
|
1929
|
+
</div>
|
1930
|
+
<div class="tags">
|
1931
|
+
|
1932
|
+
<p class="tag_title">Since:</p>
|
1933
|
+
<ul class="since">
|
1934
|
+
|
1935
|
+
<li>
|
1936
|
+
|
1937
|
+
|
1938
|
+
|
1939
|
+
|
1940
|
+
|
1941
|
+
<div class='inline'><p>0.8.0</p>
|
1942
|
+
</div>
|
1943
|
+
|
1944
|
+
</li>
|
1945
|
+
|
1946
|
+
</ul>
|
1947
|
+
|
1948
|
+
</div><table class="source_code">
|
1949
|
+
<tr>
|
1950
|
+
<td>
|
1951
|
+
<pre class="lines">
|
1952
|
+
|
1953
|
+
|
1954
|
+
310
|
1955
|
+
311
|
1956
|
+
312</pre>
|
1957
|
+
</td>
|
1958
|
+
<td>
|
1959
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 310</span>
|
1960
|
+
|
1961
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_prj_top'>prj_top</span>
|
1962
|
+
<span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_chdir'>chdir</span><span class='lparen'>(</span><span class='ivar'>@config_path</span><span class='rparen'>)</span>
|
1963
|
+
<span class='kw'>end</span></pre>
|
1964
|
+
</td>
|
1965
|
+
</tr>
|
1966
|
+
</table>
|
1967
|
+
</div>
|
1968
|
+
|
1969
|
+
<div class="method_details ">
|
1970
|
+
<h3 class="signature " id="run-class_method">
|
1971
|
+
|
1972
|
+
.<strong>run</strong> ⇒ <tt>void</tt>
|
1973
|
+
|
1974
|
+
|
1975
|
+
|
1976
|
+
|
1977
|
+
|
1978
|
+
</h3><div class="docstring">
|
1979
|
+
<div class="discussion">
|
1980
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Runs rvvm calling its methods based on provided script args.</p>
|
1981
|
+
|
1982
|
+
|
1983
|
+
</div>
|
1984
|
+
</div>
|
1985
|
+
<div class="tags">
|
1986
|
+
|
1987
|
+
<p class="tag_title">Since:</p>
|
1988
|
+
<ul class="since">
|
1989
|
+
|
1990
|
+
<li>
|
1991
|
+
|
1992
|
+
|
1993
|
+
|
1994
|
+
|
1995
|
+
|
1996
|
+
<div class='inline'><p>0.8.0</p>
|
1997
|
+
</div>
|
1998
|
+
|
1999
|
+
</li>
|
2000
|
+
|
2001
|
+
</ul>
|
2002
|
+
|
2003
|
+
</div><table class="source_code">
|
2004
|
+
<tr>
|
2005
|
+
<td>
|
2006
|
+
<pre class="lines">
|
2007
|
+
|
2008
|
+
|
2009
|
+
553
|
2010
|
+
554
|
2011
|
+
555
|
2012
|
+
556
|
2013
|
+
557
|
2014
|
+
558
|
2015
|
+
559
|
2016
|
+
560
|
2017
|
+
561
|
2018
|
+
562
|
2019
|
+
563
|
2020
|
+
564
|
2021
|
+
565
|
2022
|
+
566
|
2023
|
+
567
|
2024
|
+
568
|
2025
|
+
569
|
2026
|
+
570
|
2027
|
+
571
|
2028
|
+
572
|
2029
|
+
573
|
2030
|
+
574
|
2031
|
+
575
|
2032
|
+
576
|
2033
|
+
577
|
2034
|
+
578
|
2035
|
+
579</pre>
|
2036
|
+
</td>
|
2037
|
+
<td>
|
2038
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 553</span>
|
2039
|
+
|
2040
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
2041
|
+
<span class='id identifier rubyid_create_new_project'>create_new_project</span><span class='lparen'>(</span><span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:new</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:new</span><span class='rbracket'>]</span>
|
2042
|
+
|
2043
|
+
<span class='id identifier rubyid_check_args'>check_args</span>
|
2044
|
+
<span class='kw'>unless</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:here</span><span class='rbracket'>]</span>
|
2045
|
+
<span class='id identifier rubyid_load_config'>load_config</span>
|
2046
|
+
<span class='id identifier rubyid_handle_args'>handle_args</span>
|
2047
|
+
<span class='kw'>end</span>
|
2048
|
+
|
2049
|
+
<span class='id identifier rubyid_create_module'>create_module</span><span class='lparen'>(</span><span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>module</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:module</span><span class='rbracket'>]</span>
|
2050
|
+
<span class='id identifier rubyid_create_module'>create_module</span><span class='lparen'>(</span><span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:itf</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>itf</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:itf</span><span class='rbracket'>]</span>
|
2051
|
+
<span class='id identifier rubyid_create_pkg'>create_pkg</span><span class='lparen'>(</span><span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:pkg</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:pkg</span><span class='rbracket'>]</span>
|
2052
|
+
<span class='id identifier rubyid_create_svfile'>create_svfile</span><span class='lparen'>(</span><span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:svfile</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:svfile</span><span class='rbracket'>]</span>
|
2053
|
+
|
2054
|
+
<span class='id identifier rubyid_prj_top'>prj_top</span>
|
2055
|
+
|
2056
|
+
<span class='id identifier rubyid_compile'>compile</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:comp</span><span class='rbracket'>]</span>
|
2057
|
+
<span class='id identifier rubyid_dpi_c'>dpi_c</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:dpi</span><span class='rbracket'>]</span>
|
2058
|
+
<span class='id identifier rubyid_elaborate'>elaborate</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:elab</span><span class='rbracket'>]</span>
|
2059
|
+
<span class='id identifier rubyid_run_sim'>run_sim</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:run</span><span class='rbracket'>]</span>
|
2060
|
+
<span class='id identifier rubyid_run_sv'>run_sv</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:runsv</span><span class='rbracket'>]</span>
|
2061
|
+
<span class='id identifier rubyid_gui'>gui</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:gui</span><span class='rbracket'>]</span>
|
2062
|
+
<span class='id identifier rubyid_coverage'>coverage</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:gencov</span><span class='rbracket'>]</span>
|
2063
|
+
<span class='id identifier rubyid_cov_report'>cov_report</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:covreport</span><span class='rbracket'>]</span>
|
2064
|
+
|
2065
|
+
<span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
2066
|
+
<span class='kw'>end</span></pre>
|
2067
|
+
</td>
|
2068
|
+
</tr>
|
2069
|
+
</table>
|
2070
|
+
</div>
|
2071
|
+
|
2072
|
+
<div class="method_details ">
|
2073
|
+
<h3 class="signature " id="run_sim-class_method">
|
2074
|
+
|
2075
|
+
.<strong>run_sim</strong> ⇒ <tt>void</tt>
|
2076
|
+
|
2077
|
+
|
2078
|
+
|
2079
|
+
|
2080
|
+
|
2081
|
+
</h3><div class="docstring">
|
2082
|
+
<div class="discussion">
|
2083
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Runs UVM test simulation on an elaborated testbench snapshot using xrun.</p>
|
2084
|
+
|
2085
|
+
|
2086
|
+
</div>
|
2087
|
+
</div>
|
2088
|
+
<div class="tags">
|
2089
|
+
|
2090
|
+
<p class="tag_title">Since:</p>
|
2091
|
+
<ul class="since">
|
2092
|
+
|
2093
|
+
<li>
|
2094
|
+
|
2095
|
+
|
2096
|
+
|
2097
|
+
|
2098
|
+
|
2099
|
+
<div class='inline'><p>0.8.0</p>
|
2100
|
+
</div>
|
2101
|
+
|
2102
|
+
</li>
|
2103
|
+
|
2104
|
+
</ul>
|
2105
|
+
|
2106
|
+
</div><table class="source_code">
|
2107
|
+
<tr>
|
2108
|
+
<td>
|
2109
|
+
<pre class="lines">
|
2110
|
+
|
2111
|
+
|
2112
|
+
369
|
2113
|
+
370
|
2114
|
+
371
|
2115
|
+
372
|
2116
|
+
373
|
2117
|
+
374
|
2118
|
+
375
|
2119
|
+
376
|
2120
|
+
377
|
2121
|
+
378
|
2122
|
+
379
|
2123
|
+
380
|
2124
|
+
381
|
2125
|
+
382
|
2126
|
+
383
|
2127
|
+
384
|
2128
|
+
385
|
2129
|
+
386
|
2130
|
+
387
|
2131
|
+
388
|
2132
|
+
389
|
2133
|
+
390
|
2134
|
+
391
|
2135
|
+
392
|
2136
|
+
393
|
2137
|
+
394
|
2138
|
+
395
|
2139
|
+
396
|
2140
|
+
397</pre>
|
2141
|
+
</td>
|
2142
|
+
<td>
|
2143
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 369</span>
|
2144
|
+
|
2145
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run_sim'>run_sim</span>
|
2146
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:args</span><span class='rbracket'>]</span>
|
2147
|
+
<span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:wave</span><span class='rbracket'>]</span>
|
2148
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> --tclbatch wfcfg.tcl</span><span class='tstring_end'>"</span></span>
|
2149
|
+
<span class='kw'>else</span>
|
2150
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> -R</span><span class='tstring_end'>"</span></span>
|
2151
|
+
<span class='kw'>end</span>
|
2152
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='period'>.</span><span class='id identifier rubyid_strip!'>strip!</span>
|
2153
|
+
|
2154
|
+
<span class='comment'># Run simulaton on an array of tests.
|
2155
|
+
</span> <span class='comment'># If in not running in batch mode testlist is an array with a single test
|
2156
|
+
</span> <span class='id identifier rubyid_test'>test</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:test</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:defTest</span><span class='rbracket'>]</span>
|
2157
|
+
<span class='id identifier rubyid_testlist'>testlist</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_test'>test</span><span class='rbracket'>]</span>
|
2158
|
+
<span class='id identifier rubyid_testlist'>testlist</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:testlist</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:testlist</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:batch</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:batch</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='int'>1</span>
|
2159
|
+
|
2160
|
+
<span class='id identifier rubyid_tb'>tb</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:simtb</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span>
|
2161
|
+
|
2162
|
+
<span class='id identifier rubyid_testlist'>testlist</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_simtest'>simtest</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
|
2163
|
+
<span class='id identifier rubyid_simtest'>simtest</span><span class='period'>.</span><span class='id identifier rubyid_strip!'>strip!</span>
|
2164
|
+
|
2165
|
+
<span class='id identifier rubyid_logname'>logname</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:log</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
2166
|
+
<span class='id identifier rubyid_logname'>logname</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Utils.html" title="Utils (module)">Utils</a></span></span><span class='period'>.</span><span class='id identifier rubyid_interpolate'><span class='object_link'><a href="Utils.html#interpolate-class_method" title="Utils.interpolate (method)">interpolate</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_logname'>logname</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>testname:</span> <span class='id identifier rubyid_simtest'>simtest</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
2167
|
+
|
2168
|
+
<span class='id identifier rubyid_verb'>verb</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>UVM_</span><span class='embexpr_beg'>#{</span><span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:verb</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:verbosity</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
2169
|
+
|
2170
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xsim </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tb'>tb</span><span class='embexpr_end'>}</span><span class='tstring_content'> -log </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_logname'>logname</span><span class='embexpr_end'>}</span><span class='tstring_content'> -testplusarg \"UVM_VERBOSITY=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_verb'>verb</span><span class='embexpr_end'>}</span><span class='tstring_content'>\" -testplusarg \"UVM_TESTNAME=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_simtest'>simtest</span><span class='embexpr_end'>}</span><span class='tstring_content'>\" </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
2171
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Running UVM test </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_i'>i</span> <span class='op'>+</span> <span class='int'>1</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_testlist'>testlist</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_simtest'>simtest</span><span class='embexpr_end'>}</span><span class='tstring_content'>...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
2172
|
+
<span class='kw'>end</span>
|
2173
|
+
<span class='kw'>end</span></pre>
|
2174
|
+
</td>
|
2175
|
+
</tr>
|
2176
|
+
</table>
|
2177
|
+
</div>
|
2178
|
+
|
2179
|
+
<div class="method_details ">
|
2180
|
+
<h3 class="signature " id="run_sv-class_method">
|
2181
|
+
|
2182
|
+
.<strong>run_sv</strong> ⇒ <tt>void</tt>
|
2183
|
+
|
2184
|
+
|
2185
|
+
|
2186
|
+
|
2187
|
+
|
2188
|
+
</h3><div class="docstring">
|
2189
|
+
<div class="discussion">
|
2190
|
+
<p class="note returns_void">This method returns an undefined value.</p><p>Runs a pure SystemVerilog/Verilog simulation using xrun.</p>
|
2191
|
+
|
2192
|
+
|
2193
|
+
</div>
|
2194
|
+
</div>
|
2195
|
+
<div class="tags">
|
2196
|
+
|
2197
|
+
<p class="tag_title">Since:</p>
|
2198
|
+
<ul class="since">
|
2199
|
+
|
2200
|
+
<li>
|
2201
|
+
|
2202
|
+
|
2203
|
+
|
2204
|
+
|
2205
|
+
|
2206
|
+
<div class='inline'><p>0.9.0</p>
|
2207
|
+
</div>
|
2208
|
+
|
2209
|
+
</li>
|
2210
|
+
|
2211
|
+
</ul>
|
2212
|
+
|
2213
|
+
</div><table class="source_code">
|
2214
|
+
<tr>
|
2215
|
+
<td>
|
2216
|
+
<pre class="lines">
|
2217
|
+
|
2218
|
+
|
2219
|
+
404
|
2220
|
+
405
|
2221
|
+
406
|
2222
|
+
407
|
2223
|
+
408
|
2224
|
+
409
|
2225
|
+
410
|
2226
|
+
411
|
2227
|
+
412</pre>
|
2228
|
+
</td>
|
2229
|
+
<td>
|
2230
|
+
<pre class="code"><span class="info file"># File 'lib/rvvm.rb', line 404</span>
|
2231
|
+
|
2232
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run_sv'>run_sv</span>
|
2233
|
+
<span class='id identifier rubyid_cmd_args'>cmd_args</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:args</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_strip!'>strip!</span>
|
2234
|
+
<span class='id identifier rubyid_tb'>tb</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:simtb</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:elaboration</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:tb</span><span class='rbracket'>]</span>
|
2235
|
+
|
2236
|
+
<span class='id identifier rubyid_logname'>logname</span> <span class='op'>=</span> <span class='ivar'>@args</span><span class='lbracket'>[</span><span class='symbol'>:simlog</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:project</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='symbol'>:simulation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:logDir</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>svsim.log</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
2237
|
+
|
2238
|
+
<span class='id identifier rubyid_cmd'>cmd</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xsim </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tb'>tb</span><span class='embexpr_end'>}</span><span class='tstring_content'> -log </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_logname'>logname</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd_args'>cmd_args</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
2239
|
+
<span class='id identifier rubyid_execute'>execute</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Running pure SV/V simulation...</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='rparen'>)</span>
|
2240
|
+
<span class='kw'>end</span></pre>
|
2241
|
+
</td>
|
2242
|
+
</tr>
|
2243
|
+
</table>
|
2244
|
+
</div>
|
2245
|
+
|
2246
|
+
</div>
|
2247
|
+
|
2248
|
+
</div>
|
2249
|
+
|
2250
|
+
<div id="footer">
|
2251
|
+
Generated on Thu Sep 19 20:26:42 2024 by
|
2252
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2253
|
+
0.9.37 (ruby-3.2.5).
|
2254
|
+
</div>
|
2255
|
+
|
2256
|
+
</div>
|
2257
|
+
</body>
|
2258
|
+
</html>
|