Combining IPs' problem

Hi, I have created my own IP overlay “SDA” (Fig.1) and it works just fine. Also, I have tried another built-in IP “SPI” (Fig.2) to communicate with a peripheral DSP and it also works successfully. I tried to combine the two IPs (Fig.3) to reduce the time spent on loading the bit files, since I need to switch between the IPs for my project. When I was testing “SDA” IP by doing the same function in a for loop, it seems to stuck in DMA.sendchannel.wait() after a few cycles. Not sure what causes this problem. The Python code and error message is shown below. (Fig. 4-6)