MICROCHIP-Logo Libero SoC-Simulation
Anweisungen zum Einrichten der Bibliothek

Einführung

(Eine Frage stellen)

Der Zweck dieses Dokuments besteht darin, das Verfahren zum Einrichten der Simulationsumgebung unter Verwendung eines Libero SoC-Projekts als Eingabe zu beschreiben. Diese Dokumentation entspricht den vorkompilierten Bibliotheken, die für die Verwendung mit Libero SoC v11.9 und neueren Softwareversionen bereitgestellt werden. Die bereitgestellten Bibliotheken sind für Verilog kompiliert. VHDL-Benutzer benötigen eine Lizenz, die eine Mixed-Mode-Simulation ermöglicht.
Die kompilierten Simulationsbibliotheken stehen für folgende Tools zur Verfügung:

  • Aldec Active-HDL
  • Aldec Riviera-PRO
  • Cadence Incisive Enterprise und Xcelium
  • Siemens QuestaSim
  • Synopsys VCS

Um eine Bibliothek für einen anderen Simulator anzufordern, wenden Sie sich an Technischer Support von Microchip.

Libero SoC-Integration

(Eine Frage stellen)

Libero SoC unterstützt die Simulation mit ModelSim ME durch die Generierung eines run.do file. Das file wird von ModelSim ME/ModelSim Pro ME zum Einrichten und Ausführen der Simulation verwendet. Um andere Simulationstools zu verwenden, können Sie ModelSim ME/ModelSim Pro ME run.do generieren und das Tcl-Skript ändern file um die Befehle zu verwenden, die mit Ihrem Simulator kompatibel sind.
1.1 Libero SoC Tcl File Generation (Eine Frage stellen)
Starten Sie nach dem Erstellen und Generieren des Designs in Libero SoC eine ModelSim ME/ModelSim Pro ME-Simulation in allen Designphasen (Presynth, Postsynth und Post-Layout). Dieser Schritt generiert run.do file für ModelSim ME/ModelSim Pro ME für jede Designphase.
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Benennen Sie nach dem Start jedes Simulationslaufs die automatisch generierte Datei „run.do“ um file im Simulationsverzeichnis, um zu verhindern, dass Libero SoC diese überschreibt file. Zum Beispielample, die files können in presynth_run.do, postsynth_run.do und postlayout_run.do umbenannt werden.

Aldec-Setup für Active-HDL und Riviera-Pro (Eine Frage stellen)

Das run.do file Die von ModelSim ME/ModelSim Pro ME verwendeten Daten können geändert und für die Simulation mit den Aldec-Simulatoren verwendet werden.
2.1 Umgebungsvariable (Eine Frage stellen)
Stellen Sie Ihre Umgebungsvariable auf Ihre Lizenz ein file Standort:
LM_LICENSE_FILE: muss einen Zeiger auf den Lizenzserver enthalten.
2.2 Kompilierte Bibliothek herunterladen (Eine Frage stellen)
Laden Sie die Bibliotheken für Aldec Active-HDL und Aldec Riviera-PRO vom Microchip herunter webWebsite.
2.3 Konvertieren von run.do für die Aldec-Simulation (Eine Frage stellen)
Das run.do fileVon Libero SoC für Simulationen mit dem Tool Active-HDL und Riviera-Pro generierte Dateien können mit einer einzigen Änderung für Simulationen mit Active-HDL und Riviera-Pro verwendet werden. In der folgenden Tabelle sind die Aldec-äquivalenten Befehle aufgeführt, die in ModelSim run.do geändert werden können file.
Tabelle 2-1. Aldec-äquivalente Befehle

ModellSim Aktives HDL
vlog Ein Holzklotz
vcom acom
vlib alib
vsim asim
vmap amap

Folgendes ist wieample run.do im Zusammenhang mit Aldec-Simulatoren.

  1. Legen Sie den Speicherort des aktuellen Arbeitsverzeichnisses fest.
    Setze dsn
  2. Legen Sie einen Namen für die Arbeitsbibliothek fest, ordnen Sie ihren Standort zu und ordnen Sie dann den Standort der Microchip FPGA-Familie zu
    vorkompilierte Bibliotheken (z.Bample, SmartFusion2), auf dem Sie Ihr Design ausführen.
    alib presynth
    amap presynth presynth
    amap SmartFusion2
  3. Kompilieren Sie alle erforderlichen HDL files wird im Design mit der erforderlichen Bibliothek verwendet.
    alog –work presynth temp.v (für Verilog)
    alog –work presynth testbench.v
    acom –work presynth temp.vhd (für Vhdl)
    acom –work presynth testbench.vhd
  4. Simulieren Sie das Design.
    asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
    10us laufen lassen

2.4 Bekannte Probleme (Eine Frage stellen)
In diesem Abschnitt werden die bekannten Probleme und Einschränkungen aufgeführt.

  • Mit Riviera-PRO kompilierte Bibliotheken sind plattformspezifisch (d. h. 64-Bit-Bibliotheken können nicht auf einer 32-Bit-Plattform ausgeführt werden und umgekehrt).
  • Verwenden Sie für Designs, die SERDES/MDDR/FDDR enthalten, die folgende Option in Ihrem run.do files beim Ausführen von Simulationen nach dem Kompilieren ihrer Designs:
    – Aktiv-HDL: asim –o2
    – Riviera-PRO: asim –O2 (für Presynth- und Post-Layout-Simulationen) und asim –O5 (für Post-Layout-Simulationen)
    Das Aldec-Setup für Active-HDL und Riviera-Pro weist die folgenden ausstehenden SARs auf. Für weitere Informationen kontaktieren Technischer Support von Microchip.
  • SAR 49908 – Active-HDL: VHDL-Fehler für Mathematikblocksimulationen
  • SAR 50627 – Riviera-PRO 2013.02: Simulationsfehler für SERDES-Designs
  • SAR 50461 – Riviera-PRO: asim-O2/-O5-Option in Simulationen

Cadence Incisive Setup (Eine Frage stellen)

Sie müssen ein Skript erstellen file Ähnlich wie bei ModelSim ME/ModelSim Pro ME run.do, um das auszuführen
Cadence Incisive Simulator. Befolgen Sie diese Schritte und erstellen Sie ein Skript file für NCSim oder verwenden Sie das Skript file
Wird zum Konvertieren von ModelSim ME/ModelSim Pro ME run.do bereitgestellt files in die Konfiguration ein files
erforderlich, um die Simulationen mit NCSim durchzuführen.
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Trittfrequenz hat die Veröffentlichung neuer Versionen von Incisive Enterprise eingestellt
Simulator und begann mit der Unterstützung des Xcelium-Simulators.

3.1 Umgebungsvariablen (Eine Frage stellen)
Um den Cadence Incisive-Simulator auszuführen, konfigurieren Sie die folgenden Umgebungsvariablen:

  1. LM_LICENSE_FILE: muss einen Zeiger auf die Lizenz enthalten file.
  2. cds_root: muss auf das Home-Verzeichnis der Cadence Incisive-Installation verweisen.
  3. PFAD: muss auf den bin-Speicherort unter dem Tools-Verzeichnis verweisen, auf das cds_root verweist, d. h.
    $cds_root/tools/bin/64bit (für eine 64-Bit-Maschine und $cds_root/tools/bin für eine 32-Bit-Maschine).
    Beim Wechsel zwischen 64-Bit- und 32-Bit-Betriebssystemen gibt es drei Möglichkeiten, die Simulationsumgebung einzurichten:

Fall 1: PATH-Variable
Führen Sie den folgenden Befehl aus:
set path = (install_dir/tools/bin/64bit $path) für 64-Bit-Maschinen und
set path = (install_dir/tools/bin $path) für 32-Bit-Maschinen
Fall 2: Verwendung der Befehlszeilenoption -64bit
Geben Sie in der Befehlszeile die Option -64bit an, um die ausführbare 64-Bit-Datei aufzurufen.
Fall 3: Festlegen der Umgebungsvariablen INCA_64BIT oder CDS_AUTO_64BIT
Die INCA_64BIT-Variable wird als boolescher Wert behandelt. Sie können diese Variable auf einen beliebigen Wert oder eine Nullzeichenfolge festlegen.
setenv INCA_64BIT

MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Die Die Umgebungsvariable INCA_64BIT hat keinen Einfluss auf andere Cadence-Tools, wie z. B. IC-Tools. Bei Incisive-Tools überschreibt die Variable INCA_64BIT jedoch die Einstellung für die Umgebungsvariable CDS_AUTO_64BIT. Wenn die Umgebungsvariable INCA_64BIT gesetzt ist, laufen alle Incisive-Tools im 64-Bit-Modus. setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Die Die Zeichenfolge INCA muss in Großbuchstaben geschrieben werden. Alle ausführbaren Dateien müssen entweder im 32-Bit-Modus oder im 64-Bit-Modus ausgeführt werden. Stellen Sie die Variable nicht so ein, dass sie eine ausführbare Datei enthält, wie im Folgenden:
setenv CDS_AUTO_64BIT INCLUDE:ncelab

Andere Cadence-Tools, wie z. B. IC-Tools, verwenden ebenfalls die Umgebungsvariable CDS_AUTO_64BIT, um die Auswahl von 32-Bit- oder 64-Bit-ausführbaren Dateien zu steuern. Die folgende Tabelle zeigt, wie Sie die Variable CDS_AUTO_64BIT festlegen können, um die Incisive-Tools und IC-Tools in allen Modi auszuführen.
Tabelle 3-1. CDS_AUTO_64BIT-Variablen

CDS_AUTO_64BIT-Variable Prägnante Werkzeuge IC-Tools
setenv CDS_AUTO_64BIT ALL 64 Bit 64 Bit
setenv CDS_AUTO_64BIT NONE 32 Bit 32 Bit
setenv CDS_AUTO_64BIT AUSSCHLIEßEN:ic_binary 64 Bit 32 Bit
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32 Bit 64 Bit

MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Alle Incisive-Tools müssen entweder im 32-Bit-Modus oder im 64-Bit-Modus ausgeführt werden. Verwenden Sie EXCLUDE nicht, um eine bestimmte ausführbare Datei auszuschließen, wie im Folgenden: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Wenn Sie die Variable CDS_AUTO_64BIT so festlegen, dass die Incisive-Tools ausgeschlossen werden (setenv CDS_AUTO_64BIT EXCLUDE:INCA), werden alle Incisive-Tools im 32-Bit-Modus ausgeführt. Allerdings überschreibt die Befehlszeilenoption -64bit die Umgebungsvariable.
Die folgende Konfiguration files helfen Ihnen, Ihre Daten zu verwalten und den Betrieb der Simulationstools und Dienstprogramme zu steuern:

  • Bibliothekszuordnung file (cds.lib) – Definiert einen logischen Namen für den Speicherort Ihres Designs.
  • Bibliotheken und ordnet sie physischen Verzeichnisnamen zu.
  • Variablen file (hdl.var) – Definiert Variablen, die das Verhalten von Simulationstools und -dienstprogrammen beeinflussen.

3.2 Kompilierte Bibliothek herunterladen (Eine Frage stellen)
Laden Sie die Bibliotheken für Cadence Incisive von Microsemi herunter webWebsite.
3.3 Erstellen des NCSim-Skripts File (Eine Frage stellen)
Nachdem Sie eine Kopie von run.do erstellt haben files, führen Sie diese Schritte aus, um Ihre Simulation mit NCSim auszuführen:

  1. Erstellen Sie eine cds.lib file Dies definiert die zugänglichen Bibliotheken und deren Speicherort. Der file enthält Anweisungen, die logische Bibliotheksnamen ihren physischen Verzeichnispfaden zuordnen. Zum Beispielample, wenn Sie eine Presynth-Simulation ausführen, die cds.lib file wird wie im folgenden Codeblock gezeigt geschrieben.
    DEFINIEREN presynth ./presynth
    DEFINIEREN SIE COREAHBLITE_LIB ./COREAHBLITE_LIB
    DEFINE smartfusion2
  2. Erstellen Sie eine hdl.var file, eine optionale Konfiguration file enthält Konfigurationsvariablen, die bestimmen, wie Ihre Designumgebung konfiguriert wird. Die folgende Variable files sind enthalten:
    – Variablen, die verwendet werden, um die Arbeitsbibliothek anzugeben, in der der Compiler kompilierte Objekte und andere abgeleitete Daten speichert.
    – Für Verilog Variablen (LIB_MAP, VIEW_MAP, WORK), die zur Angabe der Bibliotheken und verwendet werden views zu suchen, wenn der Ersteller Instanzen auflöst.
    – Variablen, mit denen Sie Befehlszeilenoptionen und -argumente für Compiler, Elaborator und Simulator definieren können.
    Im Falle einer Presynth-Simulation, zample oben gezeigt, sagen wir, wir haben drei RTL files: a.v, b.v und testbench.v, die jeweils in die Bibliotheken presynth, COREAHBLITE_LIB und presynth kompiliert werden müssen. Die hdl.var file kann wie im folgenden Codeblock gezeigt geschrieben werden.
    DEFINE WORK presynth
    DEFINE PROJECT_DIR <Speicherort des files>
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
  3. Stellen Sie das Design zusammen files verwendet die NCVLOG-Option.
    ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug von testbench.v
  4. Erarbeiten Sie das Design mit ncelab. Der Entwickler erstellt eine Entwurfshierarchie auf der Grundlage der Instanziierungs- und Konfigurationsinformationen im Entwurf, stellt die Signalkonnektivität her und berechnet Anfangswerte für alle Objekte im Entwurf. Die ausgearbeitete Designhierarchie wird in einem Simulations-Snapshot gespeichert. Dabei handelt es sich um die Darstellung Ihres Designs, die der Simulator zum Ausführen der Simulation verwendet.
    ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    access +rwc –status worklib.:module
    Ausarbeitung während der Post-Layout-Simulation
    Bei Post-Layout-Simulationen zuerst das SDF file muss vor der Ausarbeitung mit dem Befehl ncsdfc kompiliert werden.
    ncsdfcfileName>.sdf –AusgabefileName>.sdf.X
    Verwenden Sie während der Ausarbeitung die kompilierte SDF-Ausgabe mit der Option –autosdf, wie im folgenden Codeblock gezeigt.
    ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –access +rwc –status worklib.:module –sdf_cmd_file ./
    sdf_cmd_file
    Der sdf_cmd_file muss wie im folgenden Codeblock gezeigt sein.
    COMPILED_SDF_FILE = „<Speicherort der kompilierten SDF file>”
  5. Simulieren Sie mit ncsim. Nach der Ausarbeitung wird ein Simulations-Snapshot erstellt, der von ncsim zur Simulation geladen wird. Sie können im Batch-Modus oder im GUI-Modus ausführen.
    ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
    errormax 15 –status worklib.:module

MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Alle oben genannten drei Schritte des Kompilierens, Ausarbeitens und Simulierens können in einem Shell-Skript zusammengefasst werden file und über die Befehlszeile bezogen. Anstatt diese drei Schritte zu verwenden, kann das Design in einem Schritt mit der Option ncverilog oder irun simuliert werden, wie im folgenden Codeblock gezeigt.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL
files wird im Design verwendet>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
im Design verwendet>

