Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Verilog

Design-Abstraktionsschichten

Bevor wir uns weitere Details der Verilog-Sprache ansehen, wäre es gut, die verschiedenen Abstraktionsebenen im Chipdesign zu verstehen.

Die oberste Schicht ist die Architektur auf Systemebene, die die verschiedenen Unterblöcke definiert und sie basierend auf der Funktionalität gruppiert. Beispielsweise würde ein Prozessor-Cluster mehrere Kerne, Cache-Blöcke und Cache-Kohärenzlogik aufweisen. All dies wird gekapselt und als ein einziger Block mit Input-Output-Signalen dargestellt.

Auf der nächsten Ebene wird jeder Unterblock in einer Hardwarebeschreibungssprache geschrieben, um die Funktionalität jedes einzelnen Blocks genau zu beschreiben. Implementierungsdetails auf niedrigerer Ebene wie Schaltpläne und Technologiebibliotheken werden in dieser Phase ignoriert. Zum Beispiel wird ein Controller-Block am Ende mehrere Verilog-Dateien haben, die jeweils eine kleinere Komponente seiner Funktionalität beschreiben.

HDLs werden dann in Schaltpläne auf Gatterebene konvertiert, die auch Technologiebibliotheken umfassen, die digitale Elemente wie Flip-Flops charakterisieren. Beispielsweise enthält die digitale Schaltung für einen D-Latch NAND-Gatter, die auf eine bestimmte Weise angeordnet sind, so dass alle Kombinationen von D- und E-Eingängen einen Ausgang Q erzeugen, der durch die Wahrheitstabelle gegeben ist.

Eine Wahrheitstabelle gibt im Wesentlichen die Permutation aller Eingangssignalpegel und den resultierenden Ausgangspegel an, und die unten angegebene ist für einen D-Latch mit einem Aktivierungsstift. Das Hardware-Schema kann auch unter Verwendung von boolescher Logik und K-Maps aus der Wahrheitstabelle abgeleitet werden. Es ist jedoch nicht praktikabel, dieser Methode für komplexere digitale Blöcke wie Prozessoren und Controller zu folgen.

Die Implementierung eines NAND-Gatters erfolgt durch die Verbindung von CMOS-Transistoren in einem bestimmten Format. Auf dieser Ebene werden die Transistorkanalbreiten, Vdd und die Fähigkeit, die kapazitive Ausgangslast zu treiben, während des Designprozesses berücksichtigt.

Der letzte Schritt ist das Layout dieser Transistoren in Silizium mit EDA-Werkzeugen, damit sie hergestellt werden können. Auf dieser Ebene wären einige Geräte- und Technologiekenntnisse erforderlich, da unterschiedliche Layouts unter anderem unterschiedliche physikalische Eigenschaften wie Widerstand und Kapazität aufweisen.

Designstile

Als nächstes gibt es hauptsächlich zwei Stile, die beim Design digitaler Blöcke verfolgt werden, nämlich Top-down- und Bottom-up-Methoden.

Top-Down

Bei diesem Stil wird zunächst ein Block der obersten Ebene zusammen mit der Identifizierung von Untermodulen definiert, die zum Aufbau des obersten Blocks erforderlich sind. In ähnlicher Weise wird jeder Unterblock weiter in kleinere Komponenten unterteilt, und der Prozess wird fortgesetzt, bis wir die Blattzelle oder ein Stadium erreichen, in dem er nicht weiter unterteilt werden kann.

Von unten nach oben

In diesem Fall besteht die erste Aufgabe darin, die verfügbaren Bausteine ​​zu identifizieren. Dann werden sie zusammengesetzt und auf eine bestimmte Weise verbunden, um größere Zellen zu bauen, und verwendet, um den Block der obersten Ebene zusammenzusetzen.

Typischerweise wird eine Kombination beider Strömungen verwendet. Architekten definieren die Ansicht des Designs auf Systemebene, und Designer implementieren die Logik jedes der Funktionsblöcke und werden zu Gattern synthetisiert. Bis zu diesem Punkt wird ein Top-Down-Stil verfolgt. Diese Gates wurden jedoch nach einem Bottom-Up-Fluss gebaut, bei dem mit dem physischen Layout des kleinsten Blocks in der bestmöglichen Fläche, Leistung und Leistung begonnen wurde. Diese Standardzellen haben auch ein Hardwareschema und können verwendet werden, um verschiedene Informationen wie Anstiegs- und Abfallzeiten, Leistung und andere Verzögerungen zu erhalten. Diese Zellen werden dem Synthesetool zur Verfügung gestellt, das sie bei Bedarf auswählt und instanziiert.


Verilog

  1. Die Herausforderungen des Produktdesigns
  2. Betonblock
  3. C#-Variablenbereich
  4. Verilog-Tutorial
  5. Verilog-Kontrollblöcke
  6. Modellierung auf Gatterebene
  7. Beispiele für Verilog-Gate-Level
  8. Switch-Level-Modellierung
  9. Was ist Architekturdesign?
  10. Wie man eine Drehbank nivelliert