La velocità con cui verrà eseguita la CPU si baserà sul ritardo flop-flop più lungo nel progetto sintetizzato. Il ritardo flop-to-flop includerà clock-to-Q, routing, logic / LUT e tempo di configurazione del flop. Questi aggiunti insieme formano il percorso critico del tuo tempismo, che puoi ispezionare nell'output del rapporto di temporizzazione mediante lo strumento Place-and-Route.
Esistono intere discipline di progettazione dedicate alla realizzazione di architetture che minimizzano questo ritardo per ottenere il massimo da un determinato processo: pipeline, esecuzione parallela, esecuzione speculativa e così via. È un compito affascinante e coinvolgente, strappare quell'ultima oncia di prestazioni da un FPGA (o, del resto, un ASIC).
Detto questo, i fornitori FPGA forniranno diversi gradi di velocità per le loro parti, che corrispondono a una frequenza MHz massima. Ad esempio un -2 Xilinx Artix è una parte '250 MHz' in termini approssimativi sebbene sia in grado di frequenze di clock più elevate per i progetti con pipeline molto elevate.
Quando interagisci con gli strumenti di sintesi FPGA e Place-and-Route, dovrai dare dei vincoli per il tuo progetto. Questi indicano al flusso dell'utensile il ritardo flop-flop target che stai cercando di ottenere. In Quartus (Altera) e Vivado (Xilinx) questi vincoli usano una sintassi chiamata SDC, che sta per Synopsys Design Vincoli. La DSC proveniva inizialmente dal mondo ASIC ed è stata adottata anche dall'industria FPGA. Conosci la DSC: ti aiuterà a ottenere i risultati che desideri.
Altera e Xilinx hanno comunità online per aiuto su come usare la sintassi della DSC e molti altri argomenti.
Detto questo, se ti interessa la velocità, dovresti considerare un FPGA che ha una macro hard CPU, come Zynq.