In ACE protocol there are 2 transactions Barrier and DVM transactions. Can you please explain me about this with an example? Like how barrier is helps us in ordering and observation of transactions(example). How DVM part is used ?
Barriers and DVMs should be considered separately.
Barriers are used to give guarantees that a transaction is observable (e.g. being able to read newly written data would make that write transaction observable) within the shareability domain specified by the barrier instruction. So for example, an Inner Shareable barrier would require that the order is established with to other transactions from all Managers in the same Inner Shareable domain.
DVMs are used to maintain data structures other than data caches - for example, instruction caches, TLBs or branch predictors. So for example, if two ACE managers were sharing the same page tables in memory and one of those manager wishes to do a page swap, then DVMs in the form of TLB maintenance instructions would be used to ensure that the other manager did not continue to use a stale entry that it had cached in its TLB.
we focused on the first level of testing required for verifying an AXI/ACE Compliant Interconnect — Integration/Connectivity testing. In this post, we will focus on basic coherent transaction testing. We use the term basic to signify something that is a prerequisite before we move on to more advanced testing. Coherent transactions are a set of transactions used in the AXI/ACE protocol to perform load and store operations. Each of these transactions have a different set of response requirements from the Interconnect. Further, each of these transactions can be used in multiple configurations. We need to verify that the Interconnect works correctly for each of these transaction types. We will first give an overview of the protocol before moving on to a testing strategy for these.
per your health