3.3.1 Bekannte Probleme (Eine Frage stellen)
Testbench-Problemumgehung
Die Verwendung der folgenden Anweisung zur Angabe der Taktfrequenz in der vom Benutzer generierten Testbench oder der von Libero SoC generierten Standardtestbench funktioniert nicht mit NCSim.
immer @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ändern Sie Folgendes, um die Simulation auszuführen:
immer #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Zusammengestellt Bibliotheken für NCSim sind plattformspezifisch (d. h. 64-Bit-Bibliotheken sind nicht mit der 32-Bit-Plattform kompatibel und umgekehrt).
Postsynth- und Post-Layout-Simulationen mit MSS und SERDES Beim Ausführen von Postsynth-Simulationen von Designs, die den MSS-Block enthalten, oder der Post-Layout-Simulationen von Designs mit SERDES funktionieren die BFM-Simulationen nicht, wenn die Option –libmap aktiviert ist
bei der Ausarbeitung nicht angegeben. Dies liegt daran, dass MSS während der Ausarbeitung aus der Arbeitsbibliothek aufgelöst wird (aufgrund der Standardbindung und der Worklib, die postsynth/post-layout ist), wo es nur eine feste Funktion ist.
Der Befehl ncelab muss wie im folgenden Codeblock gezeigt geschrieben werden, um das MSS aufzulösen
Block aus der vorkompilierten SmartFusion2-Bibliothek.

ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
und die lib.map file muss wie folgt lauten:
config cfg1;
design ;
Standardbibliotheksliste smartfusion2 ;
endconfig
Dadurch werden alle Zellen in der SmartFusion2-Bibliothek aufgelöst, bevor in der Arbeitsbibliothek, d. h. Postsynth/Post-Layout, gesucht wird.
Die Option –libmap kann standardmäßig während der Ausarbeitung für jede Simulation (Presynth, Postsynth und Post-Layout) verwendet werden. Dadurch werden Simulationsprobleme vermieden, die durch die Auflösung von Instanzen aus Bibliotheken verursacht werden.
ncelab: *F,INTERR: INTERNE AUSNAHME
Diese Ausnahme des Ncelab-Tools stellt eine Einschränkung für Designs dar, die FDDR in SmartFusion 2 und IGLOO 2 während Postsynth- und Post-Layout-Simulationen mit der Option –libmap enthalten.
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Dieses Problem wurde dem Cadence-Supportteam gemeldet (SAR 52113).

3.4 Sample Tcl und Shell-Skript FileS (Eine Frage stellen)
Die folgende files sind die Konfiguration fileWird zum Einrichten des Designs und des Shell-Skripts benötigt file zum Ausführen von NCSim-Befehlen.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINIEREN SIE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIEREN presynth ./presynth

Hdl.var
DEFINE WORK presynth
PROJEKTVERZEICHNIS DEFINIEREN /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
Präsynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
Präsynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagAlter
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagAlter
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

3.5 Automatisierung (Eine Frage stellen)
Das folgende Skript file Konvertiert das ModelSim run.do files in die Konfiguration fileWird benötigt, um Simulationen mit NCSim durchzuführen.
Skript File Verwendung
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries

Cadence_parser.pl
#!/usr/bin/perl -w

############################################### ##########################################
##################
#Verwendung: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#

