Home > Community > Forums > Functional Verification > How frequently should Transactor work?

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 How frequently should Transactor work? 

Last post Mon, Apr 16 2007 10:53 PM by archive. 1 replies.
Started by archive 16 Apr 2007 10:53 PM. Topic has 1 replies and 938 views
Page 1 of 1 (2 items)
Sort Posts:
  • Mon, Apr 16 2007 10:53 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    How frequently should Transactor work? Reply

    Hi all,

    I am always confused with the how frequently should transactor is triggered to work.

    For instance, there is a transactor XACTOR_A get a transaction from transactor XACTOR_B, and there is a Mailbox containing transactions connecting these two transactors.

    I always using the following simple methods. XACTOR_A check if the Mailbox is not empty every clock (i.e. @posedge clk). If the Mailbox is not empty, XACTOR_A get the transaction from it and run its work sequentially.

    When using the upper method, I feel the transactor work on physical layer(because it work depend on clock, and was triggered every clock cycle).

    Is there any intuitive explanation about how frequently should Transactor work(especially in CDNS's uRM or SNPS's VMM or MENT's AVM)? Any suggestions will appreciated!

    Best regards,
    Davy


    Originally posted in cdnusers.org by davyzhu
    • Post Points: 0
  • Mon, May 7 2007 3:45 PM

    • archive
    • Top 75 Contributor
    • Joined on Fri, Jul 4 2008
    • Posts 88
    • Points 4,930
    RE: How frequently should Transactor work? Reply

    If you use mailbox.get(), that will block until there is data in the mailbox.

    Example:
    mailbox mbox = new();
    always begin
    xactor = mbox.get();
    do_something(xactor);
    end

    The always block will call get() and return a value for xactor and send it to do_something. However, if there is nothing in mbox, then it will stop and wait until there is a put() called from XACTOR_B.

    Tim


    Originally posted in cdnusers.org by tpylant
    • Post Points: 0
Page 1 of 1 (2 items)
Sort Posts:
Started by archive at 16 Apr 2007 10:53 PM. Topic has 1 replies.