Altera_Forum
Honored Contributor
15 years agoMulti-master arbitration
Hi,
I have a complex SOPC system with a number of video processing blocks requiring access to DDR2 memory provises by a single HPC DDR2 memory controller. The memory master interface can be divided into realtime and non-realtime interfaces. The realtime interfaces requires a certain gueranteed bandwidth to the DDR2 to keep the video processing chain running, while the non-realtime interfaces should use only the remaining available bandwidth. I have added pipeline bridges and played around with the arbitration shares in order to ensure that the realtime masters always get the required bandwidth, but I have not been 100% successful. Sometimes a non-realtime master would take up too much bandwidth and the video processing is interrupted. Most interfaces use bursting and from the Avalon documentation, it is not 100% clear to me if the arbitration shares have any effect on burst-enabled interfaces. If I have, say, four masters accessing a slave and I give one master 4 shares and the other three each 1 share, would the master with 4 shares be permitted four bursts in a row and the other masters one burst each (assuming all interfaces have transactions pending)? What I need is some way to assign a priority to a master. Is this possible, or should I write my own arbitration logic for that? Regards, Niki