Die Geschwindigkeit, mit der Ihre CPU läuft, basiert auf Ihrer längsten Flop-to-Flop-Verzögerung in Ihrem synthetisierten Design. Die Verzögerung von Flop zu Flop umfasst Clock-to-Q, Routing, Logik / LUT und Flop-Setup-Zeit. Diese bilden zusammen den kritischen Pfad Ihres Timings, den Sie im Timing-Bericht überprüfen können, der vom Ort-und-Route-Tool ausgegeben wird.
Es gibt ganze Designdisziplinen, die sich mit der Erstellung von Architekturen befassen, die diese Verzögerung minimieren, um einen bestimmten Prozess optimal zu nutzen - Pipelining, parallele Ausführung, spekulative Ausführung usw. Es ist eine faszinierende Aufgabe, die es mit sich bringt, die letzte Unze Leistung aus einem FPGA (oder in diesem Fall einem ASIC) herauszuholen.
Die FPGA-Anbieter geben jedoch unterschiedliche Geschwindigkeitsstufen für ihre Teile an, die einer maximalen MHz-Rate entsprechen. Zum Beispiel ist ein -2 Xilinx Artix ungefähr ein '250 MHz'-Teil, obwohl es höhere Taktraten für Konstruktionen mit hoher Pipeline-Auslastung ermöglicht.
Wenn Sie mit den FPGA-Synthese- und Place-and-Route-Tools interagieren, müssen Sie Einschränkungen für Ihr Design festlegen. Diese geben dem Werkzeugfluss die Ziel-Flop-to-Flop-Verzögerung an, die Sie erreichen möchten. In Quartus (Altera) und Vivado (Xilinx) verwenden diese Einschränkungen eine Syntax namens SDC, die für Synopsys Design Constraints steht. Die DEZA kam ursprünglich aus der ASIC-Welt und wurde auch von der FPGA-Industrie übernommen. Lernen Sie die DEZA kennen - sie hilft Ihnen, die gewünschten Ergebnisse zu erzielen.
Altera und Xilinx verfügen über Online-Communities, die Hilfe bei der Verwendung der SDC-Syntax und vielen anderen Themen bieten.
Wenn Sie jedoch Wert auf Geschwindigkeit legen, sollten Sie ein FPGA in Betracht ziehen, das ein hartes CPU-Makro wie Zynq enthält.