Thanks Joe, good to know for sure :)
I’m getting the 60MHz figure from the datasheet too - it says “Port sampling rates of up to 60MHz with respect to an external clock”. The idea would be to link up to the
FT600Q which provides a FIFO interface to a USB3 port. The FT600Q drives a 66.6MHz or 100MHz clock out, and provides a bidirectional 16-bit bus for access synchronized to the clock (with associated read/write request and data-ready/fifo-full signals). The XMOS device would have to respond at the clock-rate, though it gets to manage the control signals. The thing is, if it missed a single clock at 66MHz, the data could be gone…
I did
read about the timings but I wasn’t sure if in the text…
For data and clock travelling in the same direction (ie, source-synchronous clocking where both output by the xCORE or both input by the xCORE), frequencies of up to 60 MHz can work.
Faster clocks may also work, but an analysis is needed to show whether any programmatic delays are necessary to cover all corners. In particular, some timings depend on PVT variations (Process, Voltage, and Temperature). An analysis will ensure that an interface will work under all possible corners, rather than the corners that were tested.
“Faster clocks” meant “faster clocks up to 60MHz” (given the previous statement that “frequencies of up to 60 MHz
can work.” (emphasis mine) or whether it meant “you can push beyond 60MHz if you characterize things carefully, do your due diligence, and use special cases where necessary”. I didn’t really want to spin a board on the off-chance, and since I could probably manage with USB2…
If I’m misunderstanding, and there is some way of pushing the XMOS devices that to work with that high an incoming clock, I’d love to know, and especially if there’s a worked example, that’d be awesome :) Of course, then I’d need another 16-bit port (so unless I multiplex the current 16-bit address/data ports I’d be pushing up to the larger part in this case)…
Thanks, I was reading about the timed aspect of the ports, and I think that might work well for me :)