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

Subversion Repositories fpu

[/] [fpu/] [trunk/] [test_bench/] [sel_test.vh] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 rudi
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  FPU                                                        ////
4
////  Floating Point Unit (Single precision)                     ////
5
////                                                             ////
6
////  TEST BENCH                                                 ////
7
////                                                             ////
8
////  Author: Rudolf Usselmann                                   ////
9
////          russelmann@hotmail.com                             ////
10
////                                                             ////
11
/////////////////////////////////////////////////////////////////////
12
////                                                             ////
13
//// Copyright (C) 2000 Rudolf Usselmann                         ////
14
////                    russelmann@hotmail.com                   ////
15
////                                                             ////
16
//// This source file may be used and distributed without        ////
17
//// restriction provided that this copyright statement is not   ////
18
//// removed from the file and that any derivative work contains ////
19
//// the original copyright notice and the associated disclaimer.////
20
////                                                             ////
21
//// THIS SOURCE FILE IS PROVIDED "AS IS" AND WITHOUT ANY        ////
22
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT           ////
23
//// LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND   ////
24
//// FITNESS FOR A PARTICULAR PURPOSE.                           ////
25
////                                                             ////
26
/////////////////////////////////////////////////////////////////////
27
 
28
 
29
 
30
        if(fp_combo)
31
           begin
32
                $display("\n\nTesting FPU \n");
33
 
34
                        $display("\nRunning Combo Test 1 ...\n");
35
                        $readmemh ("test_vectors/combo/fpu_combo1.hex", tmem);
36
                        run_test;
37
 
38
                        $display("\nRunning Combo Test 2 ...\n");
39
                        $readmemh ("test_vectors/combo/fpu_combo2.hex", tmem);
40
                        run_test;
41
 
42
           end
43
 
44
        if(fp_fasu)
45
        begin
46
        $display("\n\nTesting FP Add/Sub Unit\n");
47
        if(test_rmode[0])
48
           begin
49
                $display("\n+++++ ROUNDING MODE: Nearest Even\n\n");
50
 
51
                if(test_sel[0])
52
                   begin
53
                        $display("\nRunning Pat 0 Add Test ...\n");
54
                        $readmemh ("test_vectors/rtne/fasu_pat0a.hex", tmem);
55
                        run_test;
56
                   end
57
 
58
                if(test_sel[0])
59
                   begin
60
                        $display("\nRunning Pat 0 Sub Test ...\n");
61
                        $readmemh ("test_vectors/rtne/fasu_pat0b.hex", tmem);
62
                        run_test;
63
                   end
64
 
65
                if(test_sel[1])
66
                   begin
67
                        $display("\nRunning Pat 1 Add Test ...\n");
68
                        $readmemh ("test_vectors/rtne/fasu_pat1a.hex", tmem);
69
                        run_test;
70
                   end
71
 
72
                if(test_sel[1])
73
                   begin
74
                        $display("\nRunning Pat 1 Sub Test ...\n");
75
                        $readmemh ("test_vectors/rtne/fasu_pat1b.hex", tmem);
76
                        run_test;
77
                   end
78
 
79
                if(test_sel[2])
80
                   begin
81
                        $display("\nRunning Pat 2 Add Test ...\n");
82
                        $readmemh ("test_vectors/rtne/fasu_pat2a.hex", tmem);
83
                        run_test;
84
                   end
85
 
86
                if(test_sel[2])
87
                   begin
88
                        $display("\nRunning Pat 2 Sub Test ...\n");
89
                        $readmemh ("test_vectors/rtne/fasu_pat2b.hex", tmem);
90
                        run_test;
91
                   end
92
 
93
                if(test_sel[3])
94
                   begin
95
                        $display("\nRunning Random Lg. Num Add Test ...\n");
96
                        $readmemh ("test_vectors/rtne/fasu_lga.hex", tmem);
97
                        run_test;
98
                   end
99
 
100
                if(test_sel[3])
101
                   begin
102
                        $display("\nRunning Random Lg. Num Sub Test ...\n");
103
                        $readmemh ("test_vectors/rtne/fasu_lgb.hex", tmem);
104
                        run_test;
105
                   end
106
 
107
                if(test_sel[4])
108
                   begin
