-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.TXT
800 lines (676 loc) · 34 KB
/
CHANGES.TXT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
UVVM - Overview on Versions and Changes
==============================================================
This is the changes made in the UVVM release zip-file.
The purpose is to indicate which of the modules that have been
updated for this version of the zip file. For details about the
changes made for each individual module, please see the
CHANGES.TXT in each module's sub-directory.
----------------------------------------------------------------------
v2 2023.09.16
--------------------
Released: 2023-09-16
- Improved vvc_generator.py script to automatically generate compilable
code without requiring any user inputs.
- Fixed compilation warning on rand_pkg regarding a truncated value.
- Fixed optimization warning on methods_pkg regarding a string comparison.
- Updated AXI-Stream BFM documentation on byte_endianness config.
- Updated Avalon-ST BFM and VVC documentation on data_array word length.
- Added missing alert level method parameter in documentation for check_value_in_range().
- All queue setups now come directly from the VVC generics. Updated vvc_generator.py script.
- Removed delta cycle wait in VVC multiple executors. Updated vvc_generator.py script.
- Added a note to VVC QuickRefs that cmd/result queue parameters in the VVC Configuration are
unused and will be removed in v3.0.
- Changed back to full record mapping in AXI-Stream VVC to BFM call.
- Updated constant values related to cmd/results queues. Updated vvc_generator.py script.
- Added filter for (vcom-1246) warning in TCL compile scripts.
- Added bitvis_uart and bitvis_irqc to uvvm/script/component_list.txt.
- Updated vvc_framework.rst documentation for further explanation of common types
and usage of t_vvc_result.
- Updated scripts for proper handling of errors during compilation/simulation
in older versions of Riviera-PRO, based on Github user bennyslbs contributions.
- Added terminate_access functionality description in SPI BFM QuickRef.
v2 2023.03.21
--------------------
Released: 2023-03-21
- Changed name from C_SCOPE to C_SCOPE_BFM in BFM packages.
- In axistream_vvc: When calling a BFM procedure,
always use the non-record version to avoid fatal error: (SIGSEGV) Bad handle or reference, issue #202.
- Fixed bug where queue status in AXI and AXI-LITE VVCS depend on undefined process
execution order, issue #201.
v2 2023.03.10
--------------------
Released: 2023-03-10
- Fixed compilation warnings on rand_pkg regarding a truncated value.
- Fixed compilation warnings on string_methods_pkg regarding using an attribute on a function call.
- Fixed compilation warning on avalon_mm_vvc regarding the initial value of a signal depending on a port signal value.
- Updated bfm_config record example in vvc_generator.py.
- Fixed wrong log msg_id used in BFM axistream_expect() procedure.
- Added one delta cycle delay in the setup for read and write process for AXI, AXILite and Avalon MM VVCs.
- Added clear_list(VOID) argument to protected type t_prot_vvc_list.
- Added add_to_vvc_list() method to VVCs for use with await_completion().
- Added ti_vvc_framework_context.vhd
- Removed cmd_idx from add() method in t_prot_vvc_list (t_vvc_info_list).
- Fixed crash in Spec Cov VIP when opening an empty requirement file or non existing partial coverage directory.
- Fixed random() time function and procedure overflowing when default time resolution was too small for a given range.
- Added an overload for the random() time function and procedure with a parameter to select the time resolution.
- Fixed possible overflow when randomizing with multiple ranges.
- Added missing constraint to clock_name in Clock Generator VVC.
- Increased C_VVC_CMD_DATA_MAX_LENGTH from 32 to 1024 in bitvis_vip_gpio to enable bigger widths by default.
- Changed the main procedures of bitvis_vip_axistream using t_byte_array (deprecated) to be using t_slv_array instead.
Old procedures are now overloads to ensure backwards compability
- Changed/improved the prompt and added a check and alert message for channel name input order of RX and TX in vvc_generator
- Added PR from @kraigher adding a project setup file for rust HDL language server.
- Added PR from @runeben fixing an issue with AXI-Lite VVC by adding an extra delta cycle delay in the beginning of the
read and write executors.
v2 2022.10.07
--------------------
Released: 2022-10-07
- Fixed to_string() function not calculating the max size correctly.
- Added PR from @m-kru fixing miso direction in one of spi_master_transmit_and_receive procedures.
- Added PR from @amb5l adding Make support to UART and IRQC DUTs, in addition to template files.
- Added PR from @andrefi-eml adding a new await_stable function for specifying the target value.
- Added more RST documentation.
v2 2022.05.25
--------------------
Released: 2022-05-25
- Fixed issue where Questa Sim fails to match array widths in Ethernet VIP.
v2 2022.05.05
--------------------
Released: 2022-05-05
- Use correct message ID for avalon_mm_read_request() log in BFM.
- FC: Generate an alert when adding bins to a coverpoint which has been sampled.
- FC: Major updates in the coverage database accumulation mechanism.
- FC: Added a python script to merge coverage database files.
- FC: Fixed a bug in set_num_allocated_bins() not allowing to reduce size.
- FC: Disabled extra randomization log messages when using optimized randomization.
- FC: Fixed bins not being added when concatenated after ignore or illegal bins.
- Added demo for advanced randomization and functional coverage.
- Fixed crash in bitvis_vip_spec_cov run_spec_cov.py that could occur with partial coverage files not found.
- Fixed i2c_slave_receive() not checking master_sda_to_scl configuration correctly.
- Started conversion of complete UVVM documentation to RST & HTML format under uvvm/doc.
- Moved RST documentation for rand_pkg and func_cov_pkg to uvvm/doc.
- Added the parameter action_when_transfer_is_done to gmii_write() to support multi-field transfers
when using a hierarchical VVC, such as Ethernet.
- Fixed typo and wrong examples in Axistream VVC QuickRef.
- Fixed typo in GPIO VVC QuickRef.
- Fixed wrong example in SPI VVC QuickRef.
- Record declaration formatting in several packages - thanks to @m-kru for pull-request.
v2 2021.11.12
--------------------
Released: 2021-11-12
- Added support for multi-method time, real_vector, time_vector, signed and std_logic_vector randomization constraints.
- Fixed a bug where using exclude constraints to remove all valid constraints would cause a deadlock in randomization.
- Fixed duplicated alert messages in randomization vector types.
- Added parameters to F.C. report procedures to write to a separate file.
- Print the F.C. coverage report when loading a coverpoint's database.
v2 2021.10.22
--------------------
Released: 2021-10-22
- Fixed generic_queue deleting wrong element when position is different from entry_num.
- Fixed generic_queue print_queue() crashing when queue is empty.
- Added MATCH_STD_INCL_ZXUW to match strictness for check_value(), await_value()
and matching_values().
- Fixed issue when using don't care in SLVs with check_value() and match strictness
set to MATCH_STD_INCL_Z.
- Fixed issue where GHDL reported that the operator "&" is overloaded in the
ti_protected_types_pkg.
- Added rand_pkg (advanced randomization).
- Added func_cov_pkg (functional coverage).
- Added new documentation type (.rst and .html) for rand_pkg and func_cov_pkg.
See uvvm_util/doc/rand_and_func_cov.html and uvvm_util/doc/rst/index.rst for
documentation.
- Updated ghdl_compile_all_and_simulate.sh scripts with new uvvm_util packages.
- Added support to force the VVC to execute only one transaction at a time in AXI and AXI-Lite VIPs.
- Fixed bug where await_completion in certain cases didn't detect that the AXI and AXI-Lite
VIPs VVC was finished.
- Changed last_cmd_idx_executed to have a constant value of natural'high to avoid potential problems
with fetch_result in the AXI and AXI-Lite VIPs.
- Added missing change history to CHANGES.TXT.
v2 2021.05.26
--------------------
Released: 2021-05-26
- Corrected message ID for check_value() methods in BFM packages.
- Added MATCH_STD_INCL_Z to await_value() for SL and SLV.
- Corrected timeout value parameter for await_completion() in Common VVC Methods QR.
- Summary alert report and hierarchical alerts report updated to
warn for minor alert mismatch.
- Fixed crash in bitvis_vip_spec_cov run_spec_cov.py that could occur if a requirement
and testcase were listed in combination multiple times.
- Generic queue allow to insert to an empty queue with identifier position
set to POSITION and position set to 1.
- Insert_expected() to an empty Scoreboard using identifier_position=POSITION
and identifier=1 is now allowed.
- Fixed bug in check_counters that would cause the counter value to
increase to quickly.
- Added C_ENABLE_CHECK_COUNTER to adaptations_pkg, default set to True.
- Fixed incorrect VIP name in AXI-Stream compile_bfm.do script.
- Added Bitvis VIP Wishbone BETA to the main UVVM repository.
- Added data_length to AXI-Stream VVC transaction info.
- Fixed an issue with VVC name indexing in ti_protected_types_pkg priv_get_vvc_idx().
- Added some missing deallocating of lines in in methods_pkg.
- Fixed issue where calling the same VVC at the same time from different processes
could lead to a timeout.
v2 2021.04.08
--------------------
Released: 2021-04-08
- Fixed width detection method for to_string() functions that would make
GHDL simulator fail or create null arrays.
- Minor update in uart_receive example in VVC QuickRef.
- Removed duplicate setting of shared_vvc_cmd.operation in several VVC procedures and vvc_generator script.
- Added new line charecter in compile order txt files.
- Updated the GPIO VVC QR with information on how to use the VVC as input, output or inout.
- Moved timestamp_header() function from generic_sb_pkg to string_methods_pkg.
- Added t_natural_vector and t_positive_vector types to types_pkg.
- Added to_string() overloads for t_natural_vector, integer_vector, real_vector and time_vector types.
- Improved log message from axistream_expect_bytes() BFM procedure.
- vvc_generator now includes activity watchdog by default.
- Improved log messages from Clock Generator VVC.
- Bug fix and improved compability with some Modelsim version in AXI and AXI-Lite VIPs.
- Improved Clock Generator VVC set_clock_period() method description in the QR.
- Added missing result in log message for fetch_result() method.
- Fixed compilation error for the AXI and AXI-Lite VIPs in Riviera Pro.
v2 2020.12.21
--------------------
Released: 2020-12-21
- Added option for omitting a requirement in the post-processing Specification Coverage Python script.
- Fixed sub-requirements could be listed as not-run requirements in CSV files by Specification Coverage Python script.
v2 2020.12.08
--------------------
Released: 2020-12-08
- Improved to_string functions for slv, signed and unsigned when printing long decimal values.
- Added how to start demo testbench from within Modelsim to testbench_guide PDF in Bitvis UART VIP.
- Added max_receptions default value to uart_bfm_quickref.pdf.
- Added C_SPI_VVC_DATA_ARRAY_WIDTH to adaptation_pkg.
- Removed "addr" parameter from axistream_receive VVC method call in quick reference.
- Removed unused constant C_USE_LOCAL_OSVVM_MSG_ID_PANELS from adaptations_pkg.
- Removed xConstrRandFuncCov folder and content.
- Moved C_HIERARCHY_NODE_NAME_LENGTH from types_pkg to adaptations_pkg.
- Added Bitvis VIP Spec Cov to component_list.txt for compile_all.do script.
- Fixed to_string(integer) function using a negative value.
- Fixed random time function by using the simulator base time unit instead of ns.
- Fixed random function overflowing with maximum values in min/max range.
- Fixed Axistream C_MULTIPLE_RANDOM for valid & ready low not working.
- Added Axistream BFM configurations to control the probability of multiple random tvalid/tready low cycles
and the maximum random duration of tvalid/tready low deassertion.
- Fixed bug in to_string functions for t_slv_array, t_unsigned_array and t_signed_array that
caused a failure when using wide words.
v2 2020.10.06
--------------------
Released: 2020-10-06
- Added constant C_UVVM_VERSION with UVVM release version number.
- Removed shared_spec_cov_config alias from spec_cov_pkg.
- run_spec_cov.py script will now also create single_req_vs_single_tc.csv
and single_tc_vs_single_req.csv
- added conditional requirement tick off functionality to specification
coverage VIP.
- Corrected normalize_and_check() description in Util QR.
- Corrected default KEEP_LEADING_0 for check_value() in Util QR.
- Removed SLV range check for t_slv_array version of normalize_and_check().
- Removed VVC_Framework_Documentation_Overview.txt from VVC Framework /doc folder.
- Updated GPIO BFM config.
- Fixed log messages in GPIO BFM.
- Fixed default timeout parameter in gpio_expect() BFM procedure.
- Added GPIO procedures gpio_check_stable() & gpio_expect_stable().
- Renamed GPIO VVC procedure parameter instance_idx to vvc_instance_idx.
- Added AXI4 VIP.
- Added support for independent channels in AXI-Lite VVC.
v2 2020.08.21
--------------------
Released: 2020-08-21
- Corrected change log in UVVM.
- Added parameter tickoff_extent (LIST_SINGLE_TICKOFF, LIST_EVERY_TICKOFF) to
- tick_off_req_cov() parameter.
- Removed testcase as parameter in tick_off_req_cov() call.
- Added missing queue, FIFO and stack in Util package.
v2 2020.08.18
--------------------
Released: 2020-08-18
- Added maintenance TBs and simulation scripts to UVVM modules in UVVM_SUPPLEMENTARY repo.
- Removed C_VVCT_ALL_INSTANCES as it is a duplicate of ALL_INSTANCES.
- Replaced ALL_ENABLED_INSTANCES option with ALL_INSTANCES in Scoreboard VIP.
- Changed Scoreboard max instances constant name to C_MAX_SB_INSTANCE_IDX.
- Changed Scoreboard to be instance of Utility Library generic_sb_pkg.
- Fixed missing possibility to exit a TRANSMIT / WRITE loop in UART TX and SBI VVCs.
- Added missing reset of terminate cmd request flag in UART TX VVC.
- Added deprecated warning to ti_data_fifo_pkg, ti_data_queue_pkg, ti_data_stack_pkg and
ti_generic_queue_pkg. These will no longer be maintained and users should use the
packages in Utility Library.
- Updated UART, RGMII, SPI and I2C BFM QRs with required BFM configuration information.
- Added fix with gen_pulse() method for slv with don't care.
- Added explicit paths for framework methods in SBI VVC executor and interpreter.
- Fixed missing code generated from vvc_generator.
- Added missing deallocating of memory in BFMs.
- Removed dependencies reference from IRQC DUT compile_src.do script file.
- Added more info to set_log_destination method in Util QR.
- Removed Spec Cov VIP compile dependency on VVC Framework when using compile_src.do script.
- Generated code from vvc_generator.py will now compile without user editing.
- Spec Cov VIP will list requirements that are not found in the requirement file.
v2 2020.06.23
--------------------
Released: 2020-06-23
- Renamed t_vvc_list to t_vvc_info_list and await_completion() parameter vvc_list to vvc_info_list.
- Added match_strictness to all BFM configs and use it in check/expect procedures. Also print HEX
or BIN value in BFM check/expect alert logs depending on what kind of error it is. Updated BFM QRs.
- Updated Ethernet VVC QuickRef.
- Updated HVVC-to-VVC Bridge Implementation Guide.
- Updated UVVM Essential Mechanisms with the Hierarchical VVCs section.
- Fixed genric values for Scoreboard queue was not used.
- UART VVC error injection probability default is set to use BFM config settings.
- UART VVC generic GC_DATA_WIDTH is used for setting BFM config num_data_bits.
v2 2020.05.19
--------------------
Released: 2020-05-19
- Added HVVC_to_VVC_Bridge VIP and Ethernet VIP.
- Added shared_<if>_vvc_transaction_info information to VVC quick references.
- Added new type t_activity(ACTIVE, INACTIVE) to types_pkg.
- Added new msg_ids in adaptations_pkg.
- Changed VVC activity methods parameters and default scope.
- Fixed avalon_mm_read_request waiting on a negative delay when bfm_sync=SYNC_ON_CLOCK_ONLY
and clock_period was not configured.
- Updated VIP quick references.
- Set vvc_status.current_cmd_idx to 0 after a VVC finishes executing a command to signal that there
is no command being executed.
- Added missing t_byte_endianness enums.
- Removed extra log in some BFM procedures when called from another BFM procedure.
- Added new await_completion command for several VVCs which doesn't block them while waiting.
- Updated VVC activity_watchdog_register_vvc_state() method call with new t_activity parameter and
other minor improvements.
v2 2020.05.12
--------------------
Released: 2020-05-12
- Added compile_bfm.do scripts
- Added UVVM Guide in uvvm_util/doc/uvvm_guide.pdf
- Added README.TXT to VIP folders
- Added GHDL compile script for running demo TBs
- Updated README with master and slave VIPs
v2 2020.04.20
--------------------
Released: 2020-04-20
- Updated Util QR check_value() with MATCH_STD_INCL_Z option.
- Renamed Simple Watchdog to General Watchdog.
- Removed logging message from Activity Watchdog for when number of
expected VVCs match actual number.
- Added section 6.7 regarding transaction info usage in VVC Framework Essential Mechanisms document.
- Added dependency list in compile_src.do scripts.
- Added reference to verbosity control in VVC and SB QRs.
- Added advanced and basic choice to vvc_generator.py
- Added specification coverage VIP - Bitvis VIP Spec Cov
v2 2020.03.30b
--------------------
Released: 2020-03-30b
- Fixed random data in UART TX VVC and SBI VVC.
v2 2020.03.30
--------------------
Released: 2020-03-30
- Changed VVC SB name to <IF>_VVC_SB in all VVCs with scoreboarding.
- Added VVC index to enable_log_msg() calls for all VVCs with scoreboarding.
- Added data_routing parameter to VVC read/receive procedures for sending data to scoreboard.
- Fixed SB report_counters(ALL_ENABLED_INSTANCES) not printing instance 0.
- Added a new predefined scoreboard slv8_sb_pkg.
- Added checks in all SB procedures to give an error if the instance is not enabled.
- Renamed Direct Transaction Transfer to transaction info.
- Fixed logging in Avalon-ST VIP to show the correct total number of words/symbols.
- Renamed signal VVC to VVCT in GPIO VVC procedures to match the documentation.
- Added NA element to type t_enabled.
- Added C_UNUSED_MSG_ID_PANEL and removed t_vvc record in adaptations_pkg.
- Removed type t_use_provided_msg_id_panel.
- Replaced use_provided_msg_id_panel and msg_id_panel for parent_msg_id_panel.
- Added parent_msg_id_panel optional parameter to all VVC procedures for future HVVC support.
- Replaced default scope in VVC commands with C_VVC_CMD_SCOPE_DEFAULT so that it is
configurable from adaptations_pkg.
- Moved alert_level parameter placement in Avalon-ST, GMII and RGMII VVC expect procedures.
- Added CHECK counters and report_check_counters() method to UVVM Utility library.
v2 2020.03.06
--------------------
Released: 2020-03-06
- Added 3 new msg_ids in adaptations_pkg: ID_PACKET_PREAMBLE, ID_PACKET_CHECKSUM and ID_PACKET_GAP.
- Moved t_channel from types_pkg to adaptations_pkg.
- Changed t_byte_endianness elements names and added an alias t_word_endianness.
- Removed unnecessary ascending parameter in convert_slv_array_to_byte_array function.
- Added functions convert_byte_array_to_slv and convert_slv_to_byte_array to methods_pkg.
- Removed t_transaction_info from vvc_generator.py script.
- Fixed bug in the generic queue where deleting the last element would make elements added
after the delete disappear.
- Added a read procedure with the number of bytes to read as a parameter for GMII VIP.
- Removed deprecated t_transaction_info in GMII VIP, RGMII VIP and Avalon Stream VIP.
- Updated default max_wait_cycles in GMII VIP.
v2 2020.03.02
--------------------
Released: 2020-03-02
- Changed to Apache license.
v2 2020.02.16
--------------------
Released: 2020-02-16
- Added Bitvis VIP Avalon ST
- Added Bitvis VIP RGMII beta
- Added Bitvis VIP GMII beta
- Fixed missing Scoreboard VIP in IRQC dependency list.
- Added missing DTT commands in VIPs.
- Improved Scoreboard logging.
- Added default scope and changed alert message for check_file_open_status()
in UVVM Util.
- Fixed bugs and added checks to BFM sync methods.
- Added C_UVVM_TIMEOUT for internal wait statements.
- Removed unused code from Clock Generator VVC executor.
- Added missing generated generics from vvc_generator.py script.
- Updated figure in UART Demo TB quick reference.
v2020.01.24
--------------------
Released: 2020-01-24
- The UVVM forum is released : https://forum.uvvm.org
- Fixed an issue with clock generator VIP would use one clock period
of the default clock period setting before using the configured setting.
- Created new constant C_MAX_TB_VVC_NUM for activity watchdog VVC register.
- Reduced C_MAX_VVC_INSTANCE_NUM from 20 to 8.
- Added bfm_sync to the BFM configuration record for SBI VIP, Avalon MM VIP,
AXI-Lite VIP and AXI-Stream VIP.
- Clock driven BFMs utilize new synchronising methods, with synchronising to
clock as default, and clock_period, setup_time and hold_time set to -1 ns
by default.
- Clock driven BFMs will detect the clock period and verify with BFM config
specified clock_period and clock_period_margin.
- Direct Transaction Transfer (DTT) is divided in a global trigger signal and
shared variable with transfer related information.
- Updated vvc_context files for all VIPs with BFM interface and config types.
- Removed unused config elements id_for_bfm_wait & id_for_bfm_poll in Axistream BFM.
- Only check for TLast in receive procedure when config check_packet_length is true in
Axistream BFM.
- Added a t_slv_array_ptr type, a log2 function and a to_string function for integer
type with output as DEC, HEX or BIN.
- Added a deallocate procedure to ti_data_fifo_pkg.
- Fixed typos and added generation of vvc_context file in vvc_generator.py script.
- Added missing insert_expected() methods in the generic_sb_pkg.
- Fixed wrong timestamp when reporting scoreboard counters summary with a non-decimal time.
- Fixed bug in the generic queue where fetching the last element would make elements added
after the fetch disappear.
- Updated UVVM VVC Framework Essential Mechanisms with direct transaction transfer changes.
v2019.12.04
--------------------
Released: 2019-12-04
- Added transaction_pkg to all VVCs.
- Added direct transaction transfer (DTT)
- Added UART Monitor (beta)
- Added Bitvis VIP Error Injection
- Added UART protocol aware error injection (beta)
- Added possible randomised data transfer from UART and SBI VVCs (beta)
- Added scoreboarding to VVCs.
- Added property checkers to UART VVC (beta)
- Added demostration testbench to Bitvis VIP UART for demonstrating
several new mechanisms to the UVVM VVC Framework and VVCs.
- See UVVM VVC Framework Essential Mechanisms for an extended listing of
many new features in this release.
- Corrected QR parameters for UART BFM calls.
- Renamed UVVM Essential Mechanisms to UVVM VVC Framework Essential Mechanisms.
- Updated vvc_generator.py to create transaction_pkg and activity watchdog code.
- Reordered activity watchdog parameters and updated signal names.
- Removed t_coverage from adaptation_pkg.
v2019.11.25
--------------------
Released: 2019-11-25
- Fixed issue with compile script failing.
- Fixed an issue where vector direction could be changed in GPIO VIP.
- Fixed missing changes update in CHANGES.TXT for UVVM.
- Updated LICENSE.TXT
v2019.11.21
--------------------
Released: 2019-11-21
- Fixed compile_scr.do script not finding util and framework libraries when specifying
a different target directory.
- Changed to relative links in MD files.
- Added transaction package to Bitvis VIP SBI and Bitvis VIP UART.
- Added timeout watchdog. See UVVM Util quick reference for more information.
- Added VVC activity watchdog. All Bitvis VVCs now support activity watchdog functionality.
See UVVM Essential Mechanisms and VVC quick references for more information.
- Added scoreboard to VVC.
- Updated Scoreboard QR.
- Fixed an issue with clock generator VVC documentation
not matching implementation.
v2019.09.02
--------------------
Released: 2019-09-02
- Changed to relative links in MD files.
- Bugfixes in Axistream VIP.
- Added new config to deassert tvalid once or multiple random times in Axistream BFM.
- Added new feature to deassert tready multiple random times in Axistream BFM.
- Minor fixes in vvc_generator.py
- Bug fix for std.env.stop return value when UVVM stop simulations if stop-limit is
reached for a given alert.
- Major changes in generics used in the Scoreboard VIP.
v2019.06.06
--------------------
Released: 2019-06-06
- Minor changes in script in bitvis_irqc.
- Minor changes in script in bitvis_uart.
- Minor changes in documentation in uvvm_util.
- Changes to synchronization methods in uvvm_util.
- C_NUM_SYNC_FLAGS moved to adaptation_pkg.
- Fixed fatal error in convert_slv_array_to_byte in uvvm_util.
- Removed extra spaces in log reports.
- Cleaned compile scripts.
- Added ascending slv support to convert_slv_array_to_byte_array function.
- Scoreboard QR updated, instance number 0 is now accepted, adjusted text alignment and
added timestamp to report_counters method, and report_counters now writes to file.
- Minor improvements to demo testbenches and renamed for clarification.
- Removed GPIO VIP testbench.
- VVC compile_order.txt files updated with vvc_context.vhd
- Fixed bug where UART BFM would accept illegal start bits.
- All msg_ids have comments in adaptation_pkg.
- Updated gen_pulse() description in Util QR.
- Removed msg parameter in get_last_received_cmd_idx method.
- Added missing information regarding data buffer default size in Generic Queue QR.
- Added information regarding verbosity control to UVVM Essential Mechanisms QR.
- Removed shared_vvc_cmd as input to await_cmd_from_sequencer method.
- Added optional scope to send_command_to_vvc, get_last_received_cmd_idx and VVC broadcast procedures.
- Added scope to enable_log_msg and disable_log_msg.
- Added support for several backslash-r in log method.
- Fixed an issue with VVC terminate command.
- Restructured README files in UVVM root, uvvm_util and uvvm_vvc_framework.
v2018.12.03
--------------------
Released: 2018-12-03
- Minor changes in documentation of VIPs, UTIL and VVC Framework.
- Option MATCH_STD_INCL_Z added to check_value() of std_logic/std_logic_vector in UVVM UTIL.
- Minor bug fix in UART VIP.
- Minor bug fix in SBI VIP.
v2018.10.09
--------------------
Released: 2018-10-09
- Fixed minor bug in bitvis_vip_scoreboard
v2018.09.28
--------------------
Released: 2018-09-28
- Fixed bug in compile script in bitvis_irqc
- Minor changes in documentation of bitvis_uart
v2018.08.30
--------------------
Released: 2018-08-30
- New compile script structure
- Added context file for each VVC
- Fixed simulation status in shared_uvvm_status and hierarchical alert messages in UVVM UTIL
- New package for global signals and shared variables added, global_signals_and_shared_variables_pkg.vhd in UVVM UTIL
- Added support allowing the first clock edge to come at the same time or
before chip select is enabled for SPI slave BFM.
v2018.07.04
--------------------
Released: 2018-07-04
- Fixed bug in the generic queue package
v2018.07.02
--------------------
Released: 2018-07-02
- Added bitvis_vip_scoreboard
- Added bitvis_vip_clock_generator
- Added new methods to ti_generic_queue_pkg
- Fixed bug in receive_only methods in SPI VVC
- Fixed bug in get_queue_is_full method in ti_data_queue_pkg
v2018.04.16
--------------------
Released: 2018-04-16
- Fixed a bug in the generated code from vvc_generator.py script.
- Added some new features and fixes to Bitvis VIP SPI.
v2018.04.09
--------------------
Released: 2018-04-09
- Added multicast information to VVC QRs.
- Added information to the shared_uvvm_status with VVC information
when using await_any_completion.
- Fixed a bug and added more configuration options to the
Axistream VIP.
- Fixed a bug in the Avalon MM VIP.
- Added a demo TB to the GPIO VIP. See CHANGES.TXT in the
bitvis_vip_gpio for more information.
- Fixed a possible confusion, added documents and more features to
the UVVM VVC Framework. See CHANGES.TXT for more information.
- Added more features and improved some logging in the
UVVM Utility Library. See CHANGES.TXT for more information.
v2017.12.20
--------------------
Released: 2017-12-20
- Added a log() overload for easy logging.
See CHANGES.TXT in UVVM Util for details.
- Added documentation for FIFO Collection and Generic Queue.
See CHANGES.TXT in UVVM VVC Framework for details.
v2017.11.16
--------------------
Released: 2017-10-16
- Added bug fix to i2c VIP. See CHANGES.TXT in bitvis_vip_i2c for
details.
- Added new feature and changed an alert in UVVM Util.
See CHANGES.TXT in uvvm_util for details.
- Changed VVC and BFM calls for t_byte_array in AXIStream VIP.
See CHANGES.TXT in bitvis_vip_axistream for details.
v2017.10.16
--------------------
Released: 2017-10-16
- Changed version numbering to Year.Month.Day format.
- Changes to all the sub repositories are now listed in
uvvm_all_release_changes.txt.
- Added FAQ.txt
v2.4.1
----------
Released: 2017-06-08
- Added compile order file in script folder for each VIP
- Fixed Aldec Active-HDL bug in VIP compile scripts
v2.4.0
----------
Released: 2017-05-16
- Fixed bug in the UVVM VVC Framework resolved function
- Added status signal for determining simulation result success or failure
- For more information, please see the CHANGES.TXT in each VIP
v2.3.0
----------
Released: 2017-04-28
- The GPIO VIP has now been added to the UVVM release
- Improved the documentation formatting
- For more information, please see the CHANGES.TXT in each VIP
v2.2.0
----------
Released: 2017-04-18
- The SPI VIP has now been added to the UVVM release
v2.1.2
----------
Released: 2017-04-04
- Updated the BFM init functions on VIPs with BFM bus interfaces to a fix compile error in GHDL, reported by Patrick Lehmann (Paebbels) on GitHub.
v2.1.1
----------
Released: 2017-03-27
- Fixed bug in the AXI4-Stream VIP which caused fatal error in Questa:
- When calling a BFM procedure, always use the non-record version to avoid fatal error in Questa: (SIGSEGV) Bad handle or reference.
v2.1.0
----------
Released: 2017-03-16
- Updated the AXI4-Stream VIP with extended functionality, including support for TDEST, TID, TSTRB.
- The AXI4-Stream VIP version 3.0.0 is not directly backwards compatible with the previous version.
- Please see the CHANGES.TXT document within the VIP for a description of changes required to upgrade to version 3.0.0.
- Updated the VVC Generator script with the option of creating VVCs with multiple execution queues
- Added minor documentation updates for all VIPs, uvvm_util and uvvm_vvc_framework
- For more details, see each VIP CHANGES.TXT document.
v2.0.3
----------
Released: 2017-02-13
- Applied minor bugfixes and updated documentation for v2.0.x
- The UVVM release of OSVVM has been removed from the repository due to the fact that it was a outdated
version of OSVVM, and it was not used in any testbenches or examples.
v2.0.2
----------
Released: 2017-02-01
- Applied minor bugfixes after beta testing. This affects all components in the UVVM package.
v2.0.1
----------
Released: 2017-01-27
This release is not backwards compatible and may require some changes in your tesbench and custom VVCs.
- Change required in your test bench / test harness :
Replace for example
i_initialize_uvvm : initialize_uvvm;
with
i_ti_uvvm_engine : entity uvvm_vvc_framework.ti_uvvm_engine;
- Changes required in your custom VVCs (if any) are listed in the CHANGES.TXT file in the sub directory uvvm_vvc_framework.
- Changes required in your BFM calls : see CHANGES.TXT in the respective BFM folder.
Some parameters have been reordered in order to minimize the difference between BFM and VVC calls.
All VIPs have been altered for this release.
- For VVC designers there are some changes as well. In order to function with the new UVVM it is recommended to apply these changes:
1. For *_vvc.vhd
- add "variable local_vvc_cmd : t_vvc_cmd_record := C_VVC_CMD_DEFAULT;" to variable list in cmd_interpreter process
- add parameter local_vvc_cmd to work.td_vvc_entity_support_pkg.await_cmd_from_sequencer(C_VVC_LABELS, vvc_config, THIS_VVCT, VVC_BROADCAST, global_vvc_ack, shared_vvc_cmd, local_vvc_cmd)
- exchange shared_vvc_cmd with local_vvc_cmd in the cmd_interpreter except for the line above as it is copied in that function
- add parameter local_vvc_cmd to uvvm_vvc_framework.ti_vvc_framework_support_pkg.acknowledge_cmd(global_vvc_ack,local_vvc_cmd.cmd_idx)
You can take a look at all our VVCs.
2. For vvc_methods_pkg.vhd
- delete shared_vvc_cmd := C_VVC_CMD_DEFAULT; line in each procedure before set_general_target_and_command_fields
- make sure that the ordering of commands in each function is:
1. set_general_target_and_command_fields. It must be executed before any access to shared_vvc_cmd
2. after the command send_command_to_vvc(VVCT); there must also be no access to shared_vvc_cmd
v1.5.2
----------
Released: 2016-10-31
- This release contains an updated version of:
- bitvis_vip_sbi
- bitvis_vip_uart
- bitvis_vip_axilite
- bitvis_vip_axistream
- bitvis_vip_i2c
- bitvis_vip_avalon_mm__simple_access
- uvvm_util
- UVVM Util
v1.5.1
----------
Released: 2016-09-13
- This release contains an updated version of:
- bitvis_vip_axistream
v1.5.0
----------
Released: 2016-08-30
- This release contains a new verification IP:
- bitvis_vip_axistream: Allows normal access towards
an AXI4-Stream interface.
- This release contains an updated version of:
- UVVM-Util
v1.4.0
----------
Released: 2016-05-02
- This release contains an updated version of:
- UVVM-Util
- UVVM VVC Framework
- UVVM OSVVM
- bitvis_vip_sbi
- bitvis_vip_uart
- bitvis_vip_axilite
- bitvis_vip_avalon_mm__simple_access
- bitvis_vip_i2c
- bitvis_uart
- bitvis_irqc
v1.3.1
----------
Released: 2016-03-16
- This release contains an updated version of UVVM-Util
v1.3.0
----------
Released: 2016-03-14
- This release contains UVVM OSVVM, a modified version
of OSVVM 2016.1 that uses UVVM Utility Library for logs
and alerts.
v1.2.0
----------
Released: 2016-03-03
- This release contains a new verification IP:
- bitvis_vip_i2c: Allows normal access towards an I2C
interface.