Safely Preventing Unbounded Delays During Bus Transactions in FPGA-based SoC

FCCM Main Page Forums Paper Session 5 – Applications Safely Preventing Unbounded Delays During Bus Transactions in FPGA-based SoC

Viewing 1 reply thread
  • Author
    Posts
    • #1165
      Ken Eguro
      Keymaster

      Safely Preventing Unbounded Delays During Bus Transactions in FPGA-based SoCLink for PDF
      Francesco Restuccia (Scuola Superiore Sant’Anna), Alessandro Biondi (Scuola Superiore Sant’Anna), Mauro Marinoni (Scuola Superiore Sant’Anna), and Giorgio Buttazzo (Scuola Superiore Sant’Anna)

    • #1711
      Rajesh Kedia
      Participant

      Very nice and comprehensive work. The presentation was very clear and well explained.

      I have one question: You mentioned that the AXI transactions reach the memory controller but are not processed as the bus is stalled by a misbehaving IP. I was just wondering if there is an alternative option of tuning the memory controller to address such stalls?

      • #1712
        francesco.restuccia
        Participant

        Hello Rajesh, thank you for the feedback!
        To answer your question, this would be possible in case a memory transaction would involve just the misbehaving hardware accelerator and the memory controller. However, in modern SoC, requests for transactions and data are routed into a way more complicated network made of multiple AXI interconnects, buffers, etc. Each of them expects that each request for transaction is completed according to the AXI standard to route correctly the data into the network. This means that when a misbehavior happens, all the components of the network can fall in a compromised state.

        In other words, solving the problem at the memory controller (maybe aborting the misbehaving transaction(s)?) would not bring back to a safe state the rest of the network, which may be still in an inconsistent state (hence not able to route (serve) further requests/data). Another level of complexity is that this depends on the actual implementation of the network and, in general, the documentation of the modern SoCs do not disclose this kind of details (unfortunately).
        Concluding, I don’t see a way to solve this problem at the memory controller in a safe way.
        I hope my explanation is clear. Let me know if I answer your question or you need a further explanation!

Viewing 1 reply thread
  • You must be logged in to reply to this topic.