46 | | The TLM2.0 standard allows the user to redefine both the payload and the phases of a transaction. |
47 | | Two classes are defined in '''soclib_vci_types''' : a '''tlmt_vci_transaction''' and a '''tlmt_phase". |
48 | | |
49 | | A payload of type '''soclib_vci_types::tlm_payload_type''' corresponds to a '''tlmt_vci_transaction'''. |
50 | | It contains three groups of information: |
51 | | * TLM2.0 related fields |
52 | | * TLM-T related fields |
53 | | * VCI related fields |
| 46 | The TLM2.0 standard allows the user to redefine both the payload and the phases of the transaction. |
| 47 | Two classes have been defined in '''soclib_vci_types''' : a '''tlmt_vci_transaction''' and a '''tlmt_phase". |
| 48 | |
| 49 | The payload of a '''tlmt_vci_transaction''' contains three groups of information: |
| 50 | * TLM2.0 generic fields |
| 51 | * TLM-T specific fields |
| 52 | * VCI specific fields |
83 | | The TLM2.0 compliant accessors allow to set the TLM2.0 related fields, such as the transaction address, the byte enable |
84 | | array pointer and its associated size in bytes, and the data array pointer and its associated size in bytes. The byte |
85 | | enable array allows to build versatile packets thanks to a powerful but slow data masking scheme. Further experiments are |
86 | | currently done to evaluate the performance degradation incurred by the byte formatting. |
| 81 | The TLM2.0 compliant accessors allow to set the TLM2.0 related fields, such as the transaction address, the data & byte enable |
| 82 | arrays pointers and its associated size in bytes. |
| 83 | |
| 84 | NB : The byte array approach defined by TLM2.0 can degrade the simulation speed, |
| 85 | as the existing SoCLib models use uint32_t arrays to model both the embedded memory and the caches... |
| 86 | Experiments are currently in progress to evaluate the performance degradation incurred by this byte formatting. |