S3 FPGA clock max frequency in Datasheet

Post Reply
tnt
Posts: 16
Joined: Fri Jun 05, 2020 5:21 am

Hi,

The 1.0 datasheets lists 10 MHz as the max frequency for anything in "FPGA Domain" ( page 66 ). Is that just filler until you get real numbers ?
That seems pretty slow and since you have some USB core running there, I would expect it can at least go up to 48 MHz.

(for some context, I'm trying to port my own USB core to it since it's natively designed to be small/fast and be driven by a CPU, but obviously it needs to run faster than 10 MHz ...)


Cheers,

Sylvain
tnt
Posts: 16
Joined: Fri Jun 05, 2020 5:21 am

I'm starting to fear it's not a mistake :(

I just did a simple design with a 24 bits counter with the 3 MSBs connected to LEDs. That results in a logic with ~ 8 LUT deep longest path and I get a ~ 22-24 MHz fmax result which is disappointingly slow :/

I don't understand how you got USB to work at all on this. The tinyfpga usb bootloader design already doesn't meet timing on a lattice UP5k which looks to be about 2-3x faster than the S3 fabric (based on the number of that quick example). You mentioned you used a proprietary tool to build the usb core to meet timing, but I was expecting something that give a small boost (like 10% or so) but from the looks of it, you'd need a magic wand to get a > 2x performance boost.

So can you confirm this is the performance level one should expect ?

For reference, the sources, I'm building :
https://pastebin.com/8cCn8ULY

In the timing report the clock doesn't seem to be going through any global buffer though :/
rakeshm
Posts: 9
Joined: Wed Jun 03, 2020 4:59 am

Yosys is removing the gclkbuff instantiated in the design. I have filed an issue with respect to this.

With regards to the tinyfpga usb bootloader, the original design could not meet the timing requirement of 48 MHz even with the proprietary tool.
We modified the design, to pipeline certain paths to meet the timing requirement of 48 MHz for the USB core. We will be putting the modified tinyfpga
usb bootloader design on the github in the next release.
Post Reply