Tham khảo tài liệu verilog - ngôn ngữ mô tả phần cứng, công nghệ thông tin, phần cứng phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Verilog - Ngôn ngữ mô tả phần cứng Verilog Dr. Jürgen RufJürgen Ruf Systembeschreibungssprachen SS 2002Inhalt• Motivation und Einleitung• Verilog – Beschreibung von Hardware mit Verilog – Hardwaresimulation/-verifikation• SystemC• Esterel• Systemsynthese• Optionale ThemenJürgen Ruf Systembeschreibungssprachen SS 2002 1SchaltungsbeschreibungenSchaltungen bestehen aus• Komponenten• und Verbindungen dieser Komponenten 1 Zu komplex für große Schaltungen in outJürgen Ruf Systembeschreibungssprachen SS 2002HierarchiebildungZusammenfassung von Teilen zu neuen Modulen• Gatter, FlipFlops• ALU, Register, Speicher,• Prozessor 1 a in out ≤1 bJürgen Ruf Systembeschreibungssprachen SS 2002 2Algorithmische BeschreibungStrukturelle Beschreibung ist oft zu komplex für große Entwürfe (mit 20 Millionen Gattern) ⇒ algorithmische Beschreibungen notwendigDas Verhalten der Module wird durch eine (imperative) Programmiersprache definiert, diese ist Teil der HardwarebeschreibungsspracheJürgen Ruf Systembeschreibungssprachen SS 2002Algorithmische Beschreibung IIBesonderheiten von Hardware:• Funktionen verbrauchen Zeit ⇒ Zeitbegriff• Funktionen können parallel arbeiten ⇒ parallele Tasks• Kommunikation zwischen Modulen ⇒ Signale und Ereignisse (events)• zweiwertige Logik nicht ausreichend ⇒ mehrwertige Logik (0,1,x,z)Jürgen Ruf Systembeschreibungssprachen SS 2002 3Verilog• entwickelt von Philip Moorby 1983/1984 bei Gateway Design Automation• wurde anfangs gemeinsam mit dem Simulator entwickelt• 1987 Verilog-basiertes Synthesewerkzeug von Synopsys• 1989 Gateway wurde von Cadence aufgekauft• Verilog wird public domain um mit VHDL zu konkurrierenJürgen Ruf Systembeschreibungssprachen SS 2002Strukturelle Beschreibung: Multiplexer a and ≤1 sel out and bJürgen Ruf Systembeschreibungssprachen SS 2002 4Strukturelle Beschreibung: Multiplexermodule mux (out, a, Portdefinition: b, sel);output out; output Modulname Portliste inputinput a, b, sel; (inout)not i1 (seln, sel);and i2 (sela,Instanzennamen Built-in primitives a, sel);and i3 (selb, b, seln);or i4 (out, sela, selb); a Signale (implizit definiert) andendmodule sel out ≤1 b andJürgen Ruf Systembeschreibungssprachen SS 2002Strukturelle Beschreibung: Multiplexer module mux (out, a, b, sel); output out; input a, b, sel; not i1 (seln, sel); and i2 (sela, a, sel); and i3 (selb, b, seln); or i4 (out, sela, selb); i2 endmodule a and sela i4 ≤1 sel seln out i1 and b selb i3Jürgen Ruf Systembeschreibungssprachen SS 2002 5Hierarchie: Multiplexer 2module mux2 (out, a, b, sel);output [1:0] out;input [1:0] a, b;input sel;mux hi (out[1], a[1], b[1], sel);mux lo (out[0], a[0], b[0], sel); mux 2 a • 2 • bendmodule 2 sel • out muxJürgen Ruf Systembeschreibungssprachen SS 2002Modulverbindung durch Portnamenmodule mux2 (o, x, y, s);...mux hi ( .out(o[1]), mux .a(x[1]), 2 x a • 2 .b(y[1]), • b y 2 o ...