Wie wird die Taktrate der Geräte bestimmt?

Wie bestimmt der Hardware-Designer die geeignete Taktfrequenz für sein Gerät? Danach erstellte er das Timing-Diagramm, das dann für die Schnittstellen weiter verwendet wird.

Alles, was ich wissen muss, ist der Mechanismus, um die geeignete Uhr zu bestimmen und dann die Zeitdiagramme zu erstellen. Meine eigene Logik ist, dass der Designer zuerst das Gerät wie einen Mikroprozessor erstellt, ihm dann unterschiedliche Anweisungen gibt und dann die Ergebnisse mit unterschiedlichen Taktraten überprüft, aber dies ist eine Hit-and-Trial-Methode. Gibt es dafür einen bestimmten Algorithmus?

Sie würden mit einem Ziel beginnen, das Sie für erreichbar halten, dann Simulationen durchführen, um es zu validieren, und Wege finden, das Timing einzuhalten, wenn die Simulation zeigt, dass das Timing nicht eingehalten werden kann. Das Closing-Timing ist ein wichtiger Meilenstein im ASIC- oder FPGA-Design. In einigen Fällen können CPUs auch nach der Herstellung überprüft werden. Diejenigen, die alle Funktionstests mit der höchsten Geschwindigkeit bestehen, werden als Prozessoren mit höherer Geschwindigkeit verkauft. Diejenigen, die Funktionstests nur bei niedrigeren Geschwindigkeiten bestehen, werden als Versionen mit niedrigerer Geschwindigkeit verkauft. Zumindest war das früher so. Nicht sicher, ob es immer noch ist.

Antworten (1)

Die Frequenz, mit der Logikchips arbeiten, wird durch die verwendete Technologie bestimmt – ausgehend von sehr alten Logikfamilien wie RTL (Widerstands-Transistor-Logik), DTL (Dioden-Transistor-Logik), ECL (Emitter-gekoppelte Logik), TTL (Transistor-Transistor Logik), die mehrere Untertypen wie S (Hochgeschwindigkeits-Schottky), LS (Low-Power-High-Speed), F (schnell), AS (fortgeschrittenes Schottky) hat, bis hin zu CMOS mit Untertypen wie HC (Hochgeschwindigkeits-CMOS ) und HCT (TTL-kompatibles Hochgeschwindigkeits-CMOS).

Jeder von ihnen hat eine charakteristische maximale Taktrate, die von 4 MHz für RTL, 25 MHz für TTL, 50 MHz für HC/HCT CMOS, 100 MHz für TTL S und F, 500 MHz für ECL und bis zu mehreren GHz für Zustand reicht modernste CMOS-Designs in heutigen Mehrkern-Mikroprozessoren.

Daher muss der Logikdesigner in jedem Fall zunächst eine Logikfamilie auswählen, die mit seinen Anforderungen kompatibel ist, sowohl in Bezug auf Leistung, Versorgungsspannungen und Logikschwellenwerte als auch auf Geschwindigkeit. Obwohl es sich beispielsweise um eine sehr alte Familie handelt und eine langsamere Schaltgeschwindigkeit hat, sind ICs der Serie 74LS00 immer noch weit verbreitet und werden in neuen Designs verwendet. LS TTL ist gut für 40 MHz und HCT CMOS kann mit 50 MHz betrieben werden, und viele Logikschaltungen benötigen nicht mehr als das. Werfen Sie einen Blick auf die verschiedenen Schaltungen auf dieser Seite und Sie werden viele verwendete LS- und HCT-Chips sehen, mit Taktraten von nur wenigen MHz. Das ist ungefähr die Grenze, die Sie auf einem drahtlosen Steckbrett zuverlässig prototypieren können.