############################################### ##########################################
##################
POSIX verwenden;
Verwenden Sie strenge;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sub questa_parser {
mein $ModelSim_run_do = $_[0];
meine $actel_family = $_[1];
my $lib_location = $_[2];
mein $state;
if ( -e „$ModelSim_run_do“ )
{
offen (INFILE,,$ModelSim_run_do“);
mein @ModelSim_run_do = <INFILE>;
meine $line;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
sich öffnenFILE,,>QUESTA_PRESYNTH/presynth_questa.do“);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
sich öffnenFILE,,>QUESTA_POSTSYNTH/postsynth_questa.do“);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSLAYOUT`;
sich öffnenFILE,,>QUESTA_POSLAYOUT/postlayout_questa.do“);
$state = $1;
} sonst
{
Drucken Sie „Falsche Eingaben an die file\N";
print „#Verwendung: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\“Bibliotheken_Standort\“\n“;
}
foreach $line (@ModelSim_run_do)
{
#Allgemeine Operationen
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ausdruckenFILE „$line \n“;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
ausdruckenFILE „vmap $actel_family \“$lib_location\“\n“;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ausdruckenFILE „$line \n“;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ausdruckenFILE „$line \n“;
} sonst
{
ausdruckenFILE „$line \n“;
}
}
aufholenFILE);
ausschließenFILE);
} anders {
print „$ModelSim_run_do existiert nicht. Simulation erneut ausführen \n“;
}
}

Cadence Xcelium-Setup (Mikrochip-Login)

Sie müssen ein Skript erstellen file Ähnlich wie ModelSim ME/ModelSim Pro ME run.do zum Ausführen des Cadence Xcelium-Simulators. Befolgen Sie diese Schritte und erstellen Sie ein Skript file für Xcelium oder verwenden Sie das Skript file Wird zum Konvertieren von ModelSim ME/ModelSim Pro ME run.do bereitgestellt files in die Konfiguration ein fileWird benötigt, um Simulationen mit Xcelium durchzuführen.
4.1 Umgebungsvariablen (Eine Frage stellen)
Um Cadence Xcelium auszuführen, konfigurieren Sie die folgenden Umgebungsvariablen:

  1. LM_LICENSE_FILE: muss einen Zeiger auf die Lizenz enthalten file.
  2. cds_root: muss auf den Speicherort des Home-Verzeichnisses von Cadence Incisive Installation verweisen.
  3. PFAD: muss auf den bin-Speicherort unter dem Tools-Verzeichnis verweisen, auf das cds_root verweist (d. h.
    $cds_root/tools/bin/64bit (für eine 64-Bit-Maschine und $cds_root/tools/bin für eine 32-Bit-Maschine
    Maschine).

Beim Wechsel zwischen 64-Bit- und 32-Bit-Betriebssystemen gibt es drei Möglichkeiten, die Simulationsumgebung einzurichten:
Fall 1: PATH-Variable
set path = (install_dir/tools/bin/64bit $path) für 64-Bit-Maschinen und
set path = (install_dir/tools/bin $path) für 32-Bit-Maschinen
Fall 2: Verwendung der Befehlszeilenoption -64bit
Geben Sie in der Befehlszeile die Option -64bit an, um die ausführbare 64-Bit-Datei aufzurufen.
Fall 3: Festlegen der Umgebungsvariablen INCA_64BIT oder CDS_AUTO_64BIT
Die INCA_64BIT-Variable wird als boolescher Wert behandelt. Sie können diese Variable auf einen beliebigen Wert oder auf Null setzen
Zeichenfolge.
setenv INCA_64BIT

MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Die Die Umgebungsvariable INCA_64BIT hat keinen Einfluss auf andere Cadence-Tools, wie z. B. IC-Tools. Bei Incisive-Tools überschreibt die Variable INCA_64BIT jedoch die Einstellung für die Umgebungsvariable CDS_AUTO_64BIT. Wenn die Umgebungsvariable INCA_64BIT gesetzt ist, werden alle Incisive-Tools im 64-Bit-Modus ausgeführt.
setenv CDS_AUTO_64BIT INCLUDE:INCA
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Die Die Zeichenfolge INCA muss in Großbuchstaben geschrieben werden. Alle ausführbaren Dateien müssen entweder im 2-Bit-Modus oder im 64-Bit-Modus ausgeführt werden. Stellen Sie die Variable nicht so ein, dass sie eine ausführbare Datei enthält, wie im Folgenden:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
Andere Cadence-Tools, wie z. B. IC-Tools, verwenden ebenfalls die Umgebungsvariable CDS_AUTO_64BIT, um die Auswahl von 32-Bit- oder 64-Bit-ausführbaren Dateien zu steuern. Die folgende Tabelle zeigt, wie Sie die Variable CDS_AUTO_64BIT festlegen können, um die Incisive-Tools und IC-Tools in allen Modi auszuführen.

Tabelle 4-1. CDS_AUTO_64BIT-Variablen

CDS_AUTO_64BIT-Variable Prägnante Werkzeuge IC-Tools
setenv CDS_AUTO_64BIT ALL 64-Bit 64-Bit
setenv CDS_AUTO_64BIT NONE 32-Bit 32-Bit
setenv CDS_AUTO_64BIT
AUSSCHLIEßEN:ic_binary
64-Bit 32-Bit
setenv CDS_AUTO_64BIT EXCLUDE:INCA 32-Bit 64-Bit

MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Alle Incisive-Tools müssen entweder im 32-Bit-Modus oder im 64-Bit-Modus ausgeführt werden. Verwenden Sie EXCLUDE nicht, um eine bestimmte ausführbare Datei auszuschließen, wie im Folgenden:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Wenn Sie die Variable CDS_AUTO_64BIT so festlegen, dass die Incisive-Tools ausgeschlossen werden (setenv
CDS_AUTO_64BIT EXCLUDE:INCA) werden alle Incisive-Tools im 32-Bit-Modus ausgeführt. Allerdings ist die
Die Befehlszeilenoption -64bit überschreibt die Umgebungsvariable.
Die folgende Konfiguration files helfen Ihnen, Ihre Daten zu verwalten und den Betrieb der Simulationstools und Dienstprogramme zu steuern:

  • Bibliothekszuordnung file (cds.lib) definiert einen logischen Namen für den Speicherort Ihres Designs.
  • Bibliotheken und ordnet sie physischen Verzeichnisnamen zu.
  • Variablen file (hdl.var) definiert Variablen, die das Verhalten von Simulationstools und -dienstprogrammen beeinflussen.

4.2 Kompilierte Bibliothek herunterladen (Eine Frage stellen)
Laden Sie die Bibliotheken für Cadence Xcelium von Microsemi herunter webWebsite.
4.3 Erstellen des Xcelium-Skripts file (Eine Frage stellen)
Nachdem Sie eine Kopie von run.do erstellt haben files, führen Sie die folgenden Schritte aus, um Ihre Simulation mit dem Xcelium-Skript auszuführen file.

  1. Erstellen Sie eine cds.lib file Das definiert, welche Bibliotheken zugänglich sind und wo sie sich befinden.
    Der file enthält Anweisungen, die logische Bibliotheksnamen ihren physischen Verzeichnispfaden zuordnen. Zum Beispielample, wenn Sie eine Presynth-Simulation ausführen, die cds.lib file kann wie im folgenden Codeblock gezeigt geschrieben werden.
    DEFINIEREN presynth ./presynth
    DEFINIEREN SIE COREAHBLITE_LIB ./COREAHBLITE_LIB
    DEFINE smartfusion2
  2. Erstellen Sie eine hdl.var file Dies ist eine optionale Konfiguration file enthält Konfigurationsvariablen, die bestimmen, wie Ihre Designumgebung konfiguriert wird. Diese beinhalten:
    – Variablen, die verwendet werden, um die Arbeitsbibliothek anzugeben, in der der Compiler kompilierte Objekte und andere abgeleitete Daten speichert.
    – Für Verilog Variablen (LIB_MAP, VIEW_MAP, WORK), die zur Angabe der Bibliotheken und verwendet werden views zu suchen, wenn der Ersteller Instanzen auflöst.
    – Variablen, mit denen Sie Befehlszeilenoptionen und -argumente für Compiler, Elaborator und Simulator definieren können.
    Im Falle einer Presynth-Simulation, zample oben gezeigt, sagen wir, wir haben 3 RTL files a.v, b.v und testbench.v, die jeweils in die Bibliotheken presynth, COREAHBLITE_LIB und presynth kompiliert werden müssen. Die hdl.var file kann wie im folgenden Codeblock gezeigt geschrieben werden.
    DEFINE WORK presynth
    DEFINE PROJECT_DIR <Speicherort des files>
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
    DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
    DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
  3. Stellen Sie das Design zusammen files verwendet die NCVLOG-Option.
    xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
    ncvlog.log –update –linedebug von testbench.v
  4. Erarbeiten Sie das Design mit ncelab. Der Entwickler erstellt eine Entwurfshierarchie auf der Grundlage der Instanziierungs- und Konfigurationsinformationen im Entwurf, stellt die Signalkonnektivität her und berechnet Anfangswerte für alle Objekte im Entwurf. Die ausgearbeitete Designhierarchie wird in einem Simulations-Snapshot gespeichert. Dabei handelt es sich um die Darstellung Ihres Designs, die der Simulator zum Ausführen der Simulation verwendet.
    Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
    access +rwc –status worklib.:module
    Ausarbeitung während der Post-Layout-Simulation
    Bei Post-Layout-Simulationen zuerst das SDF file muss vor der Ausarbeitung mit dem Befehl ncsdfc kompiliert werden.
    XceliumfileName>.sdf –AusgabefileName>.sdf.X
    Verwenden Sie während der Ausarbeitung die kompilierte SDF-Ausgabe mit der Option –autosdf, wie im folgenden Codeblock gezeigt.
    xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
    15 –access +rwc –status worklib.:module –sdf_cmd_file ./
    sdf_cmd_file
    Der sdf_cmd_file muss wie im folgenden Codeblock gezeigt sein.
    COMPILED_SDF_FILE = „<Speicherort der kompilierten SDF file>”
  5. Simulieren Sie mit Xcelium. Nach der Ausarbeitung wird ein Simulations-Snapshot erstellt, der von Xcelium zur Simulation geladen wird. Dies kann im Batch-Modus oder im GUI-Modus ausgeführt werden.
    xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
    errormax 15 –status worklib.:module
    Cadence Xcelium-Setup
    MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Alle Die oben genannten drei Schritte des Kompilierens, Ausarbeitens und Simulierens können in einem Shell-Skript zusammengefasst werden file und über die Befehlszeile bezogen. Anstatt diese drei Schritte zu verwenden, kann das Design in einem Schritt mit der Option ncverilog oder xrun simuliert werden, wie im folgenden Codeblock gezeigt.
    xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL
    files wird im Design verwendet>
    xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
    im Design verwendet>

4.3.1 Bekannte Probleme (Eine Frage stellen)
Testbench-Problemumgehung
Die Verwendung der folgenden Anweisung zur Angabe der Taktfrequenz in der vom Benutzer generierten Testbench oder der von Libero SoC generierten Standardtestbench funktioniert mit Xcelium nicht.
immer @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
Ändern Sie Folgendes, um die Simulation auszuführen:
immer #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;

MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Kompilierte Bibliotheken für Xcelium sind plattformspezifisch (d. h. 64-Bit-Bibliotheken sind nicht mit der 32-Bit-Plattform kompatibel und umgekehrt).
Postsynth- und Post-Layout-Simulationen mit MSS und SERDES
Beim Ausführen von Postsynth-Simulationen von Designs mit MSS-Block oder Post-Layout-Simulationen von Designs mit SERDES funktionieren die BFM-Simulationen nicht, wenn die Option –libmap während der Ausarbeitung nicht angegeben wird. Dies liegt daran, dass MSS während der Ausarbeitung aus der Arbeitsbibliothek aufgelöst wird (aufgrund der Standardbindung und der Postsynth/Post-Layout-Arbeitsbibliothek), wo es sich lediglich um eine feste Funktion handelt.
Der Befehl ncelab muss wie im folgenden Codeblock gezeigt geschrieben werden, um den MSS-Block aus der vorkompilierten SmartFusion2-Bibliothek aufzulösen.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
und die lib.map file muss wie folgt lauten:
config cfg1;
design ;
Standardbibliotheksliste smartfusion2 ;
endconfig
Dies muss jede Zelle in der SmartFusion2-Bibliothek auflösen, bevor in der Arbeitsbibliothek, d. h. Postsynth/Post-Layout, gesucht wird.
Die Option –libmap kann standardmäßig während der Ausarbeitung für jede Simulation (Presynth, Postsynth und Post-Layout) verwendet werden. Dadurch werden Simulationsprobleme vermieden, die durch die Auflösung von Instanzen aus Bibliotheken verursacht werden.
xmelab: *F,INTERR: INTERNE AUSNAHME
Diese Ncelab-Tool-Ausnahme ist eine Einschränkung für Designs, die FDDR in SmartFusion2 und IGLOO2 enthalten
während Postsynth- und Post-Layout-Simulationen mit der Option –libmap.
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Dieses Problem wurde dem Cadence-Supportteam gemeldet (SAR 52113).

4.4 Sample Tcl und Shell-Skript fileS (Eine Frage stellen)
Die folgende files sind die Konfiguration fileWird zum Einrichten des Designs und des Shell-Skripts benötigt file zum Ausführen von Xcelium-Befehlen.
Cds.lib
DEFINIEREN Sie smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
DEFINIEREN SIE COREAHBLITE_LIB ./COREAHBLITE_LIB
DEFINIEREN presynth ./presynth
Hdl.var
DEFINE WORK presynth
PROJEKTVERZEICHNIS DEFINIEREN /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
Präsynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
Präsynth)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagAlter
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagAlter
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -Message -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -Message -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module

4.5 Automatisierung (Mikrochip-Login)
Das folgende Skript file konvertiert ModelSim run.do files in die Konfiguration fileWird benötigt, um Simulationen mit Xcelium durchzuführen.
Skript File Verwendung
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w

############################################### ##########################################
##################
#Verwendung: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#

############################################### ##########################################
##################
POSIX verwenden;
Verwenden Sie strenge;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);

&questa_parser($postlayout, $family, $lib_location);
sub questa_parser {
mein $ModelSim_run_do = $_[0];
meine $actel_family = $_[1];
my $lib_location = $_[2];
mein $state;
if ( -e „$ModelSim_run_do“ )
{
offen (INFILE,,$ModelSim_run_do“);
mein @ModelSim_run_do = <INFILE>;
meine $line;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
sich öffnenFILE,,>QUESTA_PRESYNTH/presynth_questa.do“);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
sich öffnenFILE,,>QUESTA_POSTSYNTH/postsynth_questa.do“);
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSLAYOUT`;
sich öffnenFILE,,>QUESTA_POSLAYOUT/postlayout_questa.do“);
$state = $1;
} sonst
{
Drucken Sie „Falsche Eingaben an die file\N";
print „#Verwendung: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\“Bibliotheken_Standort\“\n“;
}
foreach $line (@ModelSim_run_do)
{
#Allgemeine Operationen
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#ausdruckenFILE „$line \n“;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
ausdruckenFILE „vmap $actel_family \“$lib_location\“\n“;
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
ausdruckenFILE „$line \n“;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
ausdruckenFILE „$line \n“;
} sonst
{
ausdruckenFILE „$line \n“;
}
}
aufholenFILE);
ausschließenFILE);
} anders {
print „$ModelSim_run_do existiert nicht. Simulation erneut ausführen \n“;
}
}

