I am using the XEM6001 for an automation task. Since the original design, I have increased the number of endpoints (~10 WireIns, ~5 WireOuts, few TriggerIns, no Pipes). During operation, the host software polls the device at 250 ms period to interact with these endpoints.
Is there a rule of thumb for the number of endpoints supported by a device? For larger number of endpoints, is it necessary for me to reduce the device poll rate? (I would imagine that there’s a certain latency for UpdateWireIns and UpdateWireOuts, for example.)
Each type of FrontPanel endpoint is allocated address space. The maximum number of these endpoints (32) is determined by that address space. The exact addresses allocated for each type of endpoint can be found in the FrontPanel User’s Manual on pages 41 and 42.
FrontPanel polls all the endpoints (even if they are unused) at the same time on the same interval. Therefore, there is no additional overhead or need to poll faster or slower if you use more or fewer endpoints.
The only possible consideration is that if you use a lot of endpoints, your HDL becomes more complex and may require additional resources to route. But the synthesis tools will provide feedback on this.