Changes between Version 6 and Version 7 of Writing Rules/Transactors


Ignore:
Timestamp:
Feb 24, 2010, 5:14:22 PM (14 years ago)
Author:
alinevieiramello@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Writing Rules/Transactors

    v6 v7  
    3232If the VCI initiator can receive interrupts, the transactor provides an optional service of translation : When an IRQ is received on the TLM-DT IRQ port (by the interface nb_transport_fw() method)  this information is registered, and the IRQ is transmited on the IRQ CABA port by the behaviour() thread.
    3333
    34 = D) Target VCI Transactor modeling
     34= D) Target VCI Transactor modeling =
    3535All transactions received on the TLM-DT port are registered in a 2 dimensions buffer, indexed by both the VCI SRCID, and VCI TRDID fields. Each entry in this Pending-Transaction_Buffer contains a transaction status, a transaction time, and a pointer on the transaction payload.
    3636As any TLM-DT target, the VciTargetTransactor component has a purely reactive behaviour : the behavior() thread is running only when a command is received, and keeps running until the last response to the last pending transaction has been transmited. When it is running,  it is descheduled twice per simulated cycle to drive the CK signal on the CABA interface.
     
    4242= E)Implementation =
    4343For both transactors, each entry in the Pending_transaction_Buffer can be in three different states :
    44 * '''EMPTY''' : No registered transaction.
    45 * '''OPEN''' : Command registered, waiting the response.
    46 * '''COMPLETED''' : The response has been received
     44
     45 * '''EMPTY''' : No registered transaction.
     46
     47 * '''OPEN''' : Command registered, waiting the response.
     48
     49 * '''COMPLETED''' : The response has been received
     50
    4751The main differences between the initiator & target transactors are the following :
    48 * The Pending_Transaction_Buffer is larger for a target, because it is a two dimensionnal array, indexed by SRCID and TRDID. The target entry is simpler, because each entry contains only a pointer on the transaction payload.
    49 * The behavior() thread is always runable for an initiator purely reactive for a target : It is not runable when the Pending_Transaction_Buffer is empty.
     52
     53 * The Pending_Transaction_Buffer is larger for a target, because it is a two dimensionnal array, indexed by SRCID and TRDID. The target entry is simpler, because each entry contains only a pointer on the transaction payload.
     54
     55 * The behavior() thread is always runable for an initiator purely reactive for a target : It is not runable when the Pending_Transaction_Buffer is empty.