Sie entwerfen also zuerst eine Schaltung, bestimmen, mit welcher Geschwindigkeit sie laufen muss, und wählen dann die zu verwendende Technologie aus. Manchmal wird die Geschwindigkeit der Schaltung durch die Notwendigkeit bestimmt, externe Daten abzutasten – zum Beispiel analoge Daten mit einem ADC mit einer bestimmten Rate abzutasten, sagen wir 1000 Mal pro Sekunde. Und dann müssen Sie möglicherweise Daten mit einer bestimmten Geschwindigkeit in einem Speicher speichern. Sie sehen sich also an, was die schnellsten Anforderungen sind, und gehen von dort aus. Dazu gehört häufig die Auswahl eines Mikrocontrollers, der alles ausführt. Mikrocontroller können überall von 32,768 kHz (Uhrquarz) oder darunter getaktet werden, um mit sehr geringer Leistung zu laufen, bis hin zu Hunderten von MHz für 32-Bit-Chips. Obwohl die meisten kleineren 8-Bit-Mikrocontroller Takte im zweistelligen MHz-Bereich oder weniger verwenden.

Die Geschwindigkeit jedes Gattertyps wird im Datenblatt angezeigt, entweder als Schaltfrequenz (wie zuvor aufgeführt) oder als Laufzeitverzögerung, typischerweise in ns (Nanosekunden) oder ps (Pikosekunden). Für einen neuen IC, der intern entwickelt wird, wie z. B. ein Mikrocontroller oder ein Speicher, verfügt das Unternehmen, das das Design durchführt, über Informationen für seine Logikdesigner bezüglich dieser Parameter, basierend auf den verwendeten Transistortypen und dem verwendeten Prozess.

Das folgende Diagramm zeigt die Ausbreitungsverzögerung von der ansteigenden Flanke des Eingangs zur entsprechenden ansteigenden Flanke des Ausgangs und umgekehrt für ein Gatter der Serie 74HCT00. T P D wird als typisch 10 ns und maximal 27 ns für dieses Gate angegeben.

Geben Sie hier die Bildbeschreibung ein

Ausbreitungsverzögerungen sind beim Entwerfen zu berücksichtigen, denn wenn Sie mehrere Signale haben, die gleichzeitig gelesen werden müssen, müssen Sie sicherstellen, dass sie alle stabil geworden sind. Beim Schreiben auf einen RAM-Chip ist es beispielsweise wichtig, dass sowohl die Adressleitungen als auch die Datenleitungen stabil sind, bevor ein Signal namens Write Strobe (-WR im Diagramm unten) verwendet wird, um die Daten in den zu takten Speicher. Diese Verzögerung ab der ersten Bereitstellung stabiler Daten im RAM und der Taktung wird als "Dateneinrichtungszeit" bezeichnet und ist im folgenden Diagramm dargestellt:

Geben Sie hier die Bildbeschreibung ein

Sie können die Ausbreitungsverzögerung in einem Gatter mit einem Mehrkanal-Oszilloskop beobachten und einen oder mehrere Kanäle für die Eingänge und einen oder mehrere für die Ausgänge verwenden. Mit einem Vierkanal-Oszilloskop könnte man beispielsweise das dynamische Verhalten eines Halbaddierers mit zwei Eingängen plus den Summen- und Übertragsausgängen beobachten.

Die Designer, die den Chip verwenden werden, verwenden einfach die im Datenblatt angegebenen Laufzeitverzögerungswerte. Aber woher kommen diese Zahlen?

Zunächst einmal werden die Designer des Chips Modelle gebaut haben , mit denen sich das Innenleben des Chips vollständig simulieren lässt, bevor er „ausgeklebt“ wird. Ein Fehler in diesem Stadium kann dazu führen, dass der Chip einen "Spin" durchlaufen muss, der möglicherweise Millionen von Dollar kostet. Beim Bau des Modells müssen sie nicht jedes Mal bei Null anfangen, sondern können mit Modellen aus früheren Entwürfen beginnen, die auf derselben Technologie basieren. Wenn das erste Silizium eintrifft, wird der Chip sowohl verifiziert als auch charakterisiert, wobei die verschiedenen Eigenschaften der Parameter des Chips gemessen und mit dem Modell verglichen werden. Alle diese Daten werden dann verwendet, um die Werte für das Datenblatt zu generieren. Es ist also eine Kombination aus Theorie und realen Messungen.

