Erste Schritte mit Verilog (2) (Verilog-Sprachelemente)

Identifikator

Der Bezeichner in Verilog HDL kann aus einem beliebigen Satz vonBuchstaben,Ziffern< bestehen. Eine Kombination davon /span> (Unterstrich) Symbol, aber das erste Zeichen des Bezeichners muss ein Buchstabe oder ein Unterstrich sein. Darüber hinaus muss bei Bezeichnern die Groß-/Kleinschreibung beachtet werden. $ Symbole und das , _

Ein maskierter Bezeichner kann jedes druckbare Zeichen in einem Bezeichner enthalten. Escaped-Bezeichner beginnen mit einem \-Symbol (Backslash) und enden mit einem Leerzeichen.

Verilog HDL definiert eine Reihe reservierter Wörter, sogenannte Schlüsselwörter, die nur in bestimmten Kontexten verwendet werden. Beachten Sie, dass nur Schlüsselwörter in Kleinbuchstaben reservierte Wörter sind. Beispielsweise unterscheidet sich der Bezeichner always (der ein Schlüsselwort ist) vom Bezeichner ALWAYS (der kein Schlüsselwort ist).

Kommentar

Es gibt zwei Formen von Kommentaren in Verilog HDL.

/* 第一种形式:可以扩展至
   多行 */

// 第二张形式:在本行结束。

Format

Verilog HDL beachtet die Groß-/Kleinschreibung. Mit anderen Worten: Bezeichner mit unterschiedlicher Groß- und Kleinschreibung sind unterschiedlich. Darüber hinaus ist Verilog HDL freiformbar, d. h. Strukturen können über mehrere Zeilen oder innerhalb einer einzelnen Zeile geschrieben werden.

Zum Beispiel

initial begin Top=3'b001; #2 Top=3'b011; end

Entspricht dem folgenden Befehl:

initial
  begin
    Top = 3'b001;
    #2 Top = 3'b011;
  end

Systemaufgaben und -funktionen

Bezeichner, die mit $-Zeichen beginnen, repräsentieren Systemaufgaben oder Systemfunktionen. Aufgaben stellen einen Mechanismus zum Kapseln von Verhalten bereit. Dieser Mechanismus kann in verschiedenen Teilen des Designs aufgerufen werden. Aufgaben können 0 oder mehr Werte zurückgeben. Eine Funktion ist dasselbe wie eine Aufgabe, außer dass sie nur einen Wert zurückgeben kann. Darüber hinaus werden Funktionen zum Zeitpunkt 0 ausgeführt, d. h. es sind keine Verzögerungen zulässig, während Aufgaben Verzögerungen aufweisen können.

$display("Hi, you have reached LT today");
/* $display 系统任务在新的一行中显示。 */
$time
// 该系统任务返回当前的模拟时间

Wert gesetzt

Verilog HDL hat die folgenden vier Grundwerte:

  1. 0: logisch 0 oder „falsch“
  2. 1: logisch 1 oder „wahr“
  3. x: unbekannt
  4. z: hoher Widerstand

Beachten Sie, dass die Interpretation dieser vier Werte in die Sprache integriert ist. Beispielsweise bedeutet ein Wert von z immer eine hohe Impedanz und ein Wert von 0 bedeutet normalerweise eine logische 0. Konstanten in Verilog HDL bestehen aus den oben genannten vier Arten von Grundwerten.
Es gibt drei Arten von Konstanten in Verilog HDL:

  1. ganze Zahl
  2. reeller Zahlentyp
  3. String-Typ

Das Unterstrichsymbol _ kann beliebig mit ganzen oder reellen Zahlen verwendet werden; es hat keine mengenmäßige Bedeutung. Sie können zur Verbesserung der Lesbarkeit eingesetzt werden; die einzige Einschränkung besteht darin, dass der Unterstrich nicht als erstes Zeichen verwendet werden darf.

Art der Daten

Verilog HDL verfügt über zwei Hauptkategorien von Datentypen.

  1. Netzwerktyp. . Der Netztyp stellt die physische Verbindung zwischen strukturierten Verilog-Komponenten dar. Sein Wert wird durch den Wert des Antriebselements bestimmt, beispielsweise eine kontinuierliche Belegung oder den Ausgang eines Gatters. Wenn kein Antriebselement an das Netz angeschlossen ist, ist der Standardwert des Netzes z.
  2. Registertyp. Der Registertyp stellt eine abstrakte Datenspeichereinheit dar, die nur in der Anweisung always und initial zugewiesen werden kann und deren Wert von einem zum anderen zugewiesen wird konserviert.

Parameter

Der Parameter ist eine Konstante. Parameter werden häufig zum Definieren von Verzögerungen und variablen Breiten verwendet. Über Parameterspezifikationen angegebene Parameter werden nur einmal zugewiesen. Das Parameterbeschreibungsformular lautet wie folgt:

parameter param1 = const_expr1, param2 = const_expr2, ...,
          paramN = const_exprN;

Konkrete Beispiele sind:

parameter LINELENGTH = 132, ALL_X_S = 16'bx;
parameter BIT = 1, BYTE = 8, PI = 3.14;
parameter STROBE_DELAY = (BYTE + BIT) / 2;
parameter TQ_FILE = " /home/bhasker/TEST/add.tq"

Je suppose que tu aimes

Origine blog.csdn.net/myDarling_/article/details/134719586
conseillé
Classement