<div dir="auto"><div><div dir="auto">On Sun, Jun 21, 2020, 7:59 PM Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sorry for the radio silence, we got buried in $DAYJOB work again. But here's an<br>
issue I've been meaning to document:<br>
<br>
Although the USB 2.0 spec maxes out at 60 megabytes/second (480<br>
megabits/second), both rounds of turtle board prototypes we did only have USB<br>
1.1 wired up to the USB switch chip that goes to the 4 ports. This doesn't cause<br>
a compatibility issue (the switch chip upconverts the USB 1.1 signal to USB 2.0<br>
as switches do), but the max bandwidth to the j-core SOC through this connection<br>
is only 1.5 megabytes/second (12 megabits).<br>
<br>
The reason for that limitation is the spartan FPGAs can't actually generate a<br>
USB 2.0 signal because it can't clock one pin fast enough. It can do 12mhz<br>
serial output fine, but 480 mhz straight from an FPGA pin ain't happening.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Which Spartan are you using? </div><div dir="auto"><br></div><div dir="auto">On the sending side, any IO pins on the Spartan 3 can go up to 750mbit/sec and the Spartan 6 can do up to 1250mbit/sec. Spartan 7 can do 1500mbit/sec on every pin with a tiny bit of overclocking.<div dir="auto"><br style="font-family:sans-serif"></div></div><div dir="auto">The receiving side is a little bit harder unless you have a good reference clock. On the Spartan series it is reasonably hard to get the 4x <span style="font-family:sans-serif">oversampling</span> of a 480mbit/sec required to do proper clock recovery otherwise but there are some tricks using the IO delay phasing in a differential pair.</div><div dir="auto"><br></div><div dir="auto">It is likely we will explore some of this in the Luna stack (<a href="https://github.com/greatscottgadgets/luna">https://github.com/greatscottgadgets/luna</a>) in the future. </div><div dir="auto"><br></div><div dir="auto">Tim 'mithro' Ansell</div><div dir="auto"><br></div></div>