UVM Question: What is the difference between UVM transaction and UVM sequence item?

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

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

  • @HirenMadhavani
    @HirenMadhavani 2 года назад +1

    Great explanation. Very helpful. Thank you

    • @KenIntQ
      @KenIntQ  Год назад

      Glad it was helpful!

  • @yuvaneshmadrassomasundaram189
    @yuvaneshmadrassomasundaram189 3 года назад

    Hello Ken! May I please know the difference between the transaction_id and sequence_id and how we need both of them in uvm_sequence_item?

    • @KenIntQ
      @KenIntQ  3 года назад +3

      Hi Yuvanesh,
      The sequence_id is automatically assigned by a sequencer when a sequence is started. It remains the same until a sequence ends. In a simulation when a sequence is called multiple times it will be assigned a new and unique sequence id each time. Whereas, a transaction_id is assigned by the sequence each time a transaction is routed to the sequencer. To send back the correct response from the sequencer to sequence the sequence_id is used whereas the transaction_id is used within the sequence to match a response with its request.
      Thanks

    • @yuvaneshmadrassomasundaram189
      @yuvaneshmadrassomasundaram189 3 года назад

      @@KenIntQ thanks for the detailed response

  • @yuvaneshmadrassomasundaram189
    @yuvaneshmadrassomasundaram189 3 года назад

    Please post a detailed video on uvm ral and scoreboard if possible!

    • @KenIntQ
      @KenIntQ  3 года назад +1

      Sure, will add to my list.

  • @xiangli6065
    @xiangli6065 3 года назад +1

    May I ask when we need to choose extend from uvm_object. When we need to choose extend from uvm_sequence_item? Thanks!

    • @KenIntQ
      @KenIntQ  3 года назад +3

      Hi Xiang,
      Typically it makes sense to extend a data/network packet from a uvm_object whereas a transaction (which could be a group of logical operations and data packets) extends from uvm_sequence_item. As discussed in this video uvm_sequence_items are also used to send requests from sequence to driver and receive responses back. The uvm_sequence_item object also make it easier to analyze data traffic/protocol and collect functional coverage.

    • @xiangli6065
      @xiangli6065 3 года назад

      @@KenIntQ Ok~ Thank you so much!