Jump to content

UVM Book Examples - A Practical Guide to Adopting the Universal Verification Methodology (UVM) Second Edition

About This File


This contribution includes the updated examples for the second edition of the UVM Book: A Practical Guide to Adopting the Universal Verification Methodology (UVM) Second Edition.


Kathleen Meade and Sharon Rosenberg

User Feedback

Recommended Comments

Hi Team,


I downloaded the uvm_ref_flow_1.2.tar.gz


In this example I am seeing for uart_ctrl_env.sv . Why the below lines are removed ?


// uart_ctrl_reg_sequencer reg_sequencer;  //KAM - removed register sequencer

//reg_sequencer = uart_ctrl_reg_sequencer::type_id::create("reg_sequencer", this);  //KAM - removed register sequencer


But looks like as per the Cook book we should have this code here . Is this a old code which is not working ?


The other question I have , In the flow example why we are not using the UVM reg layer for creating the interrupt sequence, We are directly creating apb seq .

I think it should have been uvm_reg_sequence rather than APB sequence ?




Share this comment

Link to comment
Share on other sites

Thanks for the upload. I converted this to Mentor UVM but have a problem with apb_slave_config. Wondering if anyone else has seen this error.

Test is u2a_a2u_rand_test .





# UVM_INFO verilog_src/questa_uvm_pkg-1.2/src/questa_uvm_pkg.sv(215) @ 0: reporter [Questa UVM] QUESTA_UVM-1.2.2
# UVM_INFO verilog_src/questa_uvm_pkg-1.2/src/questa_uvm_pkg.sv(217) @ 0: reporter [Questa UVM]  questa_uvm::init(+struct)
# UVM_INFO @ 0: reporter [RNTST] Running test u2a_a2u_rand_test...
# UVM_INFO tb/uart_ctrl_simple_tb.sv(44) @ 0: uvm_test_top.uart_ctrl_tb0 [NOCONFIG] No APB config. creating...
# UVM_WARNING ./apb/sv/apb_slave_agent.sv(73) @ 0: uvm_test_top.uart_ctrl_tb0.apb0.slave[0] [NOCONFIG] Config not set for slave agent using default is_active
# UVM_ERROR ./apb/sv/apb_slave_sequencer.sv(51) @ 0: uvm_test_top.uart_ctrl_tb0.apb0.slave[0].sequencer [NOCONFIG] No configuration set
# ** Warning: (vsim-3635) ./uart/sv/uart_monitor.sv(96): The name of the covergroup instance declared at file './uart/sv/uart_monitor.sv' line 66 has been changed from 'uart_trans_frame_cg' to 'uart_trans_frame_cg#1' in order to avoid the name conflict with the existing covergroup instance declared at file './uart/sv/uart_monitor.sv' line 66.
#    Time: 0 ns  Iteration: 7  Region: /uvm_pkg::uvm_phase::m_run_phases
# UVM_FATAL @ 0: reporter [bUILDERR] stopping due to build errors

Share this comment

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...