Em determinadas condições, você pode ter um bloqueio de dependência ACP em Arria® e Cyclone® SoCs. A seguir estão alguns cenários de exemplo de como isso pode acontecer:
- A CPU Arm acessa FPGA malha usando um acesso de memória de dispositivo. Esse tipo de acesso faz com que o pipeline da CPU pare até que o acesso seja concluído.
- O FPGA máquina de estados da malha emite acesso coerente ao HPS através da ACP para poder responder ao acesso do HPS.
- A ACP recebe acesso, mas requer que o SCU faça uma operação de manutenção de cache para conclui-lo. No entanto, a operação de manutenção do cache não pode ser concluída porque o pipeline da CPU está parado — o sistema está bloqueado.
Evite ter que acessar de forma coerente o HPS através da ACP da malha para obter acesso completo vindo do HPS, pois isso pode causar um impasse.
Você pode alcançar o mesmo resultado quebrando a funcionalidade em peças menores. Por exemplo, inicie uma operação com acesso e use um segundo acesso para determinar o status da operação.