首页 > 其他 > 详细

uvm transaction modeling

时间:2016-04-02 18:43:22      阅读:218      评论:0      收藏:0      [点我收藏+]

1.what is transaction?

  network transactions

      tcp/ip

      wifi

       3g/4g

  bus transactions

    amba-ahb/apb/axi

    pci/pci-e

    sata

     usb

     sd

   instructions

       x86

       arm

  2.uvm transaction flow

  3.uvm modeling transaction

      3.1 derived from uvm_sequence_item base class

           built-in support for stimulus creation,printing,comparing,etc.

      3.2 properties should be public by default

           must be visible to contraints in other classes

      3.3 properties should be rand by default

          can be turned off with rand_mode

     class transaction extends uvm_sequence_item;

           rand bit [31:0] sa,sb;

           rand bit [15:0] len;

            rand bit [7:0] payload[$];

            rand bit [31:0] fcs;

             function new(string name="transaction");

               super.new(name);

                this.fcs.rand_mode(0);

              endfunction

           endclass:transaction

  4.must obey contraints / should obey contraints

  5.constraints considerations

       total solution space 

       illegal solution space

        valid solution space

        test constraints

        derived test constraints

6.uvm_sequence_item class tree

      uvm_object:                                              uvm_sequence_item

       get_name()                                                  set_item_context()

       get_full_name()                                            set_transaction_id()

       get_type()                                                    get_transaction_id()

       clone()                                                          set_sequence_id()

        copy()                                                          get_sequence_id()

        print()                                                          set_id_info()

        sprint()                                                         set_sequencer()

        copy()                                                           get_sequencer()

         compare()                                                     set_parent_sequence()

        pack()                                                           get_parent_sequence()

        unpack()

        record()

  

uvm transaction modeling

原文:http://www.cnblogs.com/chip/p/5347879.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!