109
                        $display("\nRunning Random Sm. Num Add Test ...\n");
110
                        $readmemh ("test_vectors/rtne/fasu_sma.hex", tmem);
111
                        run_test;
112
                   end
113
 
114
                if(test_sel[4])
115
                   begin
116
                        $display("\nRunning Random Sm. Num Sub Test ...\n");
117
                        $readmemh ("test_vectors/rtne/fasu_smb.hex", tmem);
118
                        run_test;
119
                   end
120
           end
121
 
122
 
123
        if(test_rmode[1])
124
           begin
125
                $display("\n\n+++++ ROUNDING MODE: Towards Zero\n\n");
126
 
127
                if(test_sel[0])
128
                   begin
129
                        $display("\nRunning Pat 0 Add Test ...\n");
130
                        $readmemh ("test_vectors/rtzero/fasu_pat0a.hex", tmem);
131
                        run_test;
132
                   end
133
 
134
                if(test_sel[0])
135
                   begin
136
                        $display("\nRunning Pat 0 Sub Test ...\n");
137
                        $readmemh ("test_vectors/rtzero/fasu_pat0b.hex", tmem);
138
                        run_test;
139
                   end
140
 
141
                if(test_sel[1])
142
                   begin
143
                        $display("\nRunning Pat 1 Add Test ...\n");
144
                        $readmemh ("test_vectors/rtzero/fasu_pat1a.hex", tmem);
145
                        run_test;
146
                   end
147
 
148
                if(test_sel[1])
149
                   begin
150
                        $display("\nRunning Pat 1 Sub Test ...\n");
151
                        $readmemh ("test_vectors/rtzero/fasu_pat1b.hex", tmem);
152
                        run_test;
153
                   end
154
 
155
                if(test_sel[2])
156
                   begin
157
                        $display("\nRunning Pat 2 Add Test ...\n");
158
                        $readmemh ("test_vectors/rtzero/fasu_pat2a.hex", tmem);
159
                        run_test;
160
                   end
161
 
162
                if(test_sel[2])
163
                   begin
164
                        $display("\nRunning Pat 2 Sub Test ...\n");
165
                        $readmemh ("test_vectors/rtzero/fasu_pat2b.hex", tmem);
166
                        run_test;
167
                   end
168
 
169
                if(test_sel[3])
170
                   begin
171
                        $display("\nRunning Random Lg. Num Add Test ...\n");
172
                        $readmemh ("test_vectors/rtzero/fasu_lga.hex", tmem);
173
                        run_test;
174
                   end
175
 
176
                if(test_sel[3])
177
                   begin
178
                        $display("\nRunning Random Lg. Num Sub Test ...\n");
179
                        $readmemh ("test_vectors/rtzero/fasu_lgb.hex", tmem);
180
                        run_test;
181
                   end
182
 
183
                if(test_sel[4])
184
                   begin
185
                        $display("\nRunning Random Sm. Num Add Test ...\n");
186
                        $readmemh ("test_vectors/rtzero/fasu_sma.hex", tmem);
187
                        run_test;
188
                   end
189
 
190
                if(test_sel[4])
191
                   begin
192
                        $display("\nRunning Random Sm. Num Sub Test ...\n");
193
                        $readmemh ("test_vectors/rtzero/fasu_smb.hex", tmem);
194
                        run_test;
195
                   end
196
           end
197
 
198
        if(test_rmode[2])
199
           begin
200
                $display("\n\n+++++ ROUNDING MODE: Towards INF+ (UP)\n\n");
201
 
202
                if(test_sel[0])
203
                   begin
204
                        $display("\nRunning Pat 0 Add Test ...\n");
205
                        $readmemh ("test_vectors/rup/fasu_pat0a.hex", tmem);
206
                        run_test;
207
                   end
208
 
209
                if(test_sel[0])
210
                   begin
211
                        $display("\nRunning Pat 0 Sub Test ...\n");
212
                        $readmemh ("test_vectors/rup/fasu_pat0b.hex", tmem);
213
                        run_test;
214
                   end
215
 
216
                if(test_sel[1])
217
                   begin
218
                        $display("\nRunning Pat 1 Add Test ...\n");
219
                        $readmemh ("test_vectors/rup/fasu_pat1a.hex", tmem);
