Jump to content

bhunter1972

Members
  • Content Count

    77
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by bhunter1972

  1. Who can provide a summary of what is new and what has changed?
  2. I've found a use for set_int_local and noticed that it does not work with dynamic arrays or queues. Issue can be demonstrated with this code: https://www.edaplayground.com/x/6B8e The problem appears to be on the first line of this code block: else if(uvm_is_match(str__, {__m_uvm_status_container.scope.get_arg(),$sformatf("[%0d]", index__)})) begin \ if(index__+1 > ARG.size()) begin \ int sz = index__; \ int tmp__; \ `M_UVM_``TYPE``_RESIZE(ARG,tmp__) \ end \ if (
  3. SV isn't the best language to parse with, but Python is! You should consider having your Python script output real SystemVerilog code that can then be loaded into the simulator instead. Consider: for (addr, data) in write_commands: print >>sv_file, " block.write_data('h%s, 'h%s);" % (to_hex(addr), to_hex(data)) etc.
  4. Not really, because the objects are created in the test and can only be distributed via the config_db. You'll find that this method is perfectly suitable for that. One such example might be if your DUT has 6 different PCIE MACs, each of which having its own associated reg_block, then putting references to the reg_block that a sequencer is driving to in the sequencer allows its sequences to be used on any of agents without needing to know which one they're running on. Unfortunately in this framework, all problems have multiple solutions. I merely contested that there is no rea
  5. I do. All the time. Here's one situation: Say you have a knobs class that contains all of the randomize-able fields that your agent needs access to. It may even contain a reference to the reg_block corresponding to your device. From the test, you can push a reference to this knobs class down to all of the components that need it with a uvm_config_db::set call. The driver can point to it, the scoreboard could point to it, the sequencer could point to it. And, with the p_sequencer variable set, so could your sequences. Here's another situation: Your monitor sees transactions coming ou
×
×
  • Create New...