Im Allgemeinen nimmt die Geschwindigkeit zu, wenn die Dichte der Transistoren auf ICs zunimmt ( Mooresches Gesetz ). IC-Fertigungsprozesse haben sich von 10 µm im Jahr 1971 auf 1 µm im Jahr 1985, 90 nm im Jahr 2004 und 14 nm im Jahr 2014 weiterentwickelt.

Der 8-Bit- 6502- Mikroprozessor, der im Apple ][ (1977) verwendet wurde, hatte 3510 Transistoren und verwendete einen 8-µm-Prozess und wurde mit etwas mehr als 1 MHz getaktet. Der im iPhone 6 verwendete 64-Bit Apple A8X Tri-Core ARM-Mikroprozessor verfügt über 3 Milliarden Transistoren (fast eine Million Mal mehr als der 6502), verwendet einen 20-nm-Prozess und wird mit 1,5 GHz getaktet (fast 1,5 Millionen Mal schneller ) . als 6502).

Hallo Crosley, vielen Dank für Ihre Antwort, es hilft sehr, aber wissen Sie, wie sie die Verzögerung wie in ns messen, welche Technik sie verwenden? Ich meine, gibt es einen Timer, den sie verwenden und das Signal messen?
@MuhammadUsman Diskrete Gatter aus jeder Familie haben eine Ausbreitungsverzögerungszeit. Dies ist die Zeit, die ein Gatter benötigt, um bei einem gültigen Eingang einen gültigen Ausgang auszugeben. Auch Vorrichtungen, die mit einer Uhr arbeiten, müssen ihre Eingänge haben, um die Erfordernisse der Setup- und Haltezeit vor und nach der Taktflanke nicht zu verletzen. All dies wird berücksichtigt, wenn Sie entscheiden, was die maximale Geschwindigkeit Ihrer Schaltung ist. Sie messen dies also nicht mit einer Technik, Sie wissen bereits, was sich in Ihrer Schaltung befindet und wie lange ein Taktzyklus dauern sollte, um ordnungsgemäße Ausgaben zu liefern en.wikipedia.org/wiki/Propagation_delay
OK, nehmen wir an, ich habe eine Schaltung mit dem Transistor erstellt. Nehmen wir an, ein 4-Bit-Addierer, der nur Transistoren verwendet, wie die Transistoren als UND-Gatter zu machen und dann zwei 4 Eingänge zu haben, wie kann ich diese Verzögerungswerte dieser Schaltung oder des maximalen Takts bestimmen Frequenz, was ist der Mechanismus darin?
Grundsätzlich simulieren Sie die Schaltung (sei es auf dem Computer oder auf Papier), lassen sie in einem Standardzustand sein und setzen dann ihre Eingänge auf einen anderen Zustand. Sie folgen dann diesen Änderungen und fügen alle Verzögerungen um den Pfad herum hinzu. Der Pfad mit längeren Verzögerungen bestimmt dann die Reaktionszeit der Schaltung, die Sie gerade bauen. Angenommen, nachdem Sie die Basis des 1. Transistors geändert haben, wird er nach 20 ns in einen stabilen offenen Zustand geöffnet. Dann wird sein Ausgang mit dem 2. Transistor verbunden, also weitere 20 ns, und dann geht er zu 3., was Ausgang ist = also 60 ns ab dem Moment, in dem Sie den Eingang geändert haben, sind Sie sicher, dass der Ausgang gültig ist
Ihre theoretische Schaltung hat also eine Laufzeit von 60 ns, was bedeutet, dass sie bei einer Frequenz von etwa 16,66 MHz (und niedriger) in der Lage wäre, eine gültige Ausgabe von ihren Eingängen zu erzeugen. Für Ihre internen Zwecke werden Sie die maximale Frequenz auf 16 MHz einstellen und beten, dass alles funktioniert. Wenn Sie es verkaufen möchten, müssen Sie einige Geräusche und nicht perfekte Bedingungen und Herstellungstoleranzen berücksichtigen und in der Dokumentation angeben, dass Ihr Produkt mit 10 MHz oder weniger verwendet werden sollte, da sonst die korrekte Funktion nicht garantiert wird. Und schließlich Diagramm mit typischen und maximal gemessenen Zeiten und Werten anhängen