The Finer Points of UVM Sequences (Recorded Webinar)

Поделиться
HTML-код
  • Опубликовано: 27 дек 2024

Комментарии •

  • @sksameer208
    @sksameer208 8 лет назад +1

    Absolutely superb.Thank You so much for sharing such wonderful lecture.

  • @lxnny2357
    @lxnny2357 4 года назад +1

    I went ahead and tried the pipelined driver example here, but I ran into an issue where my driver's call printed a warning indicating that the calling sequence was no longer running. The issue is that I needed to force in blocking code that would wait for all sequence items to be completed on the driver. I did this by adding a counter into the response fork.
    Here's the warning that fired for me:
    seq/uvm_sequencer_param_base.svh:341: $sformatf("Dropping response for sequence %0d, sequence not found. Probable cause: sequence exited or has been killed",
    Then I added a blocking wait for all responses to be received before ending the sequence. For instance:
    task body;
    int num_completed = 0;
    int max_num_xactions = 4;
    repeat (max_num_xactions) begin
    advdrv_xaction rq = advdrv_xaction::type_id::create("req");
    start_item(rq);
    if (!rq.randomize()) `uvm_fatal(get_full_name(), "failed to randomize transaction")
    finish_item(rq);
    fork begin
    int id = rq.get_transaction_id();
    `uvm_info (get_full_name(), $sformatf("Sent sequence item [transaction id=%2d]", id), UVM_LOW)
    rq.print();
    rsp = advdrv_xaction::type_id::create("rsp");
    get_response(rsp, id); // Blocks
    num_completed++;
    `uvm_info(get_full_name(), "response data sent back to sequence", UVM_LOW)
    rsp.print();
    end join_none
    end
    wait (num_completed == max_num_xactions);
    //

  • @renvill
    @renvill 3 месяца назад

    17:01 - m_sequencer

  • @unfrostedpoptart
    @unfrostedpoptart 8 лет назад

    Thanks John - this is great.

  • @MrSreekanthnarayan
    @MrSreekanthnarayan 6 лет назад

    Hi John, is it possible to get examples shown in the presentation?

  • @AndersonVenturini
    @AndersonVenturini 6 лет назад

    Thanks, John! This video was amazing!

  • @kennethryan2
    @kennethryan2 4 года назад

    The URL to the example code seems to be broken, I get a 404.

  • @syedtaahir
    @syedtaahir 8 лет назад +1

    wow!!! good information

  • @mandylin3380
    @mandylin3380 8 лет назад

    It's pretty useful!

  • @ganeshbhogaraju4558
    @ganeshbhogaraju4558 4 года назад

    Very informative esp @1745