220
                        run_test;
221
                   end
222
 
223
                if(test_sel[1])
224
                   begin
225
                        $display("\nRunning Pat 1 Sub Test ...\n");
226
                        $readmemh ("test_vectors/rup/fasu_pat1b.hex", tmem);
227
                        run_test;
228
                   end
229
 
230
                if(test_sel[2])
231
                   begin
232
                        $display("\nRunning Pat 2 Add Test ...\n");
233
                        $readmemh ("test_vectors/rup/fasu_pat2a.hex", tmem);
234
                        run_test;
235
                   end
236
 
237
                if(test_sel[2])
238
                   begin
239
                        $display("\nRunning Pat 2 Sub Test ...\n");
240
                        $readmemh ("test_vectors/rup/fasu_pat2b.hex", tmem);
241
                        run_test;
242
                   end
243
 
244
                if(test_sel[3])
245
                   begin
246
                        $display("\nRunning Random Lg. Num Add Test ...\n");
247
                        $readmemh ("test_vectors/rup/fasu_lga.hex", tmem);
248
                        run_test;
249
                   end
250
 
251
                if(test_sel[3])
252
                   begin
253
                        $display("\nRunning Random Lg. Num Sub Test ...\n");
254
                        $readmemh ("test_vectors/rup/fasu_lgb.hex", tmem);
255
                        run_test;
256
                   end
257
 
258
                if(test_sel[4])
259
                   begin
260
                        $display("\nRunning Random Sm. Num Add Test ...\n");
261
                        $readmemh ("test_vectors/rup/fasu_sma.hex", tmem);
262
                        run_test;
263
                   end
264
 
265
                if(test_sel[4])
266
                   begin
267
                        $display("\nRunning Random Sm. Num Sub Test ...\n");
268
                        $readmemh ("test_vectors/rup/fasu_smb.hex", tmem);
269
                        run_test;
270
                   end
271
           end
272
 
273
        if(test_rmode[3])
274
           begin
275
                $display("\n\n+++++ ROUNDING MODE: Towards INF- (DOWN)\n\n");
276
 
277
                if(test_sel[0])
278
                   begin
279
                        $display("\nRunning Pat 0 Add Test ...\n");
280
                        $readmemh ("test_vectors/rdown/fasu_pat0a.hex", tmem);
281
                        run_test;
282
                   end
283
 
284
                if(test_sel[0])
285
                   begin
286
                        $display("\nRunning Pat 0 Sub Test ...\n");
287
                        $readmemh ("test_vectors/rdown/fasu_pat0b.hex", tmem);
288
                        run_test;
289
                   end
290
 
291
                if(test_sel[1])
292
                   begin
293
                        $display("\nRunning Pat 1 Add Test ...\n");
294
                        $readmemh ("test_vectors/rdown/fasu_pat1a.hex", tmem);
295
                        run_test;
296
                   end
297
 
298
                if(test_sel[1])
299
                   begin
300
                        $display("\nRunning Pat 1 Sub Test ...\n");
301
                        $readmemh ("test_vectors/rdown/fasu_pat1b.hex", tmem);
302
                        run_test;
303
                   end
304
 
305
                if(test_sel[2])
306
                   begin
307
                        $display("\nRunning Pat 2 Add Test ...\n");
308
                        $readmemh ("test_vectors/rdown/fasu_pat2a.hex", tmem);
309
                        run_test;
310
                   end
311
 
312
                if(test_sel[2])
313
                   begin
314
                        $display("\nRunning Pat 2 Sub Test ...\n");
315
                        $readmemh ("test_vectors/rdown/fasu_pat2b.hex", tmem);
316
                        run_test;
317
                   end
318
 
319
                if(test_sel[3])
320
                   begin
321
                        $display("\nRunning Random Lg. Num Add Test ...\n");
322
                        $readmemh ("test_vectors/rdown/fasu_lga.hex", tmem);
323
                        run_test;
324
                   end
325
 
326
                if(test_sel[3])
327
                   begin
328
                        $display("\nRunning Random Lg. Num Sub Test ...\n");
329
                        $readmemh ("test_vectors/rdown/fasu_lgb.hex", tmem);
330
                        run_test;
