Professional Documents
Culture Documents
hbus OVC
master agent mon seqr drvr
my_if
hbus_if
TX DUT
my OVC
rx agent mon seqr drvr
my_if
err_mux_if
hbus OVC
master agent mon seqr drvr
hbus_if
RX DUT
HSS
2. Convert all OVM text to UVM text (using Boeing modified script)
Boeing modified ovm2uvm.pl script, to convert uvc text to ovc At unix prompt, type:
perl $UVM_HOME/bin/boeing_ovm2uvm.pl top_dir your_dir all write
UVM testcase
virtual task run_phase(uvm_phase phase); phase.raise_objection(this,,"Start run phase"); . . . . . . . . phase.drop_objection(this,,"Start run phase"); endtask : run_phase
Note : Use objection statements, or your virtual sequence will complete at time 0.
C New C. N way t to specify if default d f lt sequence for f the th sequencer (within ( ithi each h test) t t) OVM code
set_config_string(tb.tx_uvc.tx_agent.sequencer", q , "default_sequence", "bss_uvc_demo_seq");
UVM testcase
uvm_config_db#(uvm_object_wrapper)::set(this, g q _p phase", , tb.tx_uvc.tx_agent.sequencer.run default_sequence, bss_uvc_demo_seq::type_id::get());
Note : Original OVM code still works in UVM1.0, but you will have a deprecation message.
Copyright 2011 Boeing. All rights reserved.
1. 2. 3. 4. 5. 6. 7. 8.
Use Callback to disable printing of unwanted UVM message Register virtual sequence to the factory replace `uvm_sequence_utils with `uvm_object_utils `uvm_info/error/fatal can now be used within Sequencer and virtual sequences (Replacing p_sequencer.uvm_report_info) Command line to override verbosity setting of individual UVC component Use new UVM phase syntax build_phase(uvm_phase phase) Replace set_config_int & set_config_string, with uvm_config_db Removed uvm_printer format options in test case, because UVM can now autosize table columns Use uvm_config_db for virtual interface connection
initial begin uvm_config_db#(virtual demo_if)::set(null, "uvm_test_top.demo_top.demo_uvc*", "vif", demo_if); 6 run_test(); end
9.
UVM Register Package: Using driver and adapter, but need to investigate the scoreboard usage model
6
1. Deprecated Features:
Need a better way to find out what (and when) are being deprecated Need to document replacement coding method and usage model Do not generate deprecation messages if new feature is not mature, or in beta stage
3. Command line option UVM_REPORT_DISABLE_FILE_LINE should be a default option 4. Need more examples, and usage model for
new sequence library concept UVM register scoreboard
7
1. Basic migration g to UVM was straightforward g 2. UVM is a users dream come true
A. Finally, a true simulator independent SV Methodology B. Finally, a unified UVM Register Package
Learn from the Expert, use Cadences reference flow and SV tools
Incisive Verification Builder (IVB) Incisive Enterprise Simulator Incisive Enterprise Planner (Metric Driven Verification) Learn from the latest SOCkit
1.
2 2.
More importantly, IVB is free with Incisive Simulator For experienced OVM users :
Compare your existing OVC with IVB generated UVC A good way to find out the Cadences recommended usage model for new UVM features Very useful for OVM users to convert their OVCs to UVCs
10
// Inside driver or monitor code void '(begin_tr(packet)); end_tr(packet)); d ( k )) // start recording // body including timing // end d recording di
Summary
Integrated Defense Systems | Network and Space Systems | Space and Intelligence Systems | El Segundo
1. OVM users should feel comfortable migrating g g to UVM 2. UVM is a users dream come true
A. Finally, a true simulator independent SV Methodology B. Finally, a unified UVM Register Package
3. Core of UVM is solid, some new features need more ti time to t mature t 4. Cadence has a great solution for both OVM/UVM and new users
12