uvm-1.1dとuvm-1.2のexampleを比較してみました。
1.examples/simple
diff -r uvm-1.1d/examples/simple uvm-1.2/examples/simple
では、バラバラと出てくるのですが、スペース、タブの違いを無視させる(-b追加)と、コード的な違いはありませんでした。細かいところ、コメントは変わっています。
ネイティブの人?もこんな間違いをするんですね。
2.examples/integrated
diff -rb uvm-1.1d/examples/integrated uvm-1.2/examples/integrated
では、ちょこちょこコードが書き換わっていました。
diff -rb uvm-1.1d/examples/integrated/apb/apb_master.sv uvm-1.2/examples/integrated/apb/apb_master.sv58c58< virtual protected task run_phase(uvm_phase phase);---> virtual task run_phase(uvm_phase phase);diff -rb uvm-1.1d/examples/integrated/apb/apb_monitor.sv uvm-1.2/examples/integrated/apb/apb_monitor.sv63c63< virtual protected task run_phase(uvm_phase phase);---> virtual task run_phase(uvm_phase phase);diff -rb uvm-1.1d/examples/integrated/codec/tb_env.svh uvm-1.2/examples/integrated/codec/tb_env.svh226c226,232< regmodel.update(status);---> // update the settings BUT without writing the TxRx data register> // regmodel.update(status);> begin> uvm_reg n[]='{regmodel.IntSrc, regmodel.IntMask, regmodel.TxStatus, regmodel.RxStatus};> foreach(n[idx])> n[idx].update(status);> end390c396,397< function void report_phase(uvm_phase phase);---> function void report_phase(uvm_phase phase); uvm_coreservice_t cs_ = uvm_coreservice_t::get();>392c399< svr = _global_reporter.get_report_server();---> svr = cs_.get_report_server();diff -rb uvm-1.1d/examples/integrated/codec/test.sv uvm-1.2/examples/integrated/codec/test.sv46,47c46,48< function void start_of_simulation_phase(uvm_phase phase);< uvm_root top = uvm_root::get();---> function void start_of_simulation_phase(uvm_phase phase); uvm_coreservice_t cs_ = uvm_coreservice_t::get();>> uvm_root top = cs_.get_root();diff -rb uvm-1.1d/examples/integrated/codec/vip/vip_driver.svh uvm-1.2/examples/integrated/codec/vip/vip_driver.svh104c104< virtual protected task run_phase(uvm_phase phase);---> virtual task run_phase(uvm_phase phase);diff -rb uvm-1.1d/examples/integrated/codec/vip/vip_monitor.svh uvm-1.2/examples/integrated/codec/vip/vip_monitor.svh94c94< virtual protected task run_phase(uvm_phase phase);---> virtual task run_phase(uvm_phase phase);diff -rb uvm-1.1d/examples/integrated/codec/vip/vip_seqlib.svh uvm-1.2/examples/integrated/codec/vip/vip_seqlib.svh26a27> set_automatic_phase_objection(1);28,39d28<< virtual task pre_body();< if (starting_phase != null)< starting_phase.raise_objection(this, {"Running sequence '",< get_full_name(), "'"});< endtask<< virtual task post_body();< if (starting_phase != null)< starting_phase.drop_objection(this, {"Completed sequence '",< get_full_name(), "'"});< endtaskdiff -rb uvm-1.1d/examples/integrated/ubus/examples/Makefile.vcs uvm-1.2/examples/integrated/ubus/examples/Makefile.vcs31c31< ubus_tb_top.sv---> ubus_tb_top.sv +define+UVM_USE_RESOURCE_CONVERTERdiff -rb uvm-1.1d/examples/integrated/ubus/examples/ubus_tb_top.sv uvm-1.2/examples/integrated/ubus/examples/ubus_tb_top.sv54,55c54,56< initial begin< uvm_config_db#(virtual ubus_if)::set(uvm_root::get(), "*", "vif", vif);---> initial begin automatic uvm_coreservice_t cs_ = uvm_coreservice_t::get();>> uvm_config_db#(virtual ubus_if)::set(cs_.get_root(), "*", "vif", vif);diff -rb uvm-1.1d/examples/integrated/ubus/sv/ubus_master_seq_lib.sv uvm-1.2/examples/integrated/ubus/sv/ubus_master_seq_lib.sv34a35> set_automatic_phase_objection(1);36,60d36<< // Raise in pre_body so the objection is only raised for root sequences.< // There is no need to raise for sub-sequences since the root sequence< // will encapsulate the sub-sequence.< virtual task pre_body();< if (starting_phase!=null) begin< `uvm_info(get_type_name(),< $sformatf("%s pre_body() raising %s objection",< get_sequence_path(),< starting_phase.get_name()), UVM_MEDIUM);< starting_phase.raise_objection(this);< end< endtask<< // Drop the objection in the post_body so the objection is removed when< // the root sequence is complete.< virtual task post_body();< if (starting_phase!=null) begin< `uvm_info(get_type_name(),< $sformatf("%s post_body() dropping %s objection",< get_sequence_path(),< starting_phase.get_name()), UVM_MEDIUM);< starting_phase.drop_objection(this);< end< endtaskdiff -rb uvm-1.1d/examples/integrated/ubus/sv/ubus_slave_seq_lib.sv uvm-1.2/examples/integrated/ubus/sv/ubus_slave_seq_lib.sv35c35< // `uvm_sequence_utils(simple_response_seq, ubus_slave_sequencer)---> // `uvm_object_utils(simple_response_seq)76c76< // `uvm_sequence_utils(slave_memory_seq, ubus_slave_sequencer)---> // `uvm_object_utils(slave_memory_seq)116a117> uvm_phase p;121a123> p = get_starting_phase();129c131< starting_phase.raise_objection(this);---> p.raise_objection(this);134c136< starting_phase.drop_objection(this);---> p.drop_objection(this);