331
                   end
332
 
333
                if(test_sel[4])
334
                   begin
335
                        $display("\nRunning Random Sm. Num Add Test ...\n");
336
                        $readmemh ("test_vectors/rdown/fasu_sma.hex", tmem);
337
                        run_test;
338
                   end
339
 
340
                if(test_sel[4])
341
                   begin
342
                        $display("\nRunning Random Sm. Num Sub Test ...\n");
343
                        $readmemh ("test_vectors/rdown/fasu_smb.hex", tmem);
344
                        run_test;
345
                   end
346
           end
347
        end
348
 
349
        if(fp_mul)
350
        begin
351
 
352
        $display("\n\nTesting FP MUL Unit\n");
353
 
354
        if(test_rmode[0])
355
           begin
356
                $display("\n+++++ ROUNDING MODE: Nearest Even\n\n");
357
 
358
                if(test_sel[0])
359
                   begin
360
                        $display("\nRunning Pat 0 Test ...\n");
361
                        $readmemh ("test_vectors/rtne/fmul_pat0.hex", tmem);
362
                        run_test;
363
                   end
364
 
365
                if(test_sel[1])
366
                   begin
367
                        $display("\nRunning Pat 1 Test ...\n");
368
                        $readmemh ("test_vectors/rtne/fmul_pat1.hex", tmem);
369
                        run_test;
370
                   end
371
 
372
                if(test_sel[2])
373
                   begin
374
                        $display("\nRunning Pat 2 Test ...\n");
375
                        $readmemh ("test_vectors/rtne/fmul_pat2.hex", tmem);
376
                        run_test;
377
                   end
378
 
379
                if(test_sel[3])
380
                   begin
381
                        $display("\nRunning Random Lg. Num Test ...\n");
382
                        $readmemh ("test_vectors/rtne/fmul_lg.hex", tmem);
383
                        run_test;
384
                   end
385
 
386
                if(test_sel[4])
387
                   begin
388
                        $display("\nRunning Random Sm. Num Test ...\n");
389
                        $readmemh ("test_vectors/rtne/fmul_sm.hex", tmem);
390
                        run_test;
391
                   end
392
           end
393
 
394
        if(test_rmode[1])
395
           begin
396
                $display("\n\n+++++ ROUNDING MODE: Towards Zero\n\n");
397
 
398
                if(test_sel[0])
399
                   begin
400
                        $display("\nRunning Pat 0 Test ...\n");
401
                        $readmemh ("test_vectors/rtzero/fmul_pat0.hex", tmem);
402
                        run_test;
403
                   end
404
 
405
                if(test_sel[1])
406
                   begin
407
                        $display("\nRunning Pat 1 Test ...\n");
408
                        $readmemh ("test_vectors/rtzero/fmul_pat1.hex", tmem);
409
                        run_test;
410
                   end
411
 
412
                if(test_sel[2])
413
                   begin
414
                        $display("\nRunning Pat 2 Test ...\n");
415
                        $readmemh ("test_vectors/rtzero/fmul_pat2.hex", tmem);
416
                        run_test;
417
                   end
418
 
419
                if(test_sel[3])
420
                   begin
421
                        $display("\nRunning Random Lg. Num Test ...\n");
422
                        $readmemh ("test_vectors/rtzero/fmul_lg.hex", tmem);
423
                        run_test;
424
                   end
425
 
426
                if(test_sel[4])
427
                   begin
428
                        $display("\nRunning Random Sm. Num Test ...\n");
429
                        $readmemh ("test_vectors/rtzero/fmul_sm.hex", tmem);
430
                        run_test;
431
                   end
432
           end
433
 
434
        if(test_rmode[2])
435
           begin
436
                $display("\n\n+++++ ROUNDING MODE: Towards INF+ (UP)\n\n");
437
 
438
                if(test_sel[0])
439
                   begin
440
                        $display("\nRunning Pat 0 Test ...\n");
441
                        $readmemh ("test_vectors/rup/fmul_pat0.hex", tmem);
442
                        run_test;
443
                   end
444
 
445
                if(test_sel[1])
446
                   begin
447
                        $display("\nRunning Pat 1 Test ...\n");
448
                        $readmemh ("test_vectors/rup/fmul_pat1.hex", tmem);
