Dieser Fehler kann in Synopsys VCS oder VCS MX angezeigt werden, wenn sie simulieren, ob Ihr Design zwei oder mehr IP-Varianten enthält, die vom MegaWistelligen™ Plug-in-Manager in der Quartus® II Software erstellt wurden. Dieser Fehler kann auftreten, wenn Ihr Design mehrere Varianten des gleichen IP-Kerns oder unterschiedliche IP-Kerne hat, aber die Kerne über doppelte Simulationsdateien verfügen. Für jeden IP-Kern wird dem Verzeichnis _sim ein vollständiger Simulationsdateisatz hinzugefügt, einschließlich einiger Dateien, die mit anderen IP-Kernen gemeinsam genutzt werden können. Einige SystemVerilog-Pakete können beispielsweise häufig IP-Kerne mulitple.
Der Fehler tritt auf, wenn der VCS-Befehlszeile die verkettete Liste aller Simulationsdateinamen für alle IP-Varianten (einschließlich der doppelten Dateinamen) hinzugefügt wird. Der Dateisatz umfasst keine Kopien der Simulationsbibliotheksdateien, die im Installationsverzeichnis installiert sind>/eda/sim_lib Verzeichnisstruktur.
Führen Sie einen der folgenden Schritte durch, um dieses Problem zu beheben:
- Sie können die doppelten Dateinamen in der VCS-Befehlszeile manuell eliminieren, indem Sie aus jedem Satz doppelter Dateien nur eine Datei angeben. Sie können die doppelten Dateien identifizieren, indem Sie nach Dateien suchen, die denselben Namen haben, sich aber in verschiedenen Verzeichnissen befinden (z. B. _sim/<Variation 2>_sim/dann.sv). Sie sollten auch den Inhalt der doppelten Dateinamen vergleichen, um sicherzustellen, dass es sich bei den Dateien um Duplikate handelt.
- Alternativ können Sie jede ip-Simulationsdatei, die in einer eigenen Bibliothek eingerichtet ist, einzeln kompilieren, indem Sie die
vlogan
Befehl, wie im VCS MX Benutzerhandbuch dokumentiert, das in einer VCS MX-Installation, jedoch nicht in einer VCS(VCSi)-Installation enthalten ist. Sie können auch das VCS MX Benutzerhandbuch über die Synopsys-Website erhalten. Gehen Sie wie folgt vor, um die Bibliotheken einzeln zu kompilieren:- Identifizieren Sie alle IP-Varianten und erstellen Sie ein Verzeichnis für jede von ihnen. Jedes Verzeichnis enthält die zwischenliegenden VCS-Bibliotheksdateien für seine IP-Variation. Wenn Sie beispielsweise zwei IP-Varianten
ip_var1
haben undip_var2
zwei Verzeichnisse erstellen:./ip_var1_lib
und./ip_var2_lib
. - Wenn es nicht bereits vorhanden ist, erstellen Sie eine Datei mit dem Namen synopsys_sim.setup. Diese Datei enthält die Zuordnung von logischen Bibliotheksnamen zu ihren physischen Verzeichnisstandorten. Fügen Sie die Zuordnung von logischen Bibliotheksnamen zu physischen Verzeichnisnamen für jede der IP-Varianten hinzu. Zum Beispiel für die beiden IP-Varianten
ip_var1
Undip_var2
fügen Sie die folgenden zwei Zeilen zum synopsys_sim.setup Datei:ip_var1: ./ip_var1_lib
ip_var2: ./ip_var2_lib - Wenn Sie in Schritt 2 Bibliotheken aus dem Simulationsbibliotheksverzeichnis Quartus II (/eda/sim_lib) hinzufügen, Bibliotheks-Unterverzeichnisse für Altera Simulationsmodellbibliotheken erstellen und deren Zuordnungen zu den logischen Bibliotheksnamen in der Datei synopsys_sim.setup hinzufügen. Diese Bibliotheken werden im Abschnitt Simulation in Teil 3 des Quartus II Handbuchs beschrieben.
- Erstellen Sie eine Arbeitsbibliothek, indem Sie eine
./work
Verzeichnis und Zuordnung zum logischenwork
Bibliothek und Hinzufügen der folgenden Zeile zum synopsys_sim.setup Datei:work: ./work
- Erstellen Sie ein Shell-Skript mit den folgenden Befehlen:
- Kompilieren Sie für jede IP-Variation alle SystemVerilog-Dateien, indem Sie den folgenden Befehl hinzufügen:
vlogan -sverilog -work ip_var1
- Kompilieren Sie für jede IP-Variation alle Standard-Verilog HDL-Dateien, indem Sie den folgenden Befehl hinzufügen:
vlogan v2k -work ip_var1
- Quartus II Simulationsbibliotheken in separate Bibliotheken kompilieren, indem Sie sie entweder manuell mit
vlogan
Befehle (ähnlich wie das Kompilieren der Simulationsdateien für jede IP-Variation). Alternativ können Sie auch die Quartus II Simulationsbibliotheken kompilieren, indem Sie den EDA Simulation Library Compiler verwenden, indem Sie den folgenden Befehl ausführen:
Weitere Informationen zum Kompilieren von Simulationsbibliotheken mit dem EDA Simulation Library Compiler finden Sie unter Kompilierung von Simulationsbibliotheken in der Quartus II Software in Quartus II – Hilfe und Simulation Altera Designs Kapitel in Teil 3 des Quartus II Handbuch.quartus_sh --simlib_comp -tool vcsmx -language verilog -family
- Kompilieren Sie für jede IP-Variation alle SystemVerilog-Dateien, indem Sie den folgenden Befehl hinzufügen:
- Kompilieren Sie Ihre Testbench-Dateien und alle anderen Dateien in die Arbeitsbibliothek mit
vlogan
Befehle. Zum Beispielvlogan -work work
- Das oberste Modul und die ausführbare Generate Simulator werden mit dem folgenden VCS-Befehl generiert:
VCS sucht automatisch alle in der synopsys_sim.setup Datei für nicht gelöste Module. Wenn Sie mehr Kontrolle über die Bibliothekssuche erhalten möchten, geben Sie die Bibliotheken mit demvcs
-lib
die Option im VCS MX Benutzerhandbuch dokumentiert ist.
- Identifizieren Sie alle IP-Varianten und erstellen Sie ein Verzeichnis für jede von ihnen. Jedes Verzeichnis enthält die zwischenliegenden VCS-Bibliotheksdateien für seine IP-Variation. Wenn Sie beispielsweise zwei IP-Varianten