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

Verilog-Tutorial

In den frühen Tagen integrierter Schaltkreise mussten sich Ingenieure hinsetzen und Transistoren und ihre Verbindungen physisch auf Papier zeichnen, um sie so zu entwerfen, dass sie auf Silizium hergestellt werden können. Größere und komplexere Schaltungen erforderten mehr Ingenieure, Zeit und andere Ressourcen, und schon bald bestand Bedarf an einer besseren Methode zum Entwerfen integrierter Schaltungen.

VHDL wurde bald entwickelt, um den Designprozess zu verbessern, indem es Ingenieuren ermöglichte, die Funktionalität der gewünschten Hardware zu beschreiben und Automatisierungstools dieses Verhalten in tatsächliche Hardwareelemente wie kombinatorische Gatter und sequentielle Logik umwandeln zu lassen. Verilog wurde entwickelt, um den Prozess zu vereinfachen und die Hardware Description Language zu erstellen (HDL) robuster und flexibler. Heute ist Verilog das beliebteste HDL, das in der gesamten Halbleiterindustrie verwendet und praktiziert wird.

Wie ist Verilog nützlich?

Verilog schafft eine Abstraktionsebene, die dabei hilft, die Details seiner Implementierung und Technologie zu verbergen.

Zum Beispiel würde das Design eines D-Flip-Flops das Wissen erfordern, wie die Transistoren angeordnet werden müssen, um ein durch eine positive Flanke getriggertes FF zu erreichen, und welche Anstiegs-, Abfall- und Takt-Q-Zeiten erforderlich sind, um den Wert auf einem Flop zu speichern neben vielen anderen technikorientierten Details. Verlustleistung, Timing und die Fähigkeit, Netze und andere Flops anzusteuern, würden ebenfalls ein gründlicheres Verständnis der physikalischen Eigenschaften eines Transistors erfordern.

Verilog hilft uns, uns auf das Verhalten zu konzentrieren und den Rest später zu klären.

Beispiel

Der folgende Code veranschaulicht, wie ein Verilog-Code aussieht. Wir werden uns im nächsten Artikel mit weiteren Details des Codes befassen. Lassen Sie uns vorerst einfach verstehen, dass das Verhalten eines Zählers beschrieben. Der Code lässt den Zähler im Wesentlichen aufwärts zählen, wenn das up_down-Signal 1 ist, und abwärts, wenn sein Wert 0 ist. Er setzt den Zähler auch zurück, wenn das Signal rstn 0 wird, was dies zu einem Active-Low-Reset macht.

  
  
	module ctr (input  				up_down,
									clk,
									rstn,
	            output reg [2:0] 	out);
		
		always @ (posedge clk)
			if (!rstn)
				out <= 0;
			else begin
				if (up_down)
					out <= out + 1;
				else
					out <= out - 1;
			end
	endmodule

  

Das oben gezeigte einfache Beispiel zeigt, wie alle Details der physischen Implementierung verborgen wurden, während es dennoch eine klare Vorstellung davon vermittelt, wie der Zähler funktioniert.

ctr ist ein module der einen Aufwärts-/Abwärtszähler darstellt, und es ist möglich, die tatsächliche physische Implementierung des Designs aus einer großen Vielfalt verschiedener Arten von Flops auszuwählen, die für Fläche, Leistung und Leistung optimiert sind. Sie werden normalerweise in Bibliotheken kompiliert und stehen uns in einem späteren Stadium des Designprozesses zur Auswahl in EDA-Tools zur Verfügung.

Jetzt, da Sie wissen, was Verilog ist, fangen wir an, Verilog zu lernen!


Verilog

  1. C-Tutorial
  2. Verilog-Verkettung
  3. Verilog-Aufgaben
  4. Verilog-Blockierung und Nicht-Blockierung
  5. Verilog-Funktionen
  6. Verilog-Aufgabe
  7. Verilog-Taktgenerator
  8. Verilog Math-Funktionen
  9. Verilog-Zeitformat
  10. Ultiboard-PCB-Design-Tutorial