449
                        run_test;
450
                   end
451
 
452
                if(test_sel[2])
453
                   begin
454
                        $display("\nRunning Pat 2 Test ...\n");
455
                        $readmemh ("test_vectors/rup/fmul_pat2.hex", tmem);
456
                        run_test;
457
                   end
458
 
459
                if(test_sel[3])
460
                   begin
461
                        $display("\nRunning Random Lg. Num Test ...\n");
462
                        $readmemh ("test_vectors/rup/fmul_lg.hex", tmem);
463
                        run_test;
464
                   end
465
 
466
                if(test_sel[4])
467
                   begin
468
                        $display("\nRunning Random Sm. Num Test ...\n");
469
                        $readmemh ("test_vectors/rup/fmul_sm.hex", tmem);
470
                        run_test;
471
                   end
472
 
473
           end
474
 
475
        if(test_rmode[3])
476
           begin
477
                $display("\n\n+++++ ROUNDING MODE: Towards INF- (DOWN)\n\n");
478
 
479
                if(test_sel[0])
480
                   begin
481
                        $display("\nRunning Pat 0 Test ...\n");
482
                        $readmemh ("test_vectors/rdown/fmul_pat0.hex", tmem);
483
                        run_test;
484
                   end
485
 
486
                if(test_sel[1])
487
                   begin
488
                        $display("\nRunning Pat 1 Test ...\n");
489
                        $readmemh ("test_vectors/rdown/fmul_pat1.hex", tmem);
490
                        run_test;
491
                   end
492
 
493
                if(test_sel[2])
494
                   begin
495
                        $display("\nRunning Pat 2 Test ...\n");
496
                        $readmemh ("test_vectors/rdown/fmul_pat2.hex", tmem);
497
                        run_test;
498
                   end
499
 
500
                if(test_sel[3])
501
                   begin
502
                        $display("\nRunning Random Lg. Num Test ...\n");
503
                        $readmemh ("test_vectors/rdown/fmul_lg.hex", tmem);
504
                        run_test;
505
                   end
506
 
507
                if(test_sel[4])
508
                   begin
509
                        $display("\nRunning Random Sm. Num Test ...\n");
510
                        $readmemh ("test_vectors/rdown/fmul_sm.hex", tmem);
511
                        run_test;
512
                   end
513
           end
514
        end
515
 
516
        if(fp_div)
517
        begin
518
 
519
        $display("\n\nTesting FP DIV Unit\n");
520
 
521
        if(test_rmode[0])
522
           begin
523
                $display("\n+++++ ROUNDING MODE: Nearest Even\n\n");
524
 
525
                if(test_sel[0])
526
                   begin
527
                        $display("\nRunning Pat 0 Test ...\n");
528
                        $readmemh ("test_vectors/rtne/fdiv_pat0.hex", tmem);
529
                        run_test;
530
                   end
531
 
532
                if(test_sel[1])
533
                   begin
534
                        $display("\nRunning Pat 1 Test ...\n");
535
                        $readmemh ("test_vectors/rtne/fdiv_pat1.hex", tmem);
536
                        run_test;
537
                   end
538
 
539
                if(test_sel[2])
540
                   begin
541
                        $display("\nRunning Pat 2 Test ...\n");
542
                        $readmemh ("test_vectors/rtne/fdiv_pat2.hex", tmem);
543
                        run_test;
544
                   end
545
 
546
                if(test_sel[3])
547
                   begin
548
                        $display("\nRunning Random Lg. Num Test ...\n");
549
                        $readmemh ("test_vectors/rtne/fdiv_lg.hex", tmem);
550
                        run_test;
551
                   end
552
 
553
                if(test_sel[4])
554
                   begin
555
                        $display("\nRunning Random Sm. Num Test ...\n");
556
                        $readmemh ("test_vectors/rtne/fdiv_sm.hex", tmem);
557
                        run_test;
558
                   end
559
           end
560
 
561
        if(test_rmode[1])
562
           begin
563
                $display("\n\n+++++ ROUNDING MODE: Towards Zero\n\n");
564
 
565
                if(test_sel[0])
566
                   begin
567
                        $display("\nRunning Pat 0 Test ...\n");