Siemens QuestaSim-Setup/ModelSim-Setup (Eine Frage stellen)

Das run.do files, die vom Libero SoC für Simulationen mit den ModelSim Microsemi Editions generiert wurden, können mit einer einzigen Änderung für Simulationen mit QuestaSim/ModelSim SE/DE/PE verwendet werden. Im ModelSim ME/ModelSim Pro ME run.do file, muss der Speicherort der vorkompilierten Bibliotheken geändert werden.
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: 
Standardmäßig führen andere Simulationstools als ModelSim Pro ME während der Simulation eine Designoptimierung durch, die sich auf die Sichtbarkeit von Simulationsartefakten wie Designobjekten und Eingabereizen auswirken kann.
Dies ist in der Regel hilfreich, um die Simulationslaufzeit für komplexe Simulationen zu verkürzen, indem ausführliche, selbstprüfende Testbenches verwendet werden. Allerdings sind die Standardoptimierungen möglicherweise nicht für alle Simulationen geeignet, insbesondere in Fällen, in denen Sie die Simulationsergebnisse mithilfe des Wellenfensters grafisch überprüfen möchten.
Um die durch diese Optimierung verursachten Probleme zu beheben, müssen Sie während der Simulation entsprechende Befehle und zugehörige Argumente hinzufügen, um die Sichtbarkeit des Designs wiederherzustellen. Informationen zu werkzeugspezifischen Befehlen finden Sie in der Dokumentation des verwendeten Simulators.

5.1 Umgebungsvariablen (Eine Frage stellen)
Im Folgenden sind die erforderlichen Umgebungsvariablen aufgeführt.

  • LM_LICENSE_FILE: muss den Pfad zur Lizenz enthalten file.
  • MODEL_TECH: muss den Pfad zum Home-Verzeichnis der QuestaSim-Installation angeben.
  • PATH: muss auf den Speicherort der ausführbaren Datei verweisen, auf den durch MODEL_TECH verwiesen wird.

5.2 Konvertieren von run.do für Mentor QuestaSim (Eine Frage stellen)
Das run.do fileVon Libero SoC für Simulationen mit ModelSim Microsemi Editions generierte s können mit einer einzigen Änderung für Simulationen mit QuestaSim/ModelSim_SE verwendet werden.
MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Alle Die Designs, die mit QuestaSim simuliert werden, müssen -novopt enthalten
Option zusammen mit dem Befehl vsim im run.do-Skript files.
5.3 Laden Sie die kompilierte Bibliothek herunter (Eine Frage stellen)
Laden Sie die Bibliotheken für Mentor Graphics QuestaSim von Microsemi herunter webWebsite.

Synopsys VCS-Setup (Eine Frage stellen)

Der von Microsemi empfohlene Ablauf basiert auf dem Elaborate- und Compile-Ablauf in VCS. Dieses Dokument enthält ein Skript file das das run.do-Skript verwendet fileWird vom Libero SoC generiert und generiert das Setup fileWird für die VCS-Simulation benötigt. Das Drehbuch file verwendet run.do file um Folgendes zu tun.

  • Erstellen Sie eine Bibliothekszuordnung file, was mit synopsys_sim.setup erfolgt file befindet sich im selben Verzeichnis, in dem die VCS-Simulation ausgeführt wird.
  • Erstellen Sie ein Shell-Skript file um Ihr Design mit VCS auszuarbeiten und zu kompilieren.

6.1 Umgebungsvariablen (Eine Frage stellen)
Legen Sie basierend auf Ihrem Setup die entsprechenden Umgebungsvariablen für VCS fest. Die gemäß der VCS-Dokumentation benötigten Umgebungsvariablen sind:

  • LM_LICENSE_FILE: muss einen Zeiger auf den Lizenzserver enthalten.
  • VCS_HOME: muss auf den Speicherort des Home-Verzeichnisses der VCS-Installation verweisen.
  • PATH: muss einen Zeiger auf das bin-Verzeichnis unterhalb des VCS_HOME-Verzeichnisses enthalten.

6.2 Kompilierte Bibliothek herunterladen (Eine Frage stellen)
Laden Sie die Bibliotheken für Synopsys VCS von Microsemi herunter webWebsite.
6.3 VCS-Simulationsskript File (Eine Frage stellen)
Nach dem Einrichten von VCS und dem Generieren des Designs und der verschiedenen run.do files von Libero SoC müssen Sie:

  1. Erstellen Sie die Bibliothekszuordnung file synopsys_sim.setup; Das file enthält Zeiger auf den Speicherort aller Bibliotheken, die vom Design verwendet werden sollen.
    MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol  Wichtig: Die file Der Name darf sich nicht ändern und er muss sich im selben Verzeichnis befinden, in dem die Simulation ausgeführt wird. Hier ist ein Example für so einen file zur Vorsynthesesimulation.
    ARBEIT > EFAULT
    SmartFusion2:
    präsynth : ./presynth
    STANDARD: ./work
  2. Erarbeiten Sie das unterschiedliche Design files, einschließlich der Testbench, mithilfe des vlogan-Befehls in VCS. Diese Befehle können in einem Shell-Skript enthalten sein file. Es folgt ein ExampDatei der Befehle, die erforderlich sind, um ein in rtl.v definiertes Design mit seiner in definierten Testbench auszuarbeiten
    testbench.v.
    vlogan +v2k -work presynth rtl.v
    vlogan +v2k -work presynth testbench.v
  3. Kompilieren Sie das Design mit VCS mit dem folgenden Befehl.
    vcs –sim_res=1fs presynth.testbench
    Beachten Sie das Für eine korrekte Funktionssimulation muss die zeitliche Auflösung der Simulation auf 1fs eingestellt werden.
  4. Sobald das Design kompiliert ist, starten Sie die Simulation mit dem folgenden Befehl.
    ./simv
  5. Für eine Back-Annotated-Simulation muss der VCS-Befehl wie im folgenden Codeblock dargestellt sein.
    vcs postlayout.testbench –sim_res=1fs –sdf max:.<DUT-Instanz
    Name>:<sdf file Pfad> –gui –l postlayout.log

