Verilog

Der Verilog , sein vollständiger Name Verilog HDL, ist eine Beschreibungssprachenhardware für Logikschaltungen in der Elektronik , die für den Entwurf von ASICs ( anwendungsspezifische integrierte Schaltungen , dedizierte Schaltungen) und FPGAs ( feldprogrammierbares Gate-Array ) verwendet wird.

Das englische Akronym HDL - Hardware Description Language - bedeutet Hardware Description Language . "Verilog HDL" sollte nicht als VHDL abgekürzt werden, da dieses Akronym für die Konkurrenzsprache VHSIC Hardware Description Language verwendet wird .

Historisch

Ursprünglich war es eine proprietäre Sprache , die von der Firma Cadence Design Systems für die Verwendung in ihren Logiksimulatoren entwickelt wurde. Der wachsende Erfolg von VHDL ( Hardware Description Language für sehr schnelle integrierte Schaltkreise , eine andere Sprache mit ähnlichen Zielen) veranlasste die Entwickler jedoch, diese Sprache zu entwickeln Verilog ein offener Standard ; Es ist der IEEE 1364- Standard, von dem es mehrere Versionen gibt, die erweitert wurden, um Funktionen anzubieten, die denen von VHDL entsprechen .

Verilog kombiniert zwei Aspekte:

Die Syntax von Verilog soll weitgehend von der Programmiersprache C inspiriert sein , obwohl die Ähnlichkeit tatsächlich auf Ausdrücke beschränkt ist. Dies erklärt teilweise seinen Erfolg und seine rasche Verbreitung in der Gemeinschaft der Ingenieure , die die C-Sprache bereits gelernt haben .

Die Struktur der Verilog Sprache macht es möglich , die Ein- und Ausgänge der beschreiben elektronischer Module zu definieren , virtuelle logische Gatter . Die Kombination von Modulen ermöglicht die Erstellung komplexer virtueller elektronischer Diagramme, die dann in einem Simulationsprogramm getestet werden können. Der Zweck solcher Tests ist:

Beispiel einer Verilog-Schaltung

Hier ist ein Beispiel einer Logikschaltung (hier ein Zähler ), die bei RTL ( Register Transfer Level ) beschrieben ist, dh synthetisierbar ist:

module Div20x (rst, clk, cet, cep, count,tc); // TITLE 'Divide-by-20 Counter with enables' // enable CEP is a clock enable only // enable CET is a clock enable and // enables the TC output // a counter using the Verilog language parameter size = 5; parameter length = 20; input rst; // These inputs/outputs represent input clk; // connections to the module. input cet; input cep; output [size-1:0] count; output tc; reg [size-1:0] count; // Signals assigned // within an always // (or initial)block // must be of type reg wire tc; // Other signals are of type wire // The always statement below is a parallel // execution statement that // executes any time the signals // rst or clk transition from low to high always @ (posedge clk or posedge rst) if (rst) // This causes reset of the cntr count <= 5'b0; else if (cet && cep) // Enables both true begin if (count == length-1) count <= 5'b0; else count <= count + 5'b1; // 5'b1 is 5 bits end // wide and equal // to the value 1. // the value of tc is continuously assigned // the value of the expression assign tc = (cet && (count == length-1)); endmodule

Anmerkungen und Referenzen

Siehe auch

Zum Thema passende Artikel

Externe Links