Artikel-ID: 000086112 Inhaltstyp: Produktinformationen und Dokumente Letzte Überprüfung: 11.09.2012

Wie instanziiere ich mehrere Kopien des gleichen Speicherblocks, die unterschiedliche Initialisierungsdateien haben, ohne den MegaWistelligen Plug-In-Manager mehrmals zu verwenden?

Umgebung

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Sie können dies tun, indem Sie den Initialisierungsdateinamen als Parameter an die MegaWi ascii-generierte® Datei für jede Instanz des ROM oder RAM im Top-Level-Design weitergeben. Verwenden Sie dazu das nachstehende Verfahren, um die vom MegaWifile-Plug-In-Manager generierte Wrapper-Datei zu bearbeiten und die Instanzen in Ihrem Design zu instanziieren. Das nachstehende Beispiel verwendet Verilog HDL für einen ROM-Speicherblock.

  1. Fügen Sie die Definition des Parameters init_file der megaWiisch generierten Wrapper-Datei hinzu, wie folgt:

    parameter init_file = "";

  2. Ändern Sie die Megafunktionsinstanziierung in der Wrapper-Datei, um die neue zuzuweisen init_file Parameter als altsyncram_component.init_file Parameterwert, wie folgt. Diese Änderung macht das megaWistellige generierte angepasste ROM-Modul parameterisierbar und ermöglicht die Instanziierung des angepassten ROM, um den Wert der Initialisierungsdatei zu definieren.

    defparam
        altsyncram_component.init_file = init_file,

  3. Löschen Sie den vorhandenen Wert des altsyncram_component.init_file Parameter, wenn einer in der Wrapper-Datei vorhanden ist. Das Folgende ist ein Beispiel für die modifizierte Wrapper-Datei:

    module my_rom (address, clock, q);
       input [2:0] address;
       input clock;
       output [7:0] q;

       parameter init_file = "";
       wire [7:0] sub_wire0;
       wire [7:0] q = sub_wire0[7:0];
       altsyncram altsyncram_component (
       ...
       defparam
           altsyncram_component.init_file = init_file, ...

  4. Stellen Sie für jede ROM-Instanz im Top-Level-Design die init_file Parameter zum gewünschten Initialisierungsdateinamen.

    Das nachstehende Beispiel zeigt eine Instanziierung des my_rom Moduls, wo defparam verwendet wird, um die .mif Initialisierungsdatei an den Parameter init_filezu übergeben. Das Design kann viele Instanziierungen dieses ROM umfassen, wobei jedes eine andere Initialisierungsdatei verwendet, indem das Defparam festgelegt wird.

    module top_level_roms (addr, clk, q);
       output [7:0] q;
       input clk;
       input [2:0] addr;

       my_rom u1 (.address(addr),.clock(clk),.q(q));
          defparam u1.init_file = "rom_test.mif";
    endmodule

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Stratix® II FPGAs

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.