Wie kann man theoretisch die maximale Taktrate für eine Schaltung bestimmen?

Ich habe mich gefragt, was die maximale Taktrate beeinflusst und wie man sie für eine Schaltungsimplementierung berechnet. Nehmen wir zum Beispiel eine CPU:

Soweit ich weiß, muss die Taktrate so gewählt werden, dass sich ein Eingangssignal so durch die CPU ausbreiten kann, dass alle Gatter (und insbesondere die auf dem "kritischen Pfad") genügend Zeit haben, ihre Ausgänge zu stabilisieren. Daher scheinen das Design (Bestimmung des "kritischen Pfads") und die Laufzeitverzögerung wichtig zu sein, um die maximale Taktgeschwindigkeit zu bestimmen. Dies lässt jedoch viele offene Fragen auf meiner Seite:

  1. Wie kann ich die Laufzeitverzögerung eines einzelnen Gatters bestimmen?
  2. Ist die Laufzeitverzögerung vom Herstellungsprozess abhängig? (Ich würde es vermuten ... zB würde ich annehmen, dass die 10-nm-Fertigung zu einer geringeren Ausbreitungsverzögerung führt als die 100-nm-Fertigung.)

  3. Gibt es Referenzwerte für Laufzeitverzögerungen bei unterschiedlichen Herstellungsverfahren? Ist es wirklich so einfach wie ich es skizziert habe oder übersehe ich relevante Faktoren? (maximale Geschwindigkeit = Verzögerung * Tore innerhalb des kritischen Pfads)

  4. Wie groß ist die Varianz zwischen der Ausbreitungsverzögerung von Gates innerhalb desselben Herstellungsprozesses (z. B. in der hochmodernen 10-nm-Fertigung)?
  5. Könnte ich die Gates innerhalb des kritischen Pfads einer beispielsweise aktuellen i7-CPU bestimmen, indem ich ihre Taktrate durch die angenommene Laufzeitverzögerung dividiere, oder werde ich zu einem erheblich falschen Ergebnis kommen?
Datenblätter, Datenblätter, Datenblätter.

Antworten (2)

--- Prop-Verzögerung des Gates? Bei welcher Spannung, welcher Cload, welcher InputSlewRate? Ist Gate für minimale Shootthru-Gebühr oder minimale Verzögerung ausgelegt?

--- Ja, die Geheimnisse der Fab erzeugen unterschiedliche Timing-Ergebnisse

--- Referenzergebnisse? Sicher. Sie können das W/L in älteren Prozessen jederzeit anpassen. In letzter Zeit kann die Optik der Belichtungsmaschinen Ihre Auswahl einschränken, was mit dem beugungsbegrenzten Layout zusammenhängt.

--- Wie einfach? Das Fanin, das Fanout, die Länge des Metalls, wenn Poly (HighR) verwendet wird, die # Bulk-Bindungen, um Ladungsstörungen (Jitter) einzuschränken.

--- Wie groß ist die Abweichung? Bei älteren Verfahren zwischen 1 Volt und 6 Volt VDD betragen die Verzögerungen leicht 100:1. In einigen Fällen möchten Sie ~~ Zero-Rail-Störungen (für die interne Takterzeugung des AutoZero-Operationsverstärkers) und sehr langsame Gates / FFs sind in Ordnung.

--- Kann ich die # Gates bestimmen ------ viele andere Faktoren: Bus-Fanout zum Beispiel.

Antworten:

  1. Die Verzögerung eines "einzelnen Gates" sollte in der Herstellerspezifikation aufgeführt sein. Es gibt jedoch Gates mit unterschiedlicher Treiberstärke, und Verbindungsdrähte haben unterschiedliche Längen und daher unterschiedliche Kapazitäten. Die Verzögerung kann also erst bestimmt werden, nachdem das Layout fertig ist.

  2. Ja, im Allgemeinen ist die Gate-Prop-Verzögerung eine Funktion von Transistoren. Berichte darüber gibt es genug. Für denselben Fertigungsknoten bietet eine Gießerei normalerweise mehrere verschiedene Bibliotheken für schiefe Prozesse an, "schnell (aber leistungshungrig)", normal, langsam (aber geringer Stromverbrauch) usw.

  3. Referenzwerte für Requisitenverzögerungen sind nur Richtwerte. Während ein Designhaus möglicherweise interne Disziplinen auferlegt, um die Tiefe der kombinatorischen Logik in seinen Designs zu begrenzen, kann das Endergebnis nur aus einer gründlichen CAD-basierten Analyse des vollständig gerouteten Designs hervorgehen.

  4. Wie groß ist die Varianz innerhalb desselben modernen Prozesses? Haben Sie sich jemals gefragt, warum der „10-nm“-Prozess von Intel jetzt um drei Jahre verzögert wird?

  5. Können Sie die Anzahl der Tore in i7 genau bestimmen? Wahrscheinlich nicht, da die Drahtverzögerungen dominieren. Und wozu braucht man das überhaupt?