- Naming rule
- axi_package, axi_monitor.svh
- how to debug
- if (debug) `uvm_info("DEBUG", msg, UVM_MEDIUM)
- uvm_factory factory = uvm_factory.get(); factory.print();
- uvm_top.print_topology()
- how to trace connection
- use "get_connect_to()", "get_provide_to()", children[$]
-
// If there is something connected,
// print the port name and the connections.
if ((connected_to_list.size() > 0) || (provided_to_list.size() > 0) ) begin
// Print the name of the port. $display("%s Port: %s", {depth+2{" "}},
children[i].get_full_name()); end
- how to trace transactions
- use backdoor to log the analysis point
- fifo.put_export.debug_connected_to(); fifo.put_export.debug_provided_to();
- $display("%s", tx_queue[tx_id].convert2string());
- atomic transaction items(active sequence)
- use "pre_body()" phase to add new sequence
- use "post_body()" phase to remove sequence
- active_sequenves::show();
- internal BB(break) point(assertion pp)
- `define BB if (BB::check_pp1( tx, get_full_name()) $stop;
- use "grep" command to filter out the useful info
- grep "type_id::create" xx.log
- use report catcher without default UVM_report, collect the report pool meg to our report format
- function action_e catch();
- id = get_id();
- filename = get_fname();
- line = get_line();
- severity = get_severity();
- $dispay("%s...,", id);
- use report server to overwrite the report
2013年3月28日 星期四
UVM guide line
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言