之前有用SystemVerilog語言寫出了一個testbench,這邊會用UVM寫出一個完整的testbench。
Design 跟之前一樣是一個簡單的暫存器/記憶體design,這個design會將write request的資料寫入對應的address,如果是read request則是return正確的address的資料。
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 module reg_ctrl # ( parameter ADDR_WIDTH = 8 , parameter DATA_WIDTH = 16 , parameter DEPTH = 256 , parameter RESET_VAL = 16'h1234 ) ( input clk, input rstn, input [ADDR_WIDTH-1 :0 ] addr, input sel, input wr, input [DATA_WIDTH-1 :0 ] wdata, output reg [DATA_WIDTH-1 :0 ] rdata, output reg ready); reg [DATA_WIDTH-1 :0 ] ctrl [DEPTH]; reg ready_dly; wire ready_pe; always @ (posedge clk) begin if (!rstn) begin for (int i = 0 ; i < DEPTH; i += 1 ) begin ctrl[i] <= RESET_VAL; end end else begin if (sel & ready & wr) begin ctrl[addr] <= wdata; end if (sel & ready & !wr) begin rdata <= ctrl[addr]; end else begin rdata <= 0 ; end end end always @ (posedge clk) begin if (!rstn) begin ready <= 1 ; end else begin if (sel & ready_pe) begin ready <= 1 ; end if (sel & ready & !wr) begin ready <= 0 ; end end end always @ (posedge clk) begin if (!rstn) ready_dly <= 1 ; else ready_dly <= ready; end assign ready_pe = ~ready & ready_dly; endmodule
Interface 與design的input/output符合的interface,Testbench與Design會透過這個interface溝通。
1 2 3 4 5 6 7 8 9 interface reg_if (input bit clk); logic rstn; logic [7 :0 ] addr; logic [15 :0 ] wdata; logic [15 :0 ] rdata; logic wr; logic sel; logic ready; endinterface
Sequence Item A data class called reg_item is defined to hold random input address and write data and will be randomized inside the sequence before it is sent to the driver. The class also has utility macros to help with common requirements like print, copy and clone. 中文 (繁體) 定義 reg_item 的data class來保存input address和write data,在發送到driver之前在sequence內把要傳送出去的資料準備好。Sequence item還有print,copy和clone這些資料的macro可以使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class reg_item extends uvm_sequence_item; bit [`ADDR_WIDTH-1 :0 ] addr; bit [`DATA_WIDTH-1 :0 ] wdata; bit wr; bit [`DATA_WIDTH-1 :0 ] rdata; `uvm_object_utils_begin(reg_item) `uvm_field_int(addr, UVM_DEFAULT) `uvm_field_int(wdata, UVM_DEFAULT) `uvm_field_int(wr, UVM_DEFAULT) `uvm_field_int(rdata, UVM_DEFAULT) `uvm_object_utils_end virtual function string convert2str(); return $sformatf ("addr=0x%0h wr=0x%0h wdata=0x%0h rdata=0x%0h" , addr, wr, wdata, rdata); endfunction function new (string name = "reg_item" ); super .new (name); endfunction endclass
UVM Driver UVM Driver繼承自uvm_driver,並將他參數化(parameterize)來接受 reg_item 類型的object。 他還要把從sequencer收到的東西送到 virtual interface,用以toggle DUT的pin角。Driver呼叫 get_next_item 和 item_done 與sequencer進行溝通。
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 class driver extends uvm_driver#(reg_item) ; `uvm_component_utils(driver) function new (string name = "driver" , uvm_component parent = null ); super .new (name, parent); endfunction virtual reg_if vif; virtual function void build_phase(uvm_phase phase); super .build_phase (phase); if (!uvm_config_db#(virtual reg_if)::get(this, "", "reg_if", vif)) `uvm_fatal("DRV" , "Could NOT get vif" ); endfunction virtual task run_phase(uvm_phase phase); super .run_phase (phase); forever begin reg_item m_item; `uvm_info("DRV" , $sformatf ("wait for item from sequencer" ), UVM_LOW); seq_item_port.get_next_item (m_item); drive_item(m_item); seq_item_port.item_done (); end endtask virtual task drive_item(reg_item m_item); vif.sel <= 1 ; vif.addr <= m_item.addr ; vif.wr <= m_item.wr ; vif.wdata <= m_item.wdata ; @(posedge vif.clk ); while (!vif.ready ) begin `uvm_info("DRV" , "wait until ready is high" , UVM_LOW) @(posedge vif.clk ); end vif.sel <= 0 ; endtask endclass
UVM Monitor UVM monitor繼承自uvm_monitor,monitor會有一個virtual interface用來偵聽interface的活動(activity)。然後將pin level的活動decode成protocol packet,然後將其送到其他的testbench component。以這個testbench的狀況,monitor會看 DUT interface上是否有一組address和data,並將它們capture到reg_item 的object,然後透過analysis port傳送出去。
因為monitor必須decode和capture這個 DUT interface上的任何activity,所以因此只要simulation於活動狀態,monitor就必須持續監控,所以monitor裡面的task是一個forever loop。
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 class monitor extends uvm_monitor; `uvm_component_utils(monitor) function new (string name = "Monitor" , uvm_component parent = null ); super .new (name, parent); endfunction uvm_analysis_port #(reg_item) mon_analysis_port; virtual reg_if vif; semaphore sema4; virtual function void build_phase(uvm_phase phase); super .build_phase (phase); if (!uvm_config_db#(virtual reg_if)::get(this, "", "reg_if", vif)) begin `uvm_fatal("MON" , "Could not get vif" ); end else begin `uvm_info("MON" , "Could get vif" , UVM_LOW); end sema4 = new (1 ); mon_analysis_port = new ("mon_analysis_port" , this ); endfunction virtual task run_phase(uvm_phase phase); super .run_phase (phase); forever begin @ (posedge vif.clk ); if (vif.sel ) begin reg_item item = new ; item.addr = vif.addr ; item.wr = vif.wr ; item.wdata = vif.wdata ; if (!vif.wr ) begin @(posedge vif.clk ); item.rdata = vif.rdata ; end `uvm_info(get_type_name(), $sformatf ("Monitor found packet %s" , item.convert2str ()), UVM_LOW) mon_analysis_port.write (item); end end endtask endclass
UVM Agent UVM agent的作用是把sequencer、driver和monitor封裝到單一個容器(container)中。sequencer負責將給定的sequence的data object送給driver。sequencer參數化成可接受 reg_item 類型的object,並且其 seq_item_port 連接到driver的 seq_item_export。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 class agent extends uvm_agent; `uvm_component_utils(agent) function new (string name="agent" , uvm_component parent=null ); super .new (name, parent); endfunction driver d0; monitor m0; uvm_sequencer #(reg_item) s0; virtual function void build_phase(uvm_phase phase); super .build_phase (phase); s0 = uvm_sequencer#(reg_item)::type_id::create("s0", this) ; d0 = driver::type_id::create("d0" , this ); m0 = monitor::type_id::create("m0" , this ); endfunction virtual function void connect_phase(uvm_phase phase); super .connect_phase (phase); d0.seq_item_port .connect (s0.seq_item_export ); endfunction endclass
UVM Scoreboard scoreboard 透過 uvm_analysis_imp port從monitor接收data object。scoreboard從monitor接收寫入和讀取操作的data packet,因此scoreboard可以預測給定位址的讀取資料應該要是什麼。只要scoreboard收到一個item,它的 write 方法就會被執行,然後執行checker並預測結果。
scoreboard有自己內部的internal array,用於儲存不同address的data用來模仿design的行為。也稱為reference model。根據design的functionality,reference model可以很簡單,也可能非常複雜。
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 class scoreboard extends uvm_scoreboard; `uvm_component_utils(scoreboard) function new (string name = "scoreboard" , uvm_component parent = null ); super .new (name, parent); endfunction reg_item refq[`DEPTH]; uvm_analysis_imp #(reg_item, scoreboard) m_analysis_imp; virtual function void build_phase(uvm_phase phase); super .build_phase (phase); m_analysis_imp = new ("m_analysis_imp" , this ); endfunction virtual function write(reg_item item); if (item.wr ) begin if (refq[item.addr ] == null ) refq[item.addr ] = new (); refq[item.addr ] = item; `uvm_info(get_type_name(), $sformatf ("store addr=0x%0h wr=0x%0h data=0x%0h" , item.addr , item.wr , item.wdata ), UVM_LOW); end if (!item.wr ) begin if (refq[item.addr ] == null ) begin if (item.rdata != 'h1234 ) begin `uvm_error(get_type_name(), $sformatf ("first read addr=0x%0h exp=0x1234h act=0x%0h" , item.addr , item.rdata )); end else begin `uvm_info(get_type_name(), $sformatf ("PASS! first read addr=0x%0h exp=0x1234h act=0x%0h" , item.addr , item.rdata ), UVM_LOW); end end else begin if (item.rdata != refq[item.addr ].wdata ) begin `uvm_error(get_type_name(), $sformatf ("read addr=0x%0h exp=0x%0h act=0x%0h" , item.addr , refq[item.addr ].wdata , item.rdata )); end else begin `uvm_info(get_type_name(), $sformatf ("PASS! read addr=0x%0h exp=0x%0h act=0x%0h" , item.addr , refq[item.addr ].wdata , item.rdata ), UVM_LOW); end end end endfunction endclass
UVM Environment UVM environment負責實例化和連接所有testbench的元件。在environment裡面,agent裡面的monitor的analysis port會連接到scoreboard中的analysis implementation port。只要monitor將新資料推送到analysis port的時候,這個connection允許scoreboard接收資料包。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class env extends uvm_env; `uvm_component_utils(env) function new (string name="env" , uvm_component parent=null ); super .new (name, parent); endfunction agent a0; scoreboard sb0; virtual function void build_phase(uvm_phase phase); super .build_phase (phase); a0 = agent::type_id::create("a0" , this ); sb0 = scoreboard::type_id::create("sb0" , this ); endfunction virtual function void connect_phase(uvm_phase phase); super .connect_phase (phase); a0.m0 .mon_analysis_port .connect (sb0.m_analysis_imp ); endfunction endclass
UVM Test UVM Test會將一個environment實例化,設定 sub component的virtual interface並啟動sequence。這個範例中,還有建立一個reset task將DUT做reset,之後gen_item_seq這個sequence object會在sequencer啟動。 由於sequence會消耗simulation時間,並且只要sequence處於active狀態,所有其他testbench component就必須運行,因此在對的時機使用raise objection和drop objection非常重要。通常sequence會使用rand function來產生隨機的值用來測試DUT,並且以 constrain條件限制隨機的範圍,讓testbench可以測試到各種不同的address和data組合。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class env extends uvm_env; `uvm_component_utils(env) function new (string name = "env" , uvm_component parent = null ); super .new (name, parent); endfunction agent a0; scoreboard sb0; virtual function void build_phase(uvm_phase phase); super .build_phase (phase); a0 = agent::type_id::create("a0" , this ); sb0 = scoreboard::type_id::create("sb0" , this ); endfunction virtual function void connect_phase(uvm_phase phase); super .connect_phase (phase); a0.m0 .mon_analysis_port .connect (sb0.m_analysis_imp ); endfunction endclass
UVM Sequence 最後有構成testbench的stimulus的main sequence。在定序器上啟動時,序列會執行主體方法,sequencer會得到sequence的body method產生的address/data的reg_item的object並將它們傳送到driver。
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 class gen_item_seq extends uvm_sequence; `uvm_object_utils(gen_item_seq) function new (string name = "gen_item_seq" ); super .new (name); endfunction int num = 1 ; virtual task body(); for (int i = 0 ; i < 5 ; i++) begin reg_item m_item = reg_item::type_id::create("m_item" ); start_item(m_item); m_item.addr = i; m_item.wr = 0 ; m_item.wdata = $random ; m_item.rdata = $random ; `uvm_info("SEQ" , $sformatf ("Generate1 new item: " ), UVM_LOW) m_item.print (); finish_item(m_item); end for (int i = 0 ; i < num; i++) begin reg_item m_item = reg_item::type_id::create("m_item" ); start_item(m_item); m_item.addr = i; m_item.wr = 1 ; m_item.wdata = $random ; m_item.rdata = $random ; `uvm_info("SEQ" , $sformatf ("Generate2 new item: " ), UVM_LOW) m_item.print (); finish_item(m_item); end for (int i = 0 ; i < num; i++) begin reg_item m_item = reg_item::type_id::create("m_item" ); start_item(m_item); m_item.addr = i; m_item.wr = 0 ; m_item.wdata = $random ; m_item.rdata = $random ; `uvm_info("SEQ" , $sformatf ("Generate3 new item: " ), UVM_LOW) m_item.print (); finish_item(m_item); end `uvm_info("SEQ" , $sformatf ("done %0d time" , num), UVM_LOW) endtask endclass
TB Top 最上層的Testbench要產生clock和interface與design的實例,並將interface和design串起來,並且把interface透過uvm_config_db讓UVM testbench可以得到這個interface,並且把這個test透過run_test將完整的UVM test跑起來。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 module tb; reg clk = 0 ; always #10 clk = ~clk; reg_if _if(clk); reg_ctrl u0(.clk (clk), .rstn (_if.rstn ), .addr (_if.addr ), .sel (_if.sel ), .wr (_if.wr ), .wdata (_if.wdata ), .rdata (_if.rdata ), .ready (_if.ready ) ); initial begin $display ("tb_start" ); uvm_config_db #(virtual reg_if)::set (null, "uvm_test_top", "reg_if", _if) ; run_test("test" ); $display ("tb_end" ); end endmodule
Output 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 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 Reading pref.tcl # 2021 .2 # vsim -c tb -do "run 10000; quit -f" # Start time : 12 :50 :10 on Jan 14 ,2024 # ** Note: (vsim-8009 ) Loading existing optimized design _opt # # # # # # # # # # # # # # # Loading sv_std.std # Loading mtiUvm.uvm_pkg (fast) # Loading work.tb_sv_unit (fast) # Loading mtiUvm.questa_uvm_pkg (fast) # Loading work.tb (fast) # Loading work.reg_if (fast) # ** Warning: (vsim-3764 ) Stand-alone call to function 'write' treated as implicit void cast. # Time: 0 ns Iteration: 0 Region: /uvm_pkg::uvm_analysis_imp #(tb_sv_unit::reg_item, tb_sv_unit::scoreboard) File: C:/intelFPGA/22 .1std /questa_fse/win64/../verilog_src/uvm-1 .1d /src/tlm1/uvm_analysis_port.svh Line: 114 # Loading C:/intelFPGA/22 .1std /questa_fse/uvm-1 .1d \win64\uvm_dpi.dll # run 10000 # ---------------------------------------------------------------- # UVM-1 .1d # (C) 2007 -2013 Mentor Graphics Corporation # (C) 2007 -2013 Cadence Design Systems, Inc. # (C) 2006 -2013 Synopsys, Inc. # (C) 2011 -2013 Cypress Semiconductor Corp. # ---------------------------------------------------------------- # # *********** IMPORTANT RELEASE NOTES ************ # # You are using a version of the UVM library that has been compiled # with `UVM_NO_DEPRECATED undefined. # See http: # # You are using a version of the UVM library that has been compiled # with `UVM_OBJECT_MUST_HAVE_CONSTRUCTOR undefined. # See http: # # (Specify +UVM_NO_RELNOTES to turn off this notice) # # UVM_INFO verilog_src/questa_uvm_pkg-1 .2 /src/questa_uvm_pkg.sv (277 ) @ 0 : reporter [Questa UVM] QUESTA_UVM-1 .2 .3 # UVM_INFO verilog_src/questa_uvm_pkg-1 .2 /src/questa_uvm_pkg.sv (278 ) @ 0 : reporter [Questa UVM] questa_uvm::init(+struct ) # tb_start # UVM_INFO @ 0 : reporter [RNTST] Running test test... # UVM_INFO .\tb.sv (157 ) @ 0 : uvm_test_top.e0 .a0 .m0 [MON] Could get vif # UVM_INFO @ 0 : reporter [UVMTOP] UVM testbench topology: # -------------------------------------------------------------- # Name Type Size Value # -------------------------------------------------------------- # uvm_test_top test - @471 # e0 env - @478 # a0 agent - @488 # d0 driver - @510 # rsp_port uvm_analysis_port - @525 # seq_item_port uvm_seq_item_pull_port - @517 # m0 monitor - @503 # mon_analysis_port uvm_analysis_port - @644 # s0 uvm_sequencer - @533 # rsp_export uvm_analysis_export - @540 # seq_item_export uvm_seq_item_pull_imp - @634 # arbitration_queue array 0 - # lock_queue array 0 - # num_last_reqs integral 32 'd1 # num_last_rsps integral 32 'd1 # sb0 scoreboard - @495 # m_analysis_imp uvm_analysis_imp - @657 # -------------------------------------------------------------- # # apply_reset vif.rstn :x # UVM_INFO .\tb.sv (117 ) @ 0 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # apply_reset vif.rstn :0 # apply_reset vif.rstn :1 # UVM_INFO .\tb.sv (291 ) @ 290 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate1 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @696 # addr integral 8 'h0 # wdata integral 16 'h3524 # wr integral 1 'h0 # rdata integral 16 'h5e81 # begin_time time 64 290 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 310 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (291 ) @ 310 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate1 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @705 # addr integral 8 'h1 # wdata integral 16 'hd609 # wr integral 1 'h0 # rdata integral 16 'h5663 # begin_time time 64 310 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 330 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 330 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x0 wr=0 x0 wdata=0 x3524 rdata=0 x1234 # UVM_INFO .\tb.sv (237 ) @ 330 : uvm_test_top.e0 .sb0 [scoreboard] PASS! first read addr=0 x0 exp=0 x1234h act=0 x1234 # UVM_INFO .\tb.sv (117 ) @ 350 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (291 ) @ 350 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate1 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @713 # addr integral 8 'h2 # wdata integral 16 'h7b0d # wr integral 1 'h0 # rdata integral 16 'h998d # begin_time time 64 350 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 370 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 370 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x1 wr=0 x0 wdata=0 xd609 rdata=0 x1234 # UVM_INFO .\tb.sv (237 ) @ 370 : uvm_test_top.e0 .sb0 [scoreboard] PASS! first read addr=0 x1 exp=0 x1234h act=0 x1234 # UVM_INFO .\tb.sv (117 ) @ 390 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (291 ) @ 390 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate1 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @721 # addr integral 8 'h3 # wdata integral 16 'h8465 # wr integral 1 'h0 # rdata integral 16 'h5212 # begin_time time 64 390 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 410 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 410 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x2 wr=0 x0 wdata=0 x7b0d rdata=0 x1234 # UVM_INFO .\tb.sv (237 ) @ 410 : uvm_test_top.e0 .sb0 [scoreboard] PASS! first read addr=0 x2 exp=0 x1234h act=0 x1234 # UVM_INFO .\tb.sv (117 ) @ 430 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (291 ) @ 430 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate1 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @729 # addr integral 8 'h4 # wdata integral 16 'he301 # wr integral 1 'h0 # rdata integral 16 'hcd0d # begin_time time 64 430 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 450 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 450 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x3 wr=0 x0 wdata=0 x8465 rdata=0 x1234 # UVM_INFO .\tb.sv (237 ) @ 450 : uvm_test_top.e0 .sb0 [scoreboard] PASS! first read addr=0 x3 exp=0 x1234h act=0 x1234 # UVM_INFO .\tb.sv (117 ) @ 470 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (304 ) @ 470 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @737 # addr integral 8 'h0 # wdata integral 16 'hf176 # wr integral 1 'h1 # rdata integral 16 'hcd3d # begin_time time 64 470 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 490 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 490 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x4 wr=0 x0 wdata=0 xe301 rdata=0 x1234 # UVM_INFO .\tb.sv (237 ) @ 490 : uvm_test_top.e0 .sb0 [scoreboard] PASS! first read addr=0 x4 exp=0 x1234h act=0 x1234 # UVM_INFO .\tb.sv (178 ) @ 510 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x0 wr=0 x1 wdata=0 xf176 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 510 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x0 wr=0 x1 data=0 xf176 # UVM_INFO .\tb.sv (117 ) @ 510 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (304 ) @ 510 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @749 # addr integral 8 'h1 # wdata integral 16 'h57ed # wr integral 1 'h1 # rdata integral 16 'hf78c # begin_time time 64 510 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 530 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 530 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x1 wr=0 x1 wdata=0 x57ed rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 530 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x1 wr=0 x1 data=0 x57ed # UVM_INFO .\tb.sv (304 ) @ 530 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @761 # addr integral 8 'h2 # wdata integral 16 'he9f9 # wr integral 1 'h1 # rdata integral 16 'h24c6 # begin_time time 64 530 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 550 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 550 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x2 wr=0 x1 wdata=0 xe9f9 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 550 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x2 wr=0 x1 data=0 xe9f9 # UVM_INFO .\tb.sv (304 ) @ 550 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @773 # addr integral 8 'h3 # wdata integral 16 'h84c5 # wr integral 1 'h1 # rdata integral 16 'hd2aa # begin_time time 64 550 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 570 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 570 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x3 wr=0 x1 wdata=0 x84c5 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 570 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x3 wr=0 x1 data=0 x84c5 # UVM_INFO .\tb.sv (304 ) @ 570 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @785 # addr integral 8 'h4 # wdata integral 16 'hf7e5 # wr integral 1 'h1 # rdata integral 16 'h7277 # begin_time time 64 570 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 590 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 590 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x4 wr=0 x1 wdata=0 xf7e5 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 590 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x4 wr=0 x1 data=0 xf7e5 # UVM_INFO .\tb.sv (304 ) @ 590 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @797 # addr integral 8 'h5 # wdata integral 16 'hd612 # wr integral 1 'h1 # rdata integral 16 'hdb8f # begin_time time 64 590 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 610 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 610 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x5 wr=0 x1 wdata=0 xd612 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 610 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x5 wr=0 x1 data=0 xd612 # UVM_INFO .\tb.sv (304 ) @ 610 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @809 # addr integral 8 'h6 # wdata integral 16 'h69f2 # wr integral 1 'h1 # rdata integral 16 'h96ce # begin_time time 64 610 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 630 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 630 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x6 wr=0 x1 wdata=0 x69f2 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 630 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x6 wr=0 x1 data=0 x69f2 # UVM_INFO .\tb.sv (304 ) @ 630 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @821 # addr integral 8 'h7 # wdata integral 16 'h7ae8 # wr integral 1 'h1 # rdata integral 16 'h4ec5 # begin_time time 64 630 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 650 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 650 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x7 wr=0 x1 wdata=0 x7ae8 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 650 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x7 wr=0 x1 data=0 x7ae8 # UVM_INFO .\tb.sv (304 ) @ 650 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @833 # addr integral 8 'h8 # wdata integral 16 'h495c # wr integral 1 'h1 # rdata integral 16 'h28bd # begin_time time 64 650 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 670 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 670 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x8 wr=0 x1 wdata=0 x495c rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 670 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x8 wr=0 x1 data=0 x495c # UVM_INFO .\tb.sv (304 ) @ 670 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @845 # addr integral 8 'h9 # wdata integral 16 'h582d # wr integral 1 'h1 # rdata integral 16 'h2665 # begin_time time 64 670 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 690 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 690 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x9 wr=0 x1 wdata=0 x582d rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 690 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x9 wr=0 x1 data=0 x582d # UVM_INFO .\tb.sv (304 ) @ 690 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @857 # addr integral 8 'ha # wdata integral 16 'h6263 # wr integral 1 'h1 # rdata integral 16 'h870a # begin_time time 64 690 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 710 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 710 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xa wr=0 x1 wdata=0 x6263 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 710 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 xa wr=0 x1 data=0 x6263 # UVM_INFO .\tb.sv (304 ) @ 710 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @869 # addr integral 8 'hb # wdata integral 16 'h2280 # wr integral 1 'h1 # rdata integral 16 'h2120 # begin_time time 64 710 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 730 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 730 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xb wr=0 x1 wdata=0 x2280 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 730 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 xb wr=0 x1 data=0 x2280 # UVM_INFO .\tb.sv (304 ) @ 730 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @881 # addr integral 8 'hc # wdata integral 16 'h45aa # wr integral 1 'h1 # rdata integral 16 'hcc9d # begin_time time 64 730 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 750 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 750 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xc wr=0 x1 wdata=0 x45aa rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 750 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 xc wr=0 x1 data=0 x45aa # UVM_INFO .\tb.sv (304 ) @ 750 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @893 # addr integral 8 'hd # wdata integral 16 'h3e96 # wr integral 1 'h1 # rdata integral 16 'hb813 # begin_time time 64 750 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 770 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 770 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xd wr=0 x1 wdata=0 x3e96 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 770 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 xd wr=0 x1 data=0 x3e96 # UVM_INFO .\tb.sv (304 ) @ 770 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @905 # addr integral 8 'he # wdata integral 16 'h380d # wr integral 1 'h1 # rdata integral 16 'hd653 # begin_time time 64 770 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 790 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 790 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xe wr=0 x1 wdata=0 x380d rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 790 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 xe wr=0 x1 data=0 x380d # UVM_INFO .\tb.sv (304 ) @ 790 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @917 # addr integral 8 'hf # wdata integral 16 'hdd6b # wr integral 1 'h1 # rdata integral 16 'h2ad5 # begin_time time 64 790 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 810 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 810 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xf wr=0 x1 wdata=0 xdd6b rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 810 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 xf wr=0 x1 data=0 xdd6b # UVM_INFO .\tb.sv (304 ) @ 810 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @929 # addr integral 8 'h10 # wdata integral 16 'h4a02 # wr integral 1 'h1 # rdata integral 16 'h3eae # begin_time time 64 810 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 830 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 830 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x10 wr=0 x1 wdata=0 x4a02 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 830 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x10 wr=0 x1 data=0 x4a02 # UVM_INFO .\tb.sv (304 ) @ 830 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @941 # addr integral 8 'h11 # wdata integral 16 'he91d # wr integral 1 'h1 # rdata integral 16 'h72cf # begin_time time 64 830 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 850 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 850 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x11 wr=0 x1 wdata=0 xe91d rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 850 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x11 wr=0 x1 data=0 xe91d # UVM_INFO .\tb.sv (304 ) @ 850 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @953 # addr integral 8 'h12 # wdata integral 16 'h4923 # wr integral 1 'h1 # rdata integral 16 'h650a # begin_time time 64 850 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 870 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 870 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x12 wr=0 x1 wdata=0 x4923 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 870 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x12 wr=0 x1 data=0 x4923 # UVM_INFO .\tb.sv (304 ) @ 870 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @965 # addr integral 8 'h13 # wdata integral 16 'haca # wr integral 1 'h1 # rdata integral 16 'h4c3c # begin_time time 64 870 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 890 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 890 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x13 wr=0 x1 wdata=0 xaca rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 890 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x13 wr=0 x1 data=0 xaca # UVM_INFO .\tb.sv (304 ) @ 890 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @977 # addr integral 8 'h14 # wdata integral 16 'hbdf2 # wr integral 1 'h1 # rdata integral 16 'h618a # begin_time time 64 890 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 910 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 910 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x14 wr=0 x1 wdata=0 xbdf2 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 910 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x14 wr=0 x1 data=0 xbdf2 # UVM_INFO .\tb.sv (304 ) @ 910 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @989 # addr integral 8 'h15 # wdata integral 16 'hb341 # wr integral 1 'h1 # rdata integral 16 'h34d8 # begin_time time 64 910 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 930 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 930 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x15 wr=0 x1 wdata=0 xb341 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 930 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x15 wr=0 x1 data=0 xb341 # UVM_INFO .\tb.sv (304 ) @ 930 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1001 # addr integral 8 'h16 # wdata integral 16 'hf378 # wr integral 1 'h1 # rdata integral 16 'h1289 # begin_time time 64 930 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 950 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 950 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x16 wr=0 x1 wdata=0 xf378 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 950 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x16 wr=0 x1 data=0 xf378 # UVM_INFO .\tb.sv (304 ) @ 950 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1013 # addr integral 8 'h17 # wdata integral 16 'hdeb # wr integral 1 'h1 # rdata integral 16 'h65b6 # begin_time time 64 950 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 970 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 970 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x17 wr=0 x1 wdata=0 xdeb rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 970 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x17 wr=0 x1 data=0 xdeb # UVM_INFO .\tb.sv (304 ) @ 970 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate2 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1025 # addr integral 8 'h18 # wdata integral 16 'hf9c6 # wr integral 1 'h1 # rdata integral 16 'h13ae # begin_time time 64 970 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 990 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (178 ) @ 990 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x18 wr=0 x1 wdata=0 xf9c6 rdata=0 x0 # UVM_INFO .\tb.sv (228 ) @ 990 : uvm_test_top.e0 .sb0 [scoreboard] store addr=0 x18 wr=0 x1 data=0 xf9c6 # UVM_INFO .\tb.sv (317 ) @ 990 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1037 # addr integral 8 'h0 # wdata integral 16 'h2bc # wr integral 1 'h0 # rdata integral 16 'hdd2a # begin_time time 64 990 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (117 ) @ 1010 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1010 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1045 # addr integral 8 'h1 # wdata integral 16 'h9a0b # wr integral 1 'h0 # rdata integral 16 'hbe71 # begin_time time 64 1010 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1030 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1030 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x0 wr=0 x0 wdata=0 x2bc rdata=0 xf176 # UVM_INFO .\tb.sv (245 ) @ 1030 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x0 exp=0 xf176 act=0 xf176 # UVM_INFO .\tb.sv (117 ) @ 1050 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1050 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1053 # addr integral 8 'h2 # wdata integral 16 'h4185 # wr integral 1 'h0 # rdata integral 16 'h554f # begin_time time 64 1050 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1070 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1070 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x1 wr=0 x0 wdata=0 x9a0b rdata=0 x57ed # UVM_INFO .\tb.sv (245 ) @ 1070 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x1 exp=0 x57ed act=0 x57ed # UVM_INFO .\tb.sv (117 ) @ 1090 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1090 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1061 # addr integral 8 'h3 # wdata integral 16 'h603b # wr integral 1 'h0 # rdata integral 16 'h333a # begin_time time 64 1090 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1110 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1110 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x2 wr=0 x0 wdata=0 x4185 rdata=0 xe9f9 # UVM_INFO .\tb.sv (245 ) @ 1110 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x2 exp=0 xe9f9 act=0 xe9f9 # UVM_INFO .\tb.sv (117 ) @ 1130 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1130 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1069 # addr integral 8 'h4 # wdata integral 16 'h327e # wr integral 1 'h0 # rdata integral 16 'h4b15 # begin_time time 64 1130 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1150 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1150 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x3 wr=0 x0 wdata=0 x603b rdata=0 x84c5 # UVM_INFO .\tb.sv (245 ) @ 1150 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x3 exp=0 x84c5 act=0 x84c5 # UVM_INFO .\tb.sv (117 ) @ 1170 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1170 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1077 # addr integral 8 'h5 # wdata integral 16 'h9bf1 # wr integral 1 'h0 # rdata integral 16 'h4bd9 # begin_time time 64 1170 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1190 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1190 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x4 wr=0 x0 wdata=0 x327e rdata=0 xf7e5 # UVM_INFO .\tb.sv (245 ) @ 1190 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x4 exp=0 xf7e5 act=0 xf7e5 # UVM_INFO .\tb.sv (117 ) @ 1210 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1210 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1085 # addr integral 8 'h6 # wdata integral 16 'h762 # wr integral 1 'h0 # rdata integral 16 'hfb4c # begin_time time 64 1210 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1230 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1230 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x5 wr=0 x0 wdata=0 x9bf1 rdata=0 xd612 # UVM_INFO .\tb.sv (245 ) @ 1230 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x5 exp=0 xd612 act=0 xd612 # UVM_INFO .\tb.sv (117 ) @ 1250 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1250 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1093 # addr integral 8 'h7 # wdata integral 16 'h559f # wr integral 1 'h0 # rdata integral 16 'ha18f # begin_time time 64 1250 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1270 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1270 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x6 wr=0 x0 wdata=0 x762 rdata=0 x69f2 # UVM_INFO .\tb.sv (245 ) @ 1270 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x6 exp=0 x69f2 act=0 x69f2 # UVM_INFO .\tb.sv (117 ) @ 1290 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1290 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1101 # addr integral 8 'h8 # wdata integral 16 'ha9f8 # wr integral 1 'h0 # rdata integral 16 'h60b7 # begin_time time 64 1290 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1310 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1310 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x7 wr=0 x0 wdata=0 x559f rdata=0 x7ae8 # UVM_INFO .\tb.sv (245 ) @ 1310 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x7 exp=0 x7ae8 act=0 x7ae8 # UVM_INFO .\tb.sv (117 ) @ 1330 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1330 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1109 # addr integral 8 'h9 # wdata integral 16 'h569f # wr integral 1 'h0 # rdata integral 16 'h945c # begin_time time 64 1330 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1350 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1350 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x8 wr=0 x0 wdata=0 xa9f8 rdata=0 x495c # UVM_INFO .\tb.sv (245 ) @ 1350 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x8 exp=0 x495c act=0 x495c # UVM_INFO .\tb.sv (117 ) @ 1370 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1370 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1117 # addr integral 8 'ha # wdata integral 16 'hc05b # wr integral 1 'h0 # rdata integral 16 'h3789 # begin_time time 64 1370 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1390 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1390 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x9 wr=0 x0 wdata=0 x569f rdata=0 x582d # UVM_INFO .\tb.sv (245 ) @ 1390 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x9 exp=0 x582d act=0 x582d # UVM_INFO .\tb.sv (117 ) @ 1410 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1410 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1125 # addr integral 8 'hb # wdata integral 16 'h3249 # wr integral 1 'h0 # rdata integral 16 'h3ed0 # begin_time time 64 1410 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1430 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1430 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xa wr=0 x0 wdata=0 xc05b rdata=0 x6263 # UVM_INFO .\tb.sv (245 ) @ 1430 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 xa exp=0 x6263 act=0 x6263 # UVM_INFO .\tb.sv (117 ) @ 1450 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1450 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1133 # addr integral 8 'hc # wdata integral 16 'hc0d7 # wr integral 1 'h0 # rdata integral 16 'hfc51 # begin_time time 64 1450 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1470 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1470 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xb wr=0 x0 wdata=0 x3249 rdata=0 x2280 # UVM_INFO .\tb.sv (245 ) @ 1470 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 xb exp=0 x2280 act=0 x2280 # UVM_INFO .\tb.sv (117 ) @ 1490 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1490 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1141 # addr integral 8 'hd # wdata integral 16 'h2f96 # wr integral 1 'h0 # rdata integral 16 'h7f0c # begin_time time 64 1490 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1510 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1510 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xc wr=0 x0 wdata=0 xc0d7 rdata=0 x45aa # UVM_INFO .\tb.sv (245 ) @ 1510 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 xc exp=0 x45aa act=0 x45aa # UVM_INFO .\tb.sv (117 ) @ 1530 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1530 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1149 # addr integral 8 'he # wdata integral 16 'hcec2 # wr integral 1 'h0 # rdata integral 16 'hedc8 # begin_time time 64 1530 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1550 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1550 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xd wr=0 x0 wdata=0 x2f96 rdata=0 x3e96 # UVM_INFO .\tb.sv (245 ) @ 1550 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 xd exp=0 x3e96 act=0 x3e96 # UVM_INFO .\tb.sv (117 ) @ 1570 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1570 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1157 # addr integral 8 'hf # wdata integral 16 'h5a77 # wr integral 1 'h0 # rdata integral 16 'hed3d # begin_time time 64 1570 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1590 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1590 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xe wr=0 x0 wdata=0 xcec2 rdata=0 x380d # UVM_INFO .\tb.sv (245 ) @ 1590 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 xe exp=0 x380d act=0 x380d # UVM_INFO .\tb.sv (117 ) @ 1610 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1610 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1165 # addr integral 8 'h10 # wdata integral 16 'hdb12 # wr integral 1 'h0 # rdata integral 16 'h7e # begin_time time 64 1610 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1630 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1630 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 xf wr=0 x0 wdata=0 x5a77 rdata=0 xdd6b # UVM_INFO .\tb.sv (245 ) @ 1630 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 xf exp=0 xdd6b act=0 xdd6b # UVM_INFO .\tb.sv (117 ) @ 1650 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1650 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1173 # addr integral 8 'h11 # wdata integral 16 'h816d # wr integral 1 'h0 # rdata integral 16 'he739 # begin_time time 64 1650 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1670 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1670 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x10 wr=0 x0 wdata=0 xdb12 rdata=0 x4a02 # UVM_INFO .\tb.sv (245 ) @ 1670 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x10 exp=0 x4a02 act=0 x4a02 # UVM_INFO .\tb.sv (117 ) @ 1690 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1690 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1181 # addr integral 8 'h12 # wdata integral 16 'h8f1f # wr integral 1 'h0 # rdata integral 16 'hf6d3 # begin_time time 64 1690 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1710 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1710 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x11 wr=0 x0 wdata=0 x816d rdata=0 xe91d # UVM_INFO .\tb.sv (245 ) @ 1710 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x11 exp=0 xe91d act=0 xe91d # UVM_INFO .\tb.sv (117 ) @ 1730 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1730 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1189 # addr integral 8 'h13 # wdata integral 16 'h2f85 # wr integral 1 'h0 # rdata integral 16 'h8878 # begin_time time 64 1730 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1750 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1750 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x12 wr=0 x0 wdata=0 x8f1f rdata=0 x4923 # UVM_INFO .\tb.sv (245 ) @ 1750 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x12 exp=0 x4923 act=0 x4923 # UVM_INFO .\tb.sv (117 ) @ 1770 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1770 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1197 # addr integral 8 'h14 # wdata integral 16 'h595b # wr integral 1 'h0 # rdata integral 16 'h4b49 # begin_time time 64 1770 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1790 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1790 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x13 wr=0 x0 wdata=0 x2f85 rdata=0 xaca # UVM_INFO .\tb.sv (245 ) @ 1790 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x13 exp=0 xaca act=0 xaca # UVM_INFO .\tb.sv (117 ) @ 1810 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1810 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1205 # addr integral 8 'h15 # wdata integral 16 'hae3f # wr integral 1 'h0 # rdata integral 16 'haf2a # begin_time time 64 1810 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1830 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1830 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x14 wr=0 x0 wdata=0 x595b rdata=0 xbdf2 # UVM_INFO .\tb.sv (245 ) @ 1830 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x14 exp=0 xbdf2 act=0 xbdf2 # UVM_INFO .\tb.sv (117 ) @ 1850 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1850 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1213 # addr integral 8 'h16 # wdata integral 16 'h6358 # wr integral 1 'h0 # rdata integral 16 'h3886 # begin_time time 64 1850 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1870 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1870 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x15 wr=0 x0 wdata=0 xae3f rdata=0 xb341 # UVM_INFO .\tb.sv (245 ) @ 1870 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x15 exp=0 xb341 act=0 xb341 # UVM_INFO .\tb.sv (117 ) @ 1890 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1890 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1221 # addr integral 8 'h17 # wdata integral 16 'hc8e # wr integral 1 'h0 # rdata integral 16 'hf29c # begin_time time 64 1890 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1910 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1910 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x16 wr=0 x0 wdata=0 x6358 rdata=0 xf378 # UVM_INFO .\tb.sv (245 ) @ 1910 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x16 exp=0 xf378 act=0 xf378 # UVM_INFO .\tb.sv (117 ) @ 1930 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (317 ) @ 1930 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] Generate3 new item: # ------------------------------------------------------------------------ # Name Type Size Value # ------------------------------------------------------------------------ # m_item reg_item - @1229 # addr integral 8 'h18 # wdata integral 16 'h99fa # wr integral 1 'h0 # rdata integral 16 'hbc26 # begin_time time 64 1930 # depth int 32 'd2 # parent sequence (name) string 3 seq # parent sequence (full name) string 25 uvm_test_top.e0 .a0 .s0 .seq # sequencer string 21 uvm_test_top.e0 .a0 .s0 # ------------------------------------------------------------------------ # UVM_INFO .\tb.sv (131 ) @ 1950 : uvm_test_top.e0 .a0 .d0 [DRV] wait until ready is high # UVM_INFO .\tb.sv (178 ) @ 1950 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x17 wr=0 x0 wdata=0 xc8e rdata=0 xdeb # UVM_INFO .\tb.sv (245 ) @ 1950 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x17 exp=0 xdeb act=0 xdeb # UVM_INFO .\tb.sv (117 ) @ 1970 : uvm_test_top.e0 .a0 .d0 [DRV] wait for item from sequencer # UVM_INFO .\tb.sv (321 ) @ 1970 : uvm_test_top.e0 .a0 .s0 @@seq [SEQ] done 25 time # UVM_INFO .\tb.sv (178 ) @ 1990 : uvm_test_top.e0 .a0 .m0 [monitor] Monitor found packet addr=0 x18 wr=0 x0 wdata=0 x99fa rdata=0 xf9c6 # UVM_INFO .\tb.sv (245 ) @ 1990 : uvm_test_top.e0 .sb0 [scoreboard] PASS! read addr=0 x18 exp=0 xf9c6 act=0 xf9c6 # quit -f # End time : 12 :50 :12 on Jan 14 ,2024 , Elapsed time : 0 :00 :02 # Errors: 0 , Warnings: 1