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

Verilog Essentials: Kurzer Überblick

Verhaltenscode steht immer in module/endmodule. Jedes Digitaldesign geht in einen module Block. Ports optional: input (Signale rein), output (Signale raus).

Modul

Leeres Modul testbench. Name: alphanumerisch + _.

module testbench; endmodule

Modul mit Ports: Inputs d, clk, rstb, Output q.

module dff (input d, clk, rstb, output q); endmodule

Datentypen

Primär zwei Typen: reg (hält Werte wie Variable) und wire (elektrischer Draht-Analogie, muss kontinuierlich getrieben werden). wire verbindet Module/Signale.

module testbench;
    reg d, rst_b, clk;
    wire q;
endmodule

Assignments

Drei Basis-Blöcke:

always @ (condition)Ausführung bei Condition
initialEinmalig bei Simulationsstart
assign LHS = RHSLHS aktualisiert bei RHS-Änderung

Regeln:

module testbench;
    reg d, rst_b, clk; wire q;
    initial begin
        d = 0; rst_b = 0; clk = 0;
        #100 $finish;
    end
    always begin
        #10 clk = ~clk;
    end
endmodule

Beobachtungen:

Verilog

  1. Verilog meistern: Komplettes Tutorial für digitales Schaltungsdesign
  2. Verilog Concatenation meistern: Praktischer Leitfaden
  3. Verilog Assignments verstehen: Typen, Syntax und Best Practices
  4. Verilog Blocking vs. Non-Blocking: Wichtige Unterschiede erklärt
  5. Verilog Functions meistern für effizientes RTL-Design
  6. Verilog Tasks verstehen: Functions vs. Tasks, Syntax und Verwendung
  7. Verilogs hierarchischen Referenz-Gültigkeitsbereich meistern: Namenskonflikte in Modulen und Blöcken vermeiden
  8. Verilog Clock Generator: Design & Implementierungsleitfaden
  9. Verilog Math Functions meistern für effizientes Hardware-Design
  10. Verilog $timeformat meistern: Präzision und Anzeigesteuerung