Hardwarebeschreibungssprachen und Verifikation

Welche Wirkung hat die obige generate-Anweisung?

genvar i;
generate
    for (i = 0; i < 4; i = i + 1) begin : g
        fifo u_fifo (.clk(clk), .din(din[i]), .dout(dout[i]));
    end
endgenerate
  1. AEin fifo wird in 4 Takten viermal wiederverwendet
  2. BNur in der Simulation wird das fifo viermal angezeigt
  3. CDas fifo-Modul wird viermal erzeugt, und jedes wird mit einem anderen Element von din und dout verbunden
Antwort und Erläuterung anzeigen

Antwort: C. Das fifo-Modul wird viermal erzeugt, und jedes wird mit einem anderen Element von din und dout verbunden

Ein for in einer generate-Anweisung entfaltet den Inhalt für jeden Wert von genvar und erzeugt so die Schaltungsbeschreibung wiederholt. In diesem Beispiel entstehen vier fifo-Instanzen von g[0].u_fifo bis g[3].u_fifo, die jeweils mit din[i] und dout[i] verbunden sind. Ändert man die Zahl der Kanäle oder Bits über parameter, ändert sich auch die Zahl der erzeugten Instanzen, sodass sich regelmäßig aufgebaute Schaltungen kurz beschreiben lassen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Hardwarebeschreibungssprachen und Verifikation

  1. Welche Aufgabe haben bei der HDL-Verifikation verwendete Lint-Werkzeuge?
  2. Was ist der Hauptzweck, eine Schaltung nach Logiksynthese oder Place-and-Route (Gatterebenen-Netzliste) mit Verzögerungsinformationen zu simulieren?
  3. Wie heißt die Form, in der wie in der obigen Beschreibung der Ausgang einer kombinatorischen Schaltung ohne Flipflop auf den eigenen Eingang zurückgeführt wird, und warum ist sie zu vermeiden?
  4. Wie wird die obige Beschreibung bei Logiksynthese für FPGAs im Allgemeinen behandelt?
  5. Welche Aussage zum Vergleich einer langen Kette aus if-else-if und einer case-Beschreibung mit sich nicht überlappenden Bedingungen in einer kombinatorischen Schaltung ist korrekt?

Vergleiche zu diesem Thema