Hi everyone; I'm just getting started with Artiq so I hope this isn't a stupid question. Is there a preferred way to interface with PCI-e hardware? Ideally, we would like a Sinara board with PCI-e slots, but that doesn't seem to be available, and I don't know how much interest there would be in that. The other solution would seem to be using a PCI-e slot on the host computer (and using Remote Procedure Calls to communicate with it). Has anyone used this to control hardware via PCI-e?
Thanks,
Grant
Interfacing with PCI-e hardware
we would like a Sinara board with PCI-e slots
The Sinara repository is the best place to put out an RFC on potential new hardware: https://github.com/sinara-hw/meta/issues
Out of interest, what PCI-e hardware are you interested in using?
Well, that's assuming new hardware is actually needed
For a simple case (without difficult latency requirements) putting the PCIe card into a PC and using the vendor driver is the easiest option by far.
We need to know more about the type of PCIe hardware you are interested in and how you want to use it before we can suggest a solution.
dallcock I apologize for the extreme delay, for some reason I didn't see your reply at the time and have only now logged in to check on the responses. In our case, we are trying to control an external arbitrary waveform generator via PCI-e. We are planning to do this as @sb10q suggested. In our case, semi-unpredictable latency will be difficult, but not impossible, to get around. We will use PCI-e to program the AWG on the fly, but we can probably trigger it separately with a TTL pulse, hopefully getting the best of both worlds (programmability and timing precision).
Out of interest, what model is the AWG?
We are using a Spectrum AWG, model M4i.6631-x8