568
                        $readmemh ("test_vectors/rtzero/fdiv_pat0.hex", tmem);
569
                        run_test;
570
                   end
571
 
572
                if(test_sel[1])
573
                   begin
574
                        $display("\nRunning Pat 1 Test ...\n");
575
                        $readmemh ("test_vectors/rtzero/fdiv_pat1.hex", tmem);
576
                        run_test;
577
                   end
578
 
579
                if(test_sel[2])
580
                   begin
581
                        $display("\nRunning Pat 2 Test ...\n");
582
                        $readmemh ("test_vectors/rtzero/fdiv_pat2.hex", tmem);
583
                        run_test;
584
                   end
585
 
586
                if(test_sel[3])
587
                   begin
588
                        $display("\nRunning Random Lg. Num Test ...\n");
589
                        $readmemh ("test_vectors/rtzero/fdiv_lg.hex", tmem);
590
                        run_test;
591
                   end
592
 
593
                if(test_sel[4])
594
                   begin
595
                        $display("\nRunning Random Sm. Num Test ...\n");
596
                        $readmemh ("test_vectors/rtzero/fdiv_sm.hex", tmem);
597
                        run_test;
598
                   end
599
           end
600
 
601
        if(test_rmode[2])
602
           begin
603
                $display("\n\n+++++ ROUNDING MODE: Towards INF+ (UP)\n\n");
604
 
605
                if(test_sel[0])
606
                   begin
607
                        $display("\nRunning Pat 0 Test ...\n");
608
                        $readmemh ("test_vectors/rup/fdiv_pat0.hex", tmem);
609
                        run_test;
610
                   end
611
 
612
                if(test_sel[1])
613
                   begin
614
                        $display("\nRunning Pat 1 Test ...\n");
615
                        $readmemh ("test_vectors/rup/fdiv_pat1.hex", tmem);
616
                        run_test;
617
                   end
618
 
619
                if(test_sel[2])
620
                   begin
621
                        $display("\nRunning Pat 2 Test ...\n");
622
                        $readmemh ("test_vectors/rup/fdiv_pat2.hex", tmem);
623
                        run_test;
624
                   end
625
 
626
                if(test_sel[3])
627
                   begin
628
                        $display("\nRunning Random Lg. Num Test ...\n");
629
                        $readmemh ("test_vectors/rup/fdiv_lg.hex", tmem);
630
                        run_test;
631
                   end
632
 
633
                if(test_sel[4])
634
                   begin
635
                        $display("\nRunning Random Sm. Num Test ...\n");
636
                        $readmemh ("test_vectors/rup/fdiv_sm.hex", tmem);
637
                        run_test;
638
                   end
639
 
640
           end
641
 
642
        if(test_rmode[3])
643
           begin
644
                $display("\n\n+++++ ROUNDING MODE: Towards INF- (DOWN)\n\n");
645
 
646
                if(test_sel[0])
647
                   begin
648
                        $display("\nRunning Pat 0 Test ...\n");
649
                        $readmemh ("test_vectors/rdown/fdiv_pat0.hex", tmem);
650
                        run_test;
651
                   end
652
 
653
                if(test_sel[1])
654
                   begin
655
                        $display("\nRunning Pat 1 Test ...\n");
656
                        $readmemh ("test_vectors/rdown/fdiv_pat1.hex", tmem);
657
                        run_test;
658
                   end
659
 
660
                if(test_sel[2])
661
                   begin
662
                        $display("\nRunning Pat 2 Test ...\n");
663
                        $readmemh ("test_vectors/rdown/fdiv_pat2.hex", tmem);
664
                        run_test;
665
                   end
666
 
667
                if(test_sel[3])
668
                   begin
669
                        $display("\nRunning Random Lg. Num Test ...\n");
670
                        $readmemh ("test_vectors/rdown/fdiv_lg.hex", tmem);
671
                        run_test;
672
                   end
673
 
674
                if(test_sel[4])
675
                   begin
676
                        $display("\nRunning Random Sm. Num Test ...\n");
677
                        $readmemh ("test_vectors/rdown/fdiv_sm.hex", tmem);
678
                        run_test;
679
                   end
680
           end
681
        end

powered by: WebSVN 2.1.0

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