Sous certaines conditions, vous pouvez avoir un blocage de dépendance ACP dans les SoC Arria® et Cyclone®. Voici quelques exemples de scénarios sur la façon dont cela pourrait se produire :
- Le processeur ARM accède à FPGA fabric à l’aide d’un accès mémoire de périphérique. Ce type d’accès entraîne le blocage du pipeline du processeur jusqu’à ce que l’accès soit terminé.
- La machine d’état FPGA fabric émet un accès cohérent au HPS sur ACP pour pouvoir répondre à l’accès HPS.
- L’ACP reçoit l’accès, mais il nécessite que SCU effectue une opération de maintenance du cache pour le terminer. Cependant, l’opération de maintenance du cache ne peut pas être terminée car le pipeline du processeur est bloqué : le système est bloqué.
Évitez d’avoir à accéder de manière cohérente au HPS via ACP à partir de la structure pour accéder à l’accès complet provenant de HPS, car cela pourrait entraîner une situation d’impasse.
Vous pouvez obtenir le même résultat en divisant la fonctionnalité en plus petits morceaux. Par exemple, lancez une opération avec accès, puis utilisez un deuxième accès pour déterminer l’état de l’opération.