6.4 Einschränkungen/Ausnahmen (Eine Frage stellen)
Im Folgenden sind die Einschränkungen/Ausnahmen des Synopsys VCS-Setups aufgeführt.

  • VCS-Simulationen können nur für Verilog-Projekte von Libero SoC ausgeführt werden. Für den VCS-Simulator gelten strenge VHDL-Sprachanforderungen, die vom automatisch generierten VHDL des Libero SoC nicht erfüllt werden files.
  • Sie benötigen eine $finish-Anweisung in der Verilog-Testbench, um die Simulation jederzeit zu stoppen.
    MICROCHIP Libero SoC-Simulationsbibliothekssoftware – Symbol Wichtig: Wann Simulationen werden im GUI-Modus ausgeführt, die Laufzeit kann in der GUI angegeben werden.

6.5 Sample Tcl und Shell-Skript FileS (Eine Frage stellen)
Das folgende Perl automatisiert die Generierung des synopsys_sim.setup file sowie das entsprechende Shell-Skript fileEs wird benötigt, um den Entwurf auszuarbeiten, zu kompilieren und zu simulieren.
Wenn das Design ein MSS verwendet, kopieren Sie test.vec file befindet sich im Simulationsordner des Libero SoC-Projekts im VCS-Simulationsordner. Die folgenden Abschnitte enthalten sample run.do files werden von Libero SoC generiert, einschließlich der entsprechenden Bibliothekszuordnung und des Shell-Skripts fileWird für die VCS-Simulation benötigt.
6.5.1 Vorsynthese (Eine Frage stellen)
Presynth_run.do
Stellen Sie ACTELLIBNAME SmartFusion2 leise ein
Setzen Sie PROJECT_DIR leise auf „/sqa/users/me/VCS_Tests/Test_DFF“.
Wenn {[file existiert presynth/_info]} {
echo „INFO: Simulationsbibliothek presynth existiert bereits“
} anders {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth „${PROJECT_DIR}/component/work/SD1/SD1.v“
vlog „+incdir+${PROJECT_DIR}/stimulus“ -work presynth „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
Welle hinzufügen /SD1_TB1/*
log hinzufügen -r /*
1000 ns laufen lassen
presynth_main.csh
#!/bin/csh -f
set PROJECT_DIR = „/sqa/users/Me/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth „${PROJECT_DIR}/component/
work/SD1/SD1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -work
presynth „${PROJECT_DIR}/stimulus/SD1_TB1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l Compile.log
./simv -l run.log
Synopsys_sim.setup
ARBEIT > STANDARD
SmartFusion2: /VCS/SmartFusion2
präsynth : ./presynth
STANDARD: ./work

6.5.2 Postsynthese (Eine Frage stellen)
postsynth_run.do
Stellen Sie ACTELLIBNAME SmartFusion2 leise ein
Legen Sie PROJECT_DIR stillschweigend auf „/sqa/users/Me/VCS_Tests/Test_DFF“ fest.
Wenn {[file existiert postsynth/_info]} {
echo „INFO: Simulationsbibliothek postsynth existiert bereits“
} anders {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2“
vlog -work postsynth „${PROJECT_DIR}/synthesize/SD1.v“
vlog „+incdir+${PROJECT_DIR}/stimulus“ -work postsynth „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
Welle hinzufügen /SD1_TB1/*
log hinzufügen -r /*
1000 ns laufen lassen
log SD1_TB1/*
Ausfahrt
Postsynth_main.csh
#!/bin/csh -f
set PROJECT_DIR = „/sqa/users/Me/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth „${PROJECT_DIR}/synthesize/
SD1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -work
postsynth „${PROJECT_DIR}/stimulus/SD1_TB1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l Compile.log
./simv -l run.log
Synopsys_sim.setup
ARBEIT > STANDARD
SmartFusion2: /VCS/SmartFusion2
Postsynth: ./postsynth
STANDARD: ./work
6.5.3 Post-Layout (Eine Frage stellen)
postlayout_run.do
Stellen Sie ACTELLIBNAME SmartFusion2 leise ein
Setzen Sie PROJECT_DIR leise auf „E:/ModelSim_Work/Test_DFF“.
Wenn {[file existiert ../designer/SD1/simulation/postlayout/_info]} {
echo „INFO: Simulationsbibliothek ../designer/SD1/simulation/postlayout existiert bereits“
} anders {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2“
vlog -work postlayout „${PROJECT_DIR}/designer/SD1/SD1_ba.v“
vlog „+incdir+${PROJECT_DIR}/stimulus“ -work postlayout „${PROJECT_DIR}/stimulus/SD1_TB1.v“
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
Welle hinzufügen /SD1_TB1/*
log hinzufügen -r /*
1000 ns laufen lassen
Postlayout_main.csh
#!/bin/csh -f
set PROJECT_DIR = „/VCS_Tests/Test_DFF“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout „${PROJECT_DIR}/
designer/SD1/SD1_ba.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k „+incdir+${PROJECT_DIR}/stimulus“ -work
Postlayout „${PROJECT_DIR}/stimulus/SD1_TB1.v“
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf

max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
ARBEIT > STANDARD
SmartFusion2: /VCS/SmartFusion2
Postlayout: ./postlayout
STANDARD: ./workVCS
6.6 Automatisierung (Eine Frage stellen)
Der Ablauf kann mit dem folgenden Perl-Skript automatisiert werden file um das ModelSim run.do zu konvertieren files in ein VCS-kompatibles Shell-Skript files, erstellen Sie die richtigen Verzeichnisse im Libero SoC-Simulationsverzeichnis und führen Sie dann die Simulationen aus.
Führen Sie das Skript aus file unter Verwendung der folgenden Syntax.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################### ###########################
#
#Verwendung: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
############################################### ############################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(system(“mkdir VCS_Presynth”)) {print „mkdir failed:\n“;}
if(system(“mkdir VCS_Postsynth”)) {print „mkdir failed:\n“;}
if(system(“mkdir VCS_Postlayout”)) {print „mkdir failed:\n“;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,“presynth“);
chdir („“../“);
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,“postsynth“);
chdir („“../“);
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,“postlayout“);
chdir („“../“);
sub parse_do {
my $vlog = „/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k“ ;
mein %LIB = ();
mein $file = $_[0] ;
mein $state = $_[1];
öffnen(INFILE,,$file”) || sterben „Kann nicht geöffnet werden File Der Grund könnte sein:$!“;
if ( $state eq „presynth“ )
{
open(OUT1,“>presynth_main.csh“) || sterben „Befehl kann nicht erstellt werden File Der Grund könnte sein:$!“;
}
elsif ( $state eq „postsynth“ )
{
open(OUT1,“>postsynth_main.csh“) || sterben „Befehl kann nicht erstellt werden File Der Grund könnte sein:$!“;
}
elsif ( $state eq „postlayout“ )
{
open(OUT1,“>postlayout_main.csh“) || sterben „Befehl kann nicht erstellt werden File Der Grund könnte sein:$!“;
}
anders
{
print „Simulationsstatus fehlt \n“ ;
}
open(OUT2,“>synopsys_sim.setup“) || sterben „Befehl kann nicht erstellt werden File Der Grund könnte sein:$!“;
# .csh file
print OUT1 „#!/bin/csh -f\n\n\n“ ;
#AUFSTELLEN FILE
print OUT2 „WORK > DEFAULT\n“ ;
print OUT2 „SmartFusion2: /sqa/users/Aditya/VCS/SmartFusion2\n“;
while ($line =FILE>)
{

Synopsys VCS-Setup

if ($line =~ m/quietly set PROJECT_DIR\s+\“(.*?)\“/)
{
print OUT1 „set PROJECT_DIR = \“$1\“\n\n\n“ ;
}
elsif ( $line =~ m/vlog.*\.v\“/ )
{
if ($line =~ m/\s+(\w*?)\_LIB/)
{
#print „\$1 =$1 \n“ ;
$temp = „$1″.“_LIB“;
#print „Temp = $temp \n“ ;
$LIB{$temp}++;
}
chomp($Zeile);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
print OUT1 „$line\n“;
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print „TB-Name: $tb \n“;
if ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($Zeile);
$line = $1 ;
#print „ZEILE : $line \n“ ;
if ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
print OUT1 „\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n“ ;
}
elsif ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
print OUT1 „\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n“ ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
print OUT1 „\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n“ ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf – ModelSim SDF-Format
#$sdf = „-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf“; -VCS
SDF-Format
}
}
}
drucken
OUT1 „\n\n“
;
if
( $state eq „presynth“
)
{
drucken
OUT2 „presynth
: ./presynth\n“
;
drucken
OUT1 „/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
„compile.log\n“
;
}
elsif
( $state eq „postsynth“
)
{
drucken
OUT2 „postsynth
: ./postsynth\n“
;
drucken
OUT1 „/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
„compile.log\n“
;
}
elsif
( $state eq „postlayout“
)
{
print OUT2 „postlayout : ./postlayout\n“ ;
}
anders
{
print „Simulationsstatus fehlt \n“ ;
}
foreach $i ( Schlüssel %LIB)
{
#print „Schlüssel: $i Wert: $LIB{$i} \n“ ;
print OUT2 „$i : ./$i\n“ ;
}
print OUT1 „\n\n“ ;
print OUT1 „./simv -l run.log\n“ ;
print OUT2 „DEFAULT: ./work\n“;
aufholenFILE;
OUT1 schließen;
OUT2 schließen;
}

Revisionsverlauf (Mikrochip-Login

Der Revisionsverlauf beschreibt die Änderungen, die im Dokument vorgenommen wurden. Die Veränderungen
werden nach Revision aufgelistet, beginnend mit der aktuellsten Veröffentlichung.

Revision Datum Beschreibung
A 12/2023 Die folgenden Änderungen werden in dieser Revision vorgenommen:
• Dokument in Microchip-Vorlage konvertiert. Erste Überarbeitung.
• Abschnitt 5. Siemens QuestaSim Setup/ModelSim Setup aktualisiert, um einen neuen Hinweis aufzunehmen, der die Auswirkungen auf die Sichtbarkeit während der Simulation und Optimierung erläutert.

Microchip FPGA-Unterstützung
Die Microchip FPGA-Produktgruppe unterstützt ihre Produkte mit verschiedenen Support-Services, darunter Kundendienst, technisches Kunden-Support-Center, a webStandort und weltweite Vertriebsbüros.
Kunden wird empfohlen, die Online-Ressourcen von Microchip zu besuchen, bevor sie den Support kontaktieren, da ihre Fragen höchstwahrscheinlich bereits beantwortet wurden.
Wenden Sie sich über das Technical Support Center an webSeite unter www.microchip.com/support. Geben Sie die Teilenummer des FPGA-Geräts an, wählen Sie die entsprechende Gehäusekategorie aus und laden Sie das Design hoch files beim Erstellen eines technischen Support-Falls.
Wenden Sie sich für nicht technischen Produktsupport an den Kundendienst, z. B. Produktpreise, Produkt-Upgrades, Aktualisierungsinformationen, Bestellstatus und Autorisierung.

  • Rufen Sie aus Nordamerika die Nummer 800.262.1060 an.
  • Aus dem Rest der Welt rufen Sie 650.318.4460 an
  • Fax, von überall auf der Welt, 650.318.8044

Mikrochip-Informationen
Der Mikrochip WebWebsite
Microchip bietet Online-Support über unsere webSeite unter www.microchip.com/. Das webWebsite wird verwendet, um files und Informationen für Kunden leicht zugänglich. Einige der verfügbaren Inhalte umfassen:

  • Produktsupport – Datenblätter und Errata, Anwendungshinweise und sampDateiprogramme, Designressourcen, Benutzerhandbücher und Hardware-Supportdokumente, neueste Softwareversionen und archivierte Software
  • Allgemeiner technischer Support – Häufig gestellte Fragen (FAQs), Anfragen zum technischen Support, Online-Diskussionsgruppen, Mitgliederliste des Microchip-Designpartnerprogramms
  • Geschäft von Microchip – Produktauswahl- und Bestellleitfäden, neueste Pressemitteilungen von Microchip, Auflistung von Seminaren und Veranstaltungen, Auflistung von Microchip-Vertriebsbüros, Distributoren und Fabrikvertretern

Benachrichtigungsservice für Produktänderungen
Der Benachrichtigungsservice für Produktänderungen von Microchip hilft Kunden, die Produkte von Microchip auf dem Laufenden zu halten. Abonnenten erhalten E-Mail-Benachrichtigungen, wenn Änderungen, Aktualisierungen, Überarbeitungen oder Errata in Bezug auf eine bestimmte Produktfamilie oder ein Entwicklungstool von Interesse vorliegen.
Um sich zu registrieren, gehen Sie zu www.microchip.com/pcn und befolgen Sie die Registrierungsanweisungen.
Kundenservice
Benutzer von Microchip-Produkten können über mehrere Kanäle Unterstützung erhalten:

  • Vertriebshändler oder Vertreter
  • Lokales Verkaufsbüro
  • Ingenieur für eingebettete Lösungen (ESE)
  • Technische Unterstützung

Kunden sollten sich für Unterstützung an ihren Händler, Vertreter oder ESE wenden. Lokale Verkaufsbüros stehen den Kunden ebenfalls zur Verfügung. Eine Liste der Verkaufsbüros und Standorte finden Sie in diesem Dokument.
Technischen Support erhalten Sie über die webWebsite unter: www.microchip.com/support
Codeschutzfunktion von Microchip Devices
Beachten Sie die folgenden Details zur Codeschutzfunktion bei Microchip-Produkten:

  • Mikrochipprodukte erfüllen die in ihrem jeweiligen Mikrochip-Datenblatt enthaltenen Spezifikationen.
  • Microchip ist davon überzeugt, dass seine Produktfamilie sicher ist, wenn sie bestimmungsgemäß, innerhalb der Betriebsspezifikationen und unter normalen Bedingungen verwendet wird.
  • Microchip schätzt und schützt seine geistigen Eigentumsrechte aggressiv. Versuche, die Codeschutzfunktionen von Microchip-Produkten zu verletzen, sind streng verboten und können gegen das Digital Millennium Copyright Act verstoßen.
  • Weder Microchip noch ein anderer Halbleiterhersteller können die Sicherheit seines Codes garantieren. Code-Schutz bedeutet nicht, dass wir garantieren, dass das Produkt „unzerbrechlich“ ist.
    Der Codeschutz entwickelt sich ständig weiter. Microchip ist bestrebt, die Codeschutzfunktionen unserer Produkte kontinuierlich zu verbessern.

Rechtliche Hinweise
Diese Veröffentlichung und die darin enthaltenen Informationen dürfen nur mit Microchip-Produkten verwendet werden, einschließlich zum Entwerfen, Testen und Integrieren von Microchip-Produkten in Ihre Anwendung. Die Verwendung dieser Informationen auf andere Weise verstößt gegen diese Bedingungen. Informationen zu Geräteanwendungen werden nur zu Ihrer Bequemlichkeit bereitgestellt und können durch Updates ersetzt werden. Es liegt in Ihrer Verantwortung sicherzustellen, dass Ihre Anwendung Ihren Spezifikationen entspricht. Wenden Sie sich an Ihr lokales Microchip-Vertriebsbüro, um weitere Unterstützung zu erhalten, oder erhalten Sie zusätzliche Unterstützung unter www.microchip.com/en-us/support/design-help/client-support-services.
DIESE INFORMATIONEN WERDEN VON MICROCHIP „WIE BESEHEN“ BEREITGESTELLT. MICROCHIP GIBT KEINE ZUSICHERUNGEN ODER GARANTIEN JEGLICHER ART, WEDER AUSDRÜCKLICH NOCH STILLSCHWEIGEND, SCHRIFTLICH ODER MÜNDLICH, GESETZLICH ODER ANDERWEITIG, IN BEZUG AUF DIE INFORMATIONEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF STILLSCHWEIGENDE GARANTIEN DER NICHTVERLETZUNG, MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK ODER GARANTIEN IN BEZUG AUF IHREN ZUSTAND, IHRE QUALITÄT ODER LEISTUNG.
MICROCHIP HAFTET IN KEINEM FALL FÜR INDIREKTE, SPEZIELLE, STRAFENDE, ZUFÄLLIGE ODER FOLGESCHÄDEN, VERLUSTE, SCHÄDEN, KOSTEN ODER AUFWENDUNGEN JEGLICHER ART IM ZUSAMMENHANG MIT DEN INFORMATIONEN ODER IHRER VERWENDUNG, UNGEACHTET DEREN URSACHE, SELBST WENN MICROCHIP AUF DIE MÖGLICHKEIT HINGEWIESEN WURDE ODER DIE SCHÄDEN VORHERSEHBAR SIND. SOWEIT GESETZLICH ZULÄSSIG, ÜBERSTEIGT DIE GESAMTHAFTUNG VON MICROCHIP FÜR ALLE ANSPRÜCHE, DIE IN IRGENDEINER WEISE MIT DEN INFORMATIONEN ODER IHRER VERWENDUNG ZUSAMMENHÄNGEN, NICHT DEN SUMMEN DER GEBÜHREN, DIE SIE GEGEBENENFALLS DIREKT AN MICROCHIP FÜR DIE INFORMATIONEN BEZAHLT HABEN.
Die Verwendung von Microchip-Geräten in lebenserhaltenden und/oder sicherheitsrelevanten Anwendungen erfolgt ausschließlich auf Risiko des Käufers. Der Käufer verpflichtet sich, Microchip von allen Schäden, Ansprüchen, Klagen oder Kosten freizustellen, die sich aus einer solchen Verwendung ergeben. Sofern nicht anders angegeben, werden keine Lizenzen im Rahmen der geistigen Eigentumsrechte von Microchip übertragen, weder implizit noch anderweitig.
Handelsmarken
Der Name und das Logo von Microchip, das Microchip-Logo, Adaptec, AVR, AVR-Logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi-Logo, MOST, MOST-Logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32-Logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST-Logo, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron und XMEGA sind eingetragene Marken von Microchip Technology Incorporated in den USA und anderen Ländern.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus-Logo, QuietWire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime und ZL sind eingetragene Warenzeichen von Microchip Technology Incorporated in den USA
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB-zertifiziertes Logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect und ZENA sind Marken von Microchip Technology Incorporated
in den USA und anderen Ländern.
SQTP ist eine Dienstleistungsmarke von Microchip Technology Incorporated in den USA
Das Adaptec-Logo, Frequency on Demand, Silicon Storage Technology und Symmcom sind eingetragene Warenzeichen von Microchip Technology Inc. in anderen Ländern.
GestIC ist in anderen Ländern eine eingetragene Marke der Microchip Technology Germany II GmbH & Co. KG, einer Tochtergesellschaft der Microchip Technology Inc.
Alle anderen hier erwähnten Marken sind Eigentum der jeweiligen Unternehmen.
© 2023, Microchip Technology Incorporated und seine Tochtergesellschaften. Alle Rechte vorbehalten.
ISBN: 978-1-6683-3694-6
Qualitätsmanagementsystem
Informationen zu den Qualitätsmanagementsystemen von Microchip finden Sie unter www.microchip.com/quality.

AMERIKA ASIEN/PAZIFIK ASIEN/PAZIFIK EUROPA
Firmensitz
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technische Unterstützung:
www.microchip.com/support
Web Adresse:
www.microchip.com
Atlanta
Duluth, Georgia
Tel: 678-957-9614
Fax: 678-957-1455
Austin, Texas
Tel: 512-257-3370
Boston
Westborough, Massachusetts
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, Illinois
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Novi, Michigan
Tel: 248-848-4000
Houston, Texas (Bundesstaat)
Tel: 281-894-5983
Indianapolis
Noblesville, Indiana
Tel: 317-773-8323
Fax: 317-773-5453
Tel: 317-536-2380
Los Angeles
Mission Viejo, Kalifornien
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
Raleigh, North Carolina
Tel: 919-844-7510
New York, NY
Tel: 631-435-6000
San Jose, Kalifornien
Tel: 408-735-9110
Tel: 408-436-4270
Kanada – Toronto
Tel: 905-695-1980
Fax: 905-695-2078
Australien – Sydney
Tel: 61-2-9868-6733
China – Peking
Tel: 86-10-8569-7000
China – Chengdu
Tel: 86-28-8665-5511
China – Chongqing
Tel: 86-23-8980-9588
China – Dongguan
Tel: 86-769-8702-9880
China – Guangzhou
Tel: 86-20-8755-8029
China – Hangzhou
Tel: 86-571-8792-8115
China – Sonderverwaltungszone Hongkong
Tel: 852-2943-5100
China – Nanjing
Tel: 86-25-8473-2460
China – Qingdao
Tel: 86-532-8502-7355
China – Shanghai
Tel: 86-21-3326-8000
China – Shenyang
Tel: 86-24-2334-2829
China – Shenzhen
Tel: 86-755-8864-2200
China – Suzhou
Tel: 86-186-6233-1526
China – Wuhan
Tel: 86-27-5980-5300
China – Xi’an
Tel: 86-29-8833-7252
China – Xiamen
Tel: 86-592-2388138
China – Zhuhai
Tel: 86-756-3210040
Indien – Bangalore
Tel: 91-80-3090-4444
Indien – Neu-Delhi
Tel: 91-11-4160-8631
Indien – Pune
Tel: 91-20-4121-0141
Japan – Ōsaka
Tel: 81-6-6152-7160
Japan – Tokio
Tel: 81-3-6880-3770
Korea – Daegu
Tel: 82-53-744-4301
Korea – Seoul
Tel: 82-2-554-7200
Malaysia - Kuala Lumpur
Tel: 60-3-7651-7906
Malaysia – Penang
Tel: 60-4-227-8870
Philippinen – Manila
Tel: 63-2-634-9065
Singapur
Tel: 65-6334-8870
Taiwan – Hsin Chu
Tel: 886-3-577-8366
Taiwan – Kaohsiung
Tel: 886-7-213-7830
Taiwan – Taipeh
Tel: 886-2-2508-8600
Thailand – Bangkok
Tel: 66-2-694-1351
Vietnam – Ho Chi Minh
Tel: 84-28-5448-2100
Österreich – Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Dänemark – Kopenhagen
Tel: 45-4485-5910
Fax: 45-4485-2829
Finnland – Espoo
Tel: 358-9-4520-820
Frankreich – Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Deutschland – Garching
Tel: 49-8931-9700
Deutschland – Haan
Tel: 49-2129-3766400
Deutschland – Heilbronn
Tel: 49-7131-72400
Deutschland – Karlsruhe
Tel: 49-721-625370
Deutschland – München
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Deutschland – Rosenheim
Tel: 49-8031-354-560
Israel – Ra’anana
Tel: 972-9-744-7705
Italien – Mailand
Tel: 39-0331-742611
Fax: 39-0331-466781
Italien – Padua
Tel: 39-049-7625286
Niederlande – Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Norwegen – Trondheim
Tel: 47-72884388
Polen – Warschau
Tel: 48-22-3325737
Rumänien – Bukarest
Tel: 40-21-407-87-50
Spanien – Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
Schweden – Göteborg
Tel: 46-31-704-60-40
Schweden – Stockholm
Tel: 46-8-5090-4654
Großbritannien – Wokingham
Tel: 44-118-921-5800
Fax: 44-118-921-5820

MICROCHIP-Logo© 2023 Microchip Technology Inc. und seine Tochtergesellschaften
DS50003627A –

Dokumente / Ressourcen

MICROCHIP Libero SoC-Simulationsbibliothekssoftware [pdf] Benutzerhandbuch
DS50003627A, Libero SoC-Simulationsbibliothekssoftware, SoC-Simulationsbibliothekssoftware, Simulationsbibliothekssoftware, Bibliothekssoftware, Software

Verweise

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind markiert *