PolarFire Family FPGA Custom Flow-Benutzerhandbuch
Libero SoC v2024.2
Einführung (Eine Frage stellen)
Die Libero System-on-Chip (SoC)-Software bietet eine vollständig integrierte FPGA-Designumgebung (Field Programmable Gate Array). Einige Benutzer möchten jedoch möglicherweise Synthese- und Simulationstools von Drittanbietern außerhalb der Libero-SoC-Umgebung nutzen. Libero kann nun in die FPGA-Designumgebung integriert werden. Es wird empfohlen, Libero SoC für die Verwaltung des gesamten FPGA-Designflusses zu verwenden.
Dieses Benutzerhandbuch beschreibt den Custom Flow für Geräte der PolarFire- und PolarFire-SoC-Familie, einen Prozess zur Integration von Libero in den größeren FPGA-Design-Flow. Unterstützte Gerätefamilien® Die folgende Tabelle listet die von Libero SoC unterstützten Gerätefamilien auf. Einige Informationen in diesem Handbuch gelten jedoch möglicherweise nur für eine bestimmte Gerätefamilie. In diesem Fall sind diese Informationen deutlich gekennzeichnet.
Tabelle 1. Von Libero SoC unterstützte Gerätefamilien
Gerätefamilie | Beschreibung |
PolarFire® | PolarFire-FPGAs bieten den branchenweit niedrigsten Stromverbrauch bei mittleren Dichten und außergewöhnlicher Sicherheit und Zuverlässigkeit. |
PolarFire-SoC | PolarFire SoC ist das erste SoC-FPGA mit einem deterministischen, kohärenten RISC-V-CPU-Cluster und einem deterministischen L2-Speichersubsystem, das Linux® und Echtzeitanwendungen ermöglicht. |
Überview (Eine Frage stellen)
Libero SoC bietet eine vollständig integrierte End-to-End-Designumgebung für die Entwicklung von SoC- und FPGA-Designs und bietet gleichzeitig die Flexibilität, Synthese und Simulation mit Drittanbieter-Tools außerhalb der Libero SoC-Umgebung durchzuführen. Einige Designschritte müssen jedoch innerhalb der Libero SoC-Umgebung verbleiben.
Die folgende Tabelle listet die wichtigsten Schritte im FPGA-Designfluss auf und gibt an, für welche Schritte Libero SoC verwendet werden muss.
Tabelle 1-1. FPGA-Designablauf
Entwurfsablaufschritt | Muss Libero verwenden | Beschreibung |
Designeintrag: HDL | NEIN | Verwenden Sie bei Bedarf ein HDL-Editor-/Checker-Tool eines Drittanbieters außerhalb von Libero® SoC. |
Design-Einstieg: Konfiguratoren | Ja | Erstellen Sie das erste Libero-Projekt zur Generierung der IP-Katalog-Kernkomponenten. |
Automatische Generierung von PDC/SDC-Einschränkungen | NEIN | Abgeleitete Einschränkungen benötigen alle HDL files und ein Dienstprogramm „derive_constraints“, wenn es außerhalb von Libero SoC ausgeführt wird, wie in Anhang C – „Derive Constraints“ beschrieben. |
Simulation | NEIN | Verwenden Sie bei Bedarf Drittanbieter-Tools außerhalb des Libero-SoC. Erfordert den Download vorkompilierter Simulationsbibliotheken für das Zielgerät, den Zielsimulator und die für die Backend-Implementierung verwendete Libero-Zielversion. |
Synthese | NEIN | Verwenden Sie bei Bedarf Drittanbietertools außerhalb des Libero SoC. |
Design-Implementierung: Constraints verwalten, Netzliste kompilieren, Place-and-Route (siehe Overview) | Ja | Erstellen Sie ein zweites Libero-Projekt für die Backend-Implementierung. |
Timing- und Leistungsprüfung | Ja | Bleiben Sie im zweiten Libero-Projekt. |
Konfigurieren von Design-Initialisierungsdaten und -Speichern | Ja | Verwenden Sie dieses Tool, um verschiedene Speichertypen zu verwalten und die Initialisierung im Gerät zu entwerfen. Bleiben Sie im zweiten Projekt. |
Programmierung File Generation | Ja | Bleiben Sie im zweiten Projekt. |
Wichtig: Sie müssen vorkompilierte Bibliotheken herunterladen, die auf der Vorkompilierte Simulationsbibliotheken Seite zur Verwendung eines Drittanbieter-Simulators.
Geben Sie in einem reinen Fabric-FPGA-Flow Ihr Design mit HDL oder schematischer Eingabe ein und übergeben Sie es direkt
zu den Synthese-Tools. Der Flow wird weiterhin unterstützt. PolarFire und PolarFire SoC FPGAs haben signifikante
proprietäre Hard-IP-Blöcke, die die Verwendung von Konfigurationskernen (SgCores) aus dem Libero SoC IP erfordern
Katalog. Für alle Blöcke, die SoC-Funktionalität umfassen, ist eine besondere Behandlung erforderlich:
- PolarFire
– PF_UPROM
– PF_SYSTEM_SERVICES
– PF_CCC
– PF CLK DIV
– PF_CRYPTO
– PF_DRI
– PF_INIT_MONITOR
– PF_NGMUX
– PF_OSC
– RAMs (TPSRAM, DPSRAM, URAM)
– PF_SRAM_AHBL_AXI
– PF_XCVR_ERM
– PF_XCVR_REF_CLK
– PF_TX_PLL
– PF_PCIE
– PF_IO
– PF_IOD_CDR
– PF_IOD_CDR_CCC
– PF_IOD_GENERIC_RX
– PF_IOD_GENERIC_TX
– PF_IOD_GENERIC_TX_CCC
– PF_RGMII_TO_GMII
– PF_IOD_OCTAL_DDR
– PF_DDR3
– PF_DDR4
– PF_LPDDR3
– PF_QDR
– PF_CORESMARTBERT
– PF_TAMPER
– PF_TVS usw.
Zusätzlich zu den zuvor aufgeführten SgCores sind im Libero SoC-Katalog viele DirectCore-Soft-IPs für die Gerätefamilien PolarFire und PolarFire SoC verfügbar, die die FPGA-Fabric-Ressourcen verwenden.
Wenn Sie eine der oben genannten Komponenten für den Designeintrag verwenden, müssen Sie Libero SoC für einen Teil des Designeintrags (Komponentenkonfiguration) verwenden. Den Rest Ihres Designeintrags (HDL-Eintrag usw.) können Sie jedoch außerhalb von Libero fortsetzen. Um den FPGA-Designfluss außerhalb von Libero zu verwalten, befolgen Sie die Schritte im Rest dieses Handbuchs.
1.1 Komponentenlebenszyklus (Eine Frage stellen)
Die folgenden Schritte beschreiben den Lebenszyklus einer SoC-Komponente und geben Anweisungen zum Umgang mit den Daten.
- Generieren Sie die Komponente mithilfe ihres Konfigurators in Libero SoC. Dadurch werden die folgenden Datentypen generiert:
– HDL files
- Erinnerung files
– Stimulus und Simulation files
– Komponente SDC file - Für HDL files, instanziieren und integrieren Sie sie mithilfe des externen Designeingabetools/-prozesses in den Rest des HDL-Designs.
- Speicher liefern files und Reiz files zu Ihrem Simulationstool.
- Versorgungskomponente SDC file Zum Ableiten von Einschränkungen zur Generierung von Einschränkungen. Weitere Informationen finden Sie in Anhang C – „Ableiten von Einschränkungen“.
- Sie müssen ein zweites Libero-Projekt erstellen, in das Sie die Post-Synthesis-Netzliste und Ihre Komponentenmetadaten importieren und so die Verbindung zwischen dem, was Sie generiert haben, und dem, was Sie programmieren, herstellen.
1.2 Libero SoC-Projekterstellung (Eine Frage stellen)
Einige Designschritte müssen innerhalb der Libero-SoC-Umgebung ausgeführt werden (Tabelle 1-1). Dazu müssen Sie zwei Libero-SoC-Projekte erstellen. Das erste Projekt dient der Konfiguration und Generierung der Designkomponenten, das zweite der physischen Implementierung des Top-Level-Designs.
1.3 Benutzerdefinierter Ablauf (Eine Frage stellen)
Die folgende Abbildung zeigt:
- Libero SoC kann als Teil des größeren FPGA-Designflusses mit den Synthese- und Simulationstools von Drittanbietern außerhalb der Libero SoC-Umgebung integriert werden.
- Der Ablauf umfasst verschiedene Schritte, angefangen von der Designerstellung und dem Zusammenfügen bis hin zur Programmierung des Geräts.
- Der Datenaustausch (Eingaben und Ausgaben), der bei jedem Entwurfsflussschritt erfolgen muss.
Tipp:
- SNVM.cfg, UPROM.cfg
- *.mem file Generierung für Simulation: pa4rtupromgen.exe verwendet UPROM.cfg als Eingabe und generiert UPROM.mem.
Im Folgenden sind die Schritte im benutzerdefinierten Ablauf aufgeführt:
- Komponentenkonfiguration und -generierung:
a. Erstellen Sie ein erstes Libero-Projekt (als Referenzprojekt).
b. Wählen Sie den Kern aus dem Katalog aus. Doppelklicken Sie auf den Kern, um ihm einen Komponentennamen zuzuweisen und die Komponente zu konfigurieren.
Dadurch werden automatisch Bauteildaten exportiert und files. Außerdem wird ein Komponentenmanifest generiert. Weitere Informationen finden Sie unter Komponentenmanifeste. Weitere Informationen finden Sie unter Komponentenkonfiguration. - Vervollständigen Sie Ihr RTL-Design außerhalb von Libero:
a. Instanziieren Sie die Komponente HDL files.
b. Die Lage des HDL files ist in den Komponentenmanifesten aufgeführt files. - Generieren Sie SDC-Einschränkungen für die Komponenten. Verwenden Sie das Dienstprogramm „Derive Constraints“, um die zeitliche Einschränkung zu generieren. file(DEZA) basierend auf:
a. Komponente HDL files
b. Komponente SDC files
c. Benutzer-HDL files
Weitere Einzelheiten finden Sie in Anhang C – Ableitungsbeschränkungen. - Synthesetool/Simulationstool:
a. Holen Sie sich HDL files, Reiz files und Komponentendaten von den spezifischen Standorten, wie in den Komponentenmanifesten angegeben.
b. Synthetisieren und simulieren Sie das Design mit Tools von Drittanbietern außerhalb von Libero SoC. - Erstellen Sie Ihr zweites (Implementierungs-)Libero-Projekt.
- Entfernen Sie die Synthese aus der Design-Flow-Toolkette (Projekt > Projekteinstellungen > Design-Flow > deaktivieren Sie das Kontrollkästchen Synthese aktivieren).
- Importieren der Designquelle files (nach der Synthese erstellte *.vm-Netzliste aus dem Synthesetool):
– Importieren Sie die *.vm-Netzliste nach der Synthese (File>Importieren> Synthetisierte Verilog-Netzliste (VM)).
– Komponentenmetadaten *.cfg files für uPROM und/oder sNVM. - Importieren Sie beliebige Libero SoC-Blockkomponenten files. Der Block files müssen im *.cxz-Format sein file Format.
Weitere Informationen zum Erstellen eines Blocks finden Sie unter PolarFire Block Flow-Benutzerhandbuch. - Importieren Sie die Designbeschränkungen:
– Import-E/A-Beschränkung files (Constraints Manager > I/O-Attribute > Importieren).
– Grundriss *.pdc importieren files (Constraints Manager > Floor Planner > Importieren).
– Zeitliche Einschränkung beim Importieren von *.sdc files (Constraints Manager > Timing > Importieren). Importieren Sie die SDC file generiert durch das Tool „Einschränkung ableiten“.
– *.ndc-Einschränkung importieren files (Constraints Manager > NetlistAttributes > Importieren), falls vorhanden. - Zwang file und Werkzeugzuordnung
– Verknüpfen Sie im Constraint Manager die *.pdc files zum Platzieren und Routen, die *.sdc files zur Orts-, Routen- und Zeitüberprüfung und die *.ndc files zum Kompilieren der Netzliste. - Komplette Designumsetzung
– Platzieren und Verlegen, Überprüfen von Timing und Leistung, Konfigurieren von Design-Initialisierungsdaten und -Speichern sowie Programmieren file Generation. - Validieren Sie das Design
– Validieren Sie das Design auf FPGA und debuggen Sie es bei Bedarf mit den Designtools der Libero SoC-Designsuite.
Komponentenkonfiguration (Eine Frage stellen)
Der erste Schritt im benutzerdefinierten Ablauf besteht darin, Ihre Komponenten mithilfe eines Libero-Referenzprojekts (in Tabelle 1-1 auch als erstes Libero-Projekt bezeichnet) zu konfigurieren. In den folgenden Schritten verwenden Sie Daten aus diesem Referenzprojekt.
Wenn Sie eine der zuvor aufgeführten Komponenten verwenden, klicken Sie unter „Überview Führen Sie in Ihrem Entwurf die in diesem Abschnitt beschriebenen Schritte aus.
Wenn Sie keine der oben genannten Komponenten verwenden, können Sie Ihr RTL außerhalb von Libero schreiben und direkt in Ihre Synthese- und Simulationstools importieren. Anschließend können Sie mit dem Postsynthese-Abschnitt fortfahren und nur Ihre Postsynthese-*.vm-Netzliste in Ihr endgültiges Libero-Implementierungsprojekt (in Tabelle 1-1 auch als zweites Libero-Projekt bezeichnet) importieren.
2.1 Komponentenkonfiguration mit Libero (Eine Frage stellen)
Nachdem Sie aus der vorhergehenden Liste die zu verwendenden Komponenten ausgewählt haben, führen Sie die folgenden Schritte aus:
- Erstellen Sie ein neues Libero-Projekt (Kernkonfiguration und -generierung): Wählen Sie das Gerät und die Familie aus, auf die Ihr endgültiges Design ausgerichtet ist.
- Verwenden Sie einen oder mehrere der im benutzerdefinierten Flow genannten Kerne.
a. Erstellen Sie ein SmartDesign, konfigurieren Sie den gewünschten Kern und instanziieren Sie ihn in der SmartDesign-Komponente.
b. Alle Pins auf die oberste Ebene befördern.
c. Generieren Sie das SmartDesign.
d. Doppelklicken Sie auf das Simulationstool (eine der Optionen „Vorsynthese“, „Nachsynthese“ oder „Nachlayout“), um den Simulator aufzurufen. Sie können den Simulator nach dem Aufruf beenden. Dieser Schritt generiert die Simulation files für Ihr Projekt erforderlich.
Tipp: Sie müssen diesen Schritt ausführen, wenn Sie Ihr Design außerhalb von Libero simulieren möchten.
Weitere Informationen finden Sie unter „Simulieren Ihres Designs“.
e. Speichern Sie Ihr Projekt – dies ist Ihr Referenzprojekt.
2.2 Komponentenmanifeste (Eine Frage stellen)
Wenn Sie Ihre Komponenten generieren, wird eine Reihe von files wird für jede Komponente generiert. Der Komponentenmanifestbericht enthält Details zu den files generiert und in jedem nachfolgenden Schritt (Synthese, Simulation, Firmware-Generierung usw.) verwendet. Dieser Bericht gibt Ihnen die Speicherorte aller generierten files, die für den benutzerdefinierten Flow erforderlich sind. Sie können im Bereich „Berichte“ auf das Komponentenmanifest zugreifen: Klicken Sie auf „Design“ > „Berichte“, um die Registerkarte „Berichte“ zu öffnen. Auf der Registerkarte „Berichte“ sehen Sie eine Reihe von manifest.txt files (Überview), eine für jede Komponente, die Sie generiert haben.
Tipp: Sie müssen eine Komponente oder ein Modul als „Root“ festlegen, um das Komponentenmanifest anzuzeigen file Inhalte auf der Registerkarte „Berichte“.
Alternativ können Sie auf den individuellen Manifestbericht zugreifen files für jede generierte Kernkomponente oder SmartDesign-Komponente aus /Komponente/Arbeit/ / / _manifest.txt oder /Komponente/Arbeit/ / _manifest.txt. Sie können auch auf das Manifest zugreifen file Inhalt jeder Komponente, die aus der neuen Registerkarte Komponenten in Libero generiert wird, wo die file Standorte werden im Hinblick auf das Projektverzeichnis genannt.Konzentrieren Sie sich auf die folgenden Komponentenmanifestberichte:
- Wenn Sie Kerne in ein SmartDesign instanziiert haben, lesen Sie die file _manifest.txt.
- Wenn Sie Komponenten für Kerne erstellt haben, lesen Sie die _manifest.txt.
Sie müssen alle Komponentenmanifeste verwenden, die für Ihr Design relevant sind. Zum BeispielampWenn Ihr Projekt beispielsweise ein SmartDesign mit einer oder mehreren darin instanziierten Kernkomponenten enthält und Sie diese alle in Ihrem endgültigen Design verwenden möchten, müssen Sie files sind in den Komponentenmanifestberichten aller dieser Komponenten zur Verwendung in Ihrem Designfluss aufgeführt.
2.3 Manifest interpretieren FileS (Eine Frage stellen)
Wenn Sie ein Komponentenmanifest öffnen filesehen Sie Pfade zu files in Ihrem Libero-Projekt und Hinweise darauf, wo im Design-Flow sie eingesetzt werden können. Möglicherweise sehen Sie die folgenden Arten von files in einem Manifest file:
- HDL-Quelle files für alle Synthese- und Simulationstools
- Stimulus files für alle Simulationstools
- Zwang files
Nachfolgend finden Sie das Komponentenmanifest einer PolarFire-Kernkomponente.Jede Art von file ist im weiteren Verlauf Ihres Design-Flows erforderlich. Die folgenden Abschnitte beschreiben die Integration der files aus dem Manifest in Ihren Designfluss.
Generierung von Einschränkungen (Eine Frage stellen)
Achten Sie bei der Konfiguration und Generierung darauf, die SDC/PDC/NDC-Einschränkung zu schreiben/generieren files für das Design, um sie an Synthese-, Place-and-Route- und Verify-Timing-Tools weiterzuleiten.
Verwenden Sie das Dienstprogramm „Derive Constraints“ außerhalb der Libero-Umgebung, um Constraints zu generieren, anstatt sie manuell zu schreiben. Um das Dienstprogramm „Derive Constraints“ außerhalb der Libero-Umgebung zu verwenden, müssen Sie:
- Geben Sie Benutzer-HDL, Komponenten-HDL und Komponenten-SDC-Einschränkungen an files
- Geben Sie das Modul der obersten Ebene an
- Geben Sie den Speicherort an, an dem die abgeleitete Einschränkung generiert werden soll files
Die SDC-Komponentenbeschränkungen finden Sie unter /Komponente/Arbeit/ / /-Verzeichnis nach der Komponentenkonfiguration und -generierung.
Weitere Einzelheiten zum Generieren von Einschränkungen für Ihren Entwurf finden Sie in Anhang C – Einschränkungen ableiten.
Synthese Ihres Designs (Eine Frage stellen)
Eine der Hauptfunktionen des Custom Flow ist die Möglichkeit, eine Synthese von Drittanbietern zu verwenden
Tool außerhalb von Libero. Der benutzerdefinierte Ablauf unterstützt die Verwendung von Synopsys SynplifyPro. Um Ihre
Projekt, verwenden Sie das folgende Verfahren:
- Erstellen Sie in Ihrem Synthesetool ein neues Projekt, das auf dieselbe Gerätefamilie, denselben Chip und dasselbe Paket abzielt wie das von Ihnen erstellte Libero-Projekt.
a. Importieren Sie Ihr eigenes RTL files wie Sie es normalerweise tun.
b. Legen Sie die Syntheseausgabe auf Structural Verilog (.vm) fest.
Tipp: Strukturell Verilog (.vm) ist das einzige unterstützte Syntheseausgabeformat in PolarFire. - HDL-Komponente importieren files in Ihr Syntheseprojekt:
a. Für jeden Komponentenmanifestbericht: Für jeden file unter HDL-Quelle files für alle Synthese- und Simulationswerkzeuge, importieren Sie die file in Ihr Syntheseprojekt. - Importieren Sie die file polarfire_syn_comps.v (bei Verwendung von Synopsys Synplify) von
Installationsort>/data/aPA5M zu Ihrem Synthesis-Projekt. - Importieren Sie den zuvor generierten SDC file durch das Werkzeug „Derived Constraint“ (siehe Anhang
ALSample SDC-Einschränkungen) in das Synthese-Tool. Diese Einschränkung file schränkt das Synthesetool ein, um mit weniger Aufwand und weniger Designiterationen einen zeitlichen Abschluss zu erreichen.
Wichtig:
- Wenn Sie dieselbe *.sdc-Datei verwenden möchten file Um Place-and-Route während der Designimplementierungsphase einzuschränken, müssen Sie diese *.sdc-Datei in das Syntheseprojekt importieren. Dadurch wird sichergestellt, dass die Namen der Designobjekte in der synthetisierten Netzliste und den Place-and-Route-Einschränkungen während der Implementierungsphase des Designprozesses nicht übereinstimmen. Wenn Sie diese *.sdc-Datei nicht einbinden, file Im Syntheseschritt kann es vorkommen, dass die aus der Synthese generierte Netzliste im Schritt „Platzieren und Routen“ fehlschlägt, weil die Namen der Designobjekte nicht übereinstimmen.
a. Importieren Sie ggf. Netlist-Attribute *.ndc in das Synthesetool.
b. Führen Sie die Synthese aus. - Der Speicherort Ihrer Synthese-Tool-Ausgabe hat die *.vm-Netzliste file Nach der Synthese generiert. Sie müssen die Netzliste in das Libero-Implementierungsprojekt importieren, um mit dem Entwurfsprozess fortzufahren.
Simulation Ihres Designs (Eine Frage stellen)
Um Ihren Entwurf außerhalb von Libero zu simulieren (d. h. mithilfe Ihrer eigenen Simulationsumgebung und Ihres eigenen Simulators), führen Sie die folgenden Schritte aus:
- Design Files:
a. Simulation vor der Synthese:
• Importieren Sie Ihr RTL in Ihr Simulationsprojekt.
• Für jeden Komponentenmanifestbericht.
– Importieren Sie jeweils file unter HDL-Quelle files für alle Synthese- und Simulationstools in Ihr Simulationsprojekt.
• Kompilieren Sie diese files gemäß den Anweisungen Ihres Simulators.
b. Simulation nach der Synthese:
• Importieren Sie Ihre nach der Synthese erstellte *.vm-Netzliste (erstellt in „Synthesizing Your Design“) in Ihr Simulationsprojekt und kompilieren Sie sie.
c. Simulation nach dem Layout:
• Schließen Sie zunächst die Implementierung Ihres Designs ab (siehe Implementierung Ihres Designs). Stellen Sie sicher, dass sich Ihr endgültiges Libero-Projekt im Post-Layout-Status befindet.
• Doppelklicken Sie auf „BackAnnotated generieren“ Files im Libero Design Flow Fenster. Es generiert zwei files:
/Designer/ / _ba.v/vhd /Designer/
/ _ba.sdf
• Importieren Sie beide files in Ihr Simulationstool. - Stimulus und Konfiguration files:
a. Für jeden Komponentenmanifestbericht:
• Alles kopieren files unter dem Stimulus Files für alle Abschnitte der Simulationstools in das Stammverzeichnis Ihres Simulationsprojekts.
b. Stellen Sie sicher, dass alle Tcl files in den vorhergehenden Listen (in Schritt 2.a) werden zuerst ausgeführt, vor dem Start der Simulation.
c. UPROM.mem: Wenn Sie den UPROM-Kern in Ihrem Design mit der Option „Inhalt für Simulation verwenden“ für einen oder mehrere Datenspeicher-Clients verwenden, die Sie simulieren möchten, müssen Sie die ausführbare Datei pa4rtupromgen (pa4rtupromgen.exe unter Windows) verwenden, um die UPROM.mem zu generieren. fileDie ausführbare Datei pa4rtupromgen übernimmt die UPROM.cfg file als Eingaben über ein Tcl-Skript file und gibt das UPROM.mem aus file für Simulationen erforderlich. Dieses UPROM.mem file muss vor dem Simulationslauf in den Simulationsordner kopiert werden. Ein BeispielampDie Datei mit der Verwendung der ausführbaren Datei pa4rtupromgen wird in den folgenden Schritten bereitgestellt. Die UPROM.cfg file ist im Verzeichnis verfügbar /Komponente/Arbeit/ / im Libero-Projekt, das Sie zum Generieren der UPROM-Komponente verwendet haben.
d. snvm.mem: Wenn Sie den System Services-Kern in Ihrem Design verwenden und die Registerkarte sNVM im Kern mit der Option Inhalt für Simulation verwenden für einen oder mehrere Clients, die Sie simulieren möchten, konfiguriert haben, wird ein snvm.mem file wird automatisch generiert, um
das Verzeichnis /Komponente/Arbeit/ / im Libero-Projekt, mit dem Sie die System Services-Komponente generiert haben. Diese snvm.mem file müssen vor dem Simulationslauf in den Simulationsordner kopiert werden. - Erstellen Sie einen Arbeitsordner und einen Unterordner mit dem Namen „Simulation“ unter dem Arbeitsordner.
Die ausführbare Datei „pa4rtupromgen“ erwartet das Vorhandensein des Unterordners „Simulation“ im Arbeitsordner und das *.tcl-Skript wird im Unterordner „Simulation“ abgelegt. - Kopieren Sie die UPROM.cfg file aus dem ersten zur Komponentengenerierung erstellten Libero-Projekt in den Arbeitsordner.
- Fügen Sie die folgenden Befehle in ein *.tcl-Skript ein und platzieren Sie es im Simulationsordner, der in Schritt 3 erstellt wurde.
Sample *.tcl für Geräte der PolarFire- und PolarFire Soc-Familie zum Generieren von URPOM.mem file
aus UPROM.cfg
set_device -fam -sterben -Paket
set_input_cfg -Pfad
set_sim_mem -PfadFile/UPROM.mem>
gen_sim -use_init false
Den richtigen internen Namen für den Chip und das Paket finden Sie in der *.prjx-Datei file des ersten Libero-Projekts (wird zur Komponentengenerierung verwendet).
Das Argument use_init muss auf false gesetzt werden.
Verwenden Sie den Befehl set_sim_mem, um den Pfad zur Ausgabe anzugeben file UPROM.mem, das ist
wird bei der Ausführung des Skripts generiert file mit der ausführbaren Datei pa4rtupromgen. - Wechseln Sie in der Eingabeaufforderung oder im Cygwin-Terminal zum in Schritt 3 erstellten Arbeitsverzeichnis.
Führen Sie den Befehl pa4rtupromgen mit der Option –script aus und übergeben Sie ihm das im vorherigen Schritt erstellte *.tcl-Skript.
Für Windows
/designer/bin/pa4rtupromgen.exe \
–script./simulation/ .tcl
Für Linux:
/bin/pa4rtupromgen
–script./simulation/ .tcl - Nach erfolgreicher Ausführung der ausführbaren Datei pa4rtupromgen überprüfen Sie, ob die Datei UPROM.mem file wird an der im Befehl set_sim_mem im *.tcl-Skript angegebenen Stelle generiert.
- Um das sNVM zu simulieren, kopieren Sie die Datei snvm.mem file aus Ihrem ersten Libero-Projekt (für die Komponentenkonfiguration) in den obersten Simulationsordner Ihres Simulationsprojekts, um die Simulation (außerhalb des Libero SoC) auszuführen. Um UPROM-Inhalte zu simulieren, kopieren Sie die generierte UPROM.mem file in den Simulationsordner der obersten Ebene Ihres Simulationsprojekts, um die Simulation auszuführen (außerhalb von Libero SoC).
Wichtig: Um Simulieren Sie die Funktionalität von SoC-Komponenten, laden Sie die vorkompilierten PolarFire-Simulationsbibliotheken herunter und importieren Sie sie wie hier beschrieben in Ihre Simulationsumgebung. Weitere Informationen finden Sie in Anhang B – Importieren von Simulationsbibliotheken in die Simulationsumgebung.
Implementierung Ihres Designs (Eine Frage stellen)
Nach Abschluss der Synthese- und Postsynthese-Simulation in Ihrer Umgebung müssen Sie Libero erneut verwenden, um Ihr Design physisch zu implementieren, Zeit- und Leistungsanalysen durchzuführen und Ihre Programmierung zu generieren file.
- Erstellen Sie ein neues Libero-Projekt für die physische Implementierung und das Layout des Designs. Stellen Sie sicher, dass Sie dasselbe Gerät als Ziel verwenden wie das Referenzprojekt, das Sie in der Komponentenkonfiguration erstellt haben.
- Entfernen Sie nach der Projekterstellung Synthesis aus der Toolchain im Fenster „Design Flow“ (Projekt > Projekteinstellungen > Design Flow > Deaktivieren Sie „Synthesis aktivieren“).
- Importieren Sie Ihre *.vm-Datei nach der Synthese file in dieses Projekt, (File > Importieren > Synthetisierte Verilog-Netzliste (VM)).
Tipp: Es wird empfohlen, einen Link zu diesem file, sodass Libero bei einer erneuten Synthese Ihres Designs immer die neueste Netzliste nach der Synthese verwendet.
a. Notieren Sie sich im Fenster „Designhierarchie“ den Namen des Stammmoduls. - Importieren Sie die Constraints in das Libero-Projekt. Verwenden Sie den Constraint Manager, um *.pdc/*.sdc/*.ndc-Constraints zu importieren.
a. Importieren Sie die E/A-Einschränkung *.pdc files (Constraints Manager > E/A-Attribute > Importieren).
b. Floorplanning *.pdc-Einschränkung importieren files (Constraints Manager > Floor Planner > Importieren).
c. Zeitliche Einschränkung beim Importieren von *.sdc files (Constraints Manager > Timing > Import). Wenn Ihr Design einen der in Over aufgeführten Kerne enthältview, stellen Sie sicher, dass Sie die SDC importieren file generiert durch das Tool zur Ableitung von Einschränkungen.
d. *.ndc-Einschränkung importieren files (Constraints Manager > Netzlistenattribute > Importieren). - Assoziative Einschränkungen Files zum Entwerfen von Werkzeugen.
a. Öffnen Sie den Constraint Manager (Einschränkungen verwalten > Einschränkungen verwalten öffnen View).
Aktivieren Sie das Kontrollkästchen Place-and-Route and Timing Verification neben der Einschränkung file Zwang aufbauen file und Werkzeugzuordnung. Ordnen Sie die *.pdc-Einschränkung Place-and-Route und die *.sdc-Einschränkung Place-and-Route und Timing Verification zu. Ordnen Sie die *.ndc-Einschränkung file um die Netzliste zu kompilieren.
Tipp: Wenn Platzieren und Routen schlägt mit dieser *.sdc-Einschränkung fehl file, dann importieren Sie dieselbe *.sdc file zur Synthese und erneuten Ausführung der Synthese.
- Klicken Sie auf „Netzliste kompilieren“ und dann auf „Platzieren und routen“, um den Layoutschritt abzuschließen.
- Mit dem Tool „Design-Initialisierungsdaten und -Speicher konfigurieren“ können Sie Designblöcke wie LSRAM, µSRAM, XCVR (Transceiver) und PCIe mit Daten aus nichtflüchtigem µPROM, sNVM oder externem SPI-Flash-Speicher initialisieren. Das Tool verfügt über die folgenden Registerkarten zur Definition der Spezifikation der Design-Initialisierungssequenz, der Spezifikation der Initialisierungsclients und der Benutzerdatenclients.
– Registerkarte „Designinitialisierung“
– Registerkarte µPROM
– sNVM-Registerkarte
– Registerkarte „SPI-Flash“
– Registerkarte Fabric RAMs
Verwenden Sie die Registerkarten im Tool, um die Designinitialisierungsdaten und -speicher zu konfigurieren.Führen Sie nach Abschluss der Konfiguration die folgenden Schritte durch, um die Initialisierungsdaten zu programmieren:
• Initialisierungsclients generieren
• Generieren oder exportieren Sie den Bitstream
• Programmieren Sie das Gerät
Ausführliche Informationen zur Verwendung dieses Tools finden Sie im Libero SoC Design Flow Benutzerhandbuch. Weitere Informationen zu den Tcl-Befehlen zum Konfigurieren verschiedener Registerkarten im Tool und zur Festlegung der Speicherkonfiguration finden Sie unter files (*.cfg), siehe Referenzhandbuch für Tcl-Befehle. - Erstellen einer Programmierung File aus diesem Projekt und verwenden Sie es zum Programmieren Ihres FPGA.
Anhang A—Sampdie SDC-Einschränkungen (Eine Frage stellen
Libero SoC generiert SDC-Timing-Constraints für bestimmte IP-Cores wie CCC, OSC, Transceiver usw. Die Weitergabe der SDC-Constraints an Design-Tools erhöht die Chance, das Timing-Ziel mit weniger Aufwand und weniger Design-Iterationen zu erreichen. Der vollständige hierarchische Pfad von der obersten Instanz wird für alle in den Constraints referenzierten Designobjekte angegeben.
7.1 SDC-Zeitbeschränkungen (Eine Frage stellen)
Im Libero IP-Core-Referenzprojekt ist diese SDC-Einschränkung der obersten Ebene file ist im Constraint Manager verfügbar (Design Flow > Open Manage Constraint View > Zeitliche Ableitung > Einschränkungen ableiten).
Wichtig: Siehe Das file Um die SDC-Einschränkungen festzulegen, wenn Ihr Design CCC, OSC, Transceiver und andere Komponenten enthält. Passen Sie den vollständigen hierarchischen Pfad gegebenenfalls an Ihre Designhierarchie an oder verwenden Sie das Dienstprogramm „Derive_Constraints“ und die Schritte in Anhang C – „Ableiten von Einschränkungen“ auf der SDC-Komponentenebene. file.
Speichern Sie die file auf einen anderen Namen und importieren Sie die SDC file zum Synthesetool, Place-and-Route Tool und Timing Verifications, genau wie jede andere SDC-Einschränkung files.
7.1.1 Abgeleiteter SDC File (Eine Frage stellen)
# Das file wurde basierend auf der folgenden SDC-Quelle generiert files:
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
PF_CCC_C0/PF_CCC_C0_0/PF_CCC_C0_PF_CCC_C0_0_PF_CCC.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
CLK_DIV/CLK_DIV_0/CLK_DIV_CLK_DIV_0_PF_CLK_DIV.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
TRANSMIT_PLL/TRANSMIT_PLL_0/TRANSMIT_PLL_TRANSMIT_PLL_0_PF_TX_PLL.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
DMA_INITIATOR/DMA_INITIATOR_0/DMA_INITIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
FIC0_INITIATOR/FIC0_INITIATOR_0/FIC0_INITIATOR.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
ICICLE_MSS/ICICLE_MSS.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
PF_PCIE_C0/PF_PCIE_C0_0/PF_PCIE_C0_PF_PCIE_C0_0_PF_PCIE.sdc
# /drive/icicle_kit_ref_des/icicle-kit-reference-design-master/MPFS_ICICLE/Komponente/Arbeit/
PCIE_INITIATOR/PCIE_INITIATOR_0/PCIE_INITIATOR.sdc
# /drive/aPA5M/cores/constraints/osc_rc160mhz.sdc
# *** Alle Änderungen an diesem file gehen verloren, wenn abgeleitete Einschränkungen erneut ausgeführt werden. ***
create_clock -name {CLOCKS_AND_RESETS_inst_0/OSCILLATOR_160MHz_inst_0/OSCILLATOR_160MHz_0/
I_OSC_160/CLK} -Periode 6.25
[ get_pins { TAKT_UND_RÜCKSETZUNGEN_inst_0/OSZILLATOR_160MHz_inst_0/OSZILLATOR_160MHz_0/
I_OSC_160/CLK } ] Uhr erstellen -name {REF_CLK_PAD_P} -periodenwert 10 [ Ports abrufen { REF_CLK_PAD_P } ] Uhr erstellen -name {CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/
DIV_CLK} -Periode 8
[ get_pins { CLOCKS_AND_RESETS_inst_0/TRANSMIT_PLL_0/TRANSMIT_PLL_0/txpll_isnt_0/DIV_CLK } ] create_generated_clock -name {CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT0} -multiplizieren_mit 25 -dividieren_durch 32 -source
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -Phase 0
[ get_pins { TAKT_UND_RÜCKSETZUNG_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT0 } ] generierte_Uhr erstellen -name {TAKT_UND_RÜCKSETZUNG_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT1} -multiplizieren_mit 25 -dividieren_durch 32 -source
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -Phase 0
[ get_pins { TAKT_UND_RÜCKSETZUNG_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT1 } ] generierte_Uhr erstellen -name {TAKT_UND_RÜCKSETZUNG_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT2} -multiplizieren_mit 25 -dividieren_durch 32 -source
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -Phase 0
[ get_pins { TAKT_UND_RÜCKSETZUNG_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT2 } ] generierte_Uhr erstellen -name {TAKT_UND_RÜCKSETZUNG_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/
OUT3} -multiplizieren_mit 25 -dividieren_durch 64 -source
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/REF_CLK_0 } ] -Phase 0
[ get_pins { CLOCKS_AND_RESETS_inst_0/CCC_FIC_x_CLK/PF_CCC_C0_0/pll_inst_0/OUT3 } ] generierte_Uhr erstellen -name {CLOCKS_AND_RESETS_inst_0/CLK_160MHz_to_CLK_80MHz/CLK_DIV_0/I_CD/
Y_DIV} -dividiere_durch 2 -source
[ get_pins { TAKT_UND_RESETS_inst_0/CLK_160MHz_bis_CLK_80MHz/CLK_DIV_0/I_CD/A } ] [ get_pins { TAKT_UND_RESETS_inst_0/CLK_160MHz_bis_CLK_80MHz/CLK_DIV_0/I_CD/Y_DIV } ] set_false_path -through [ get_nets { DMA_INITIATOR_inst_0/ARESETN* } ] set_false_path -from [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/rdGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
rdPtr_s1* } ] setze_false_path -from [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/
genblk1*/wrGrayCounter*/cntGray* } ] -to [ get_cells { DMA_INITIATOR_inst_0/*/SlvConvertor_loop[*].slvcnv/slvCDC/genblk1*/
wrPtr_s1* } ] setze_false_path -through [ get_nets { FIC0_INITIATOR_inst_0/ARESETN* } ] setze_false_path -to [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[0] PCIE/PF_PCIE_C0_0/
PCIE_1/INTERRUPT[1] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[2] PCIE/PF_PCIE_C0_0/PCIE_1/
INTERRUPT[3] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[4] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[5]
PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[6] PCIE/PF_PCIE_C0_0/PCIE_1/INTERRUPT[7] PCIE/PF_PCIE_C0_0/
PCIE_1/WAKEREQ PCIE/PF_PCIE_C0_0/PCIE_1/MPERST_N } ] set_false_path -from [ get_pins { PCIE/PF_PCIE_C0_0/PCIE_1/TL_CLK } ] set_false_path -through [ get_nets { PCIE_INITIATOR_inst_0/ARESETN* } ]
Anhang B – Importieren von Simulationsbibliotheken in die Simulationsumgebung (Eine Frage stellen)
Der Standardsimulator für die RTL-Simulation mit Libero SoC ist ModelSim ME Pro.
Vorkompilierte Bibliotheken für den Standardsimulator sind mit der Libero-Installation im Verzeichnis verfügbar /Designer/lib/modelsimpro/precompiled/vlog für® unterstützte Familien. Libero SoC unterstützt auch andere Simulator-Editionen von Drittanbietern wie ModelSim, Questasim, VCS, Xcelium
, Active HDL und Riviera Pro. Laden Sie die entsprechenden vorkompilierten Bibliotheken herunter von Libero SoC v12.0 und höher basierend auf dem Simulator und seiner Version.
Ähnlich wie die Libero-Umgebung, run.do file muss erstellt werden, um die Simulation außerhalb von Libero auszuführen.
Erstellen Sie ein einfaches run.do file Enthält Befehle zum Erstellen einer Bibliothek für Kompilierungsergebnisse, Bibliothekszuordnung, Kompilierung und Simulation. Folgen Sie den Schritten, um eine einfache run.do-Datei zu erstellen. file.
- Erstellen Sie mit dem Vlib-Befehl „vlib presynth“ eine logische Bibliothek zum Speichern der Kompilierungsergebnisse.
- Ordnen Sie den logischen Bibliotheksnamen dem vorkompilierten Bibliotheksverzeichnis mit dem vmap-Befehl vmap zu. .
- Quelle kompilieren files – Verwenden Sie sprachspezifische Compilerbefehle, um das Design zu kompilieren files in das Arbeitsverzeichnis.
– Vlog für .v/.sv
– vcom für .vhd - Laden Sie das Design für die Simulation mit dem Befehl vsim, indem Sie den Namen eines beliebigen Moduls der obersten Ebene angeben.
- Simulieren Sie das Design mit dem Befehl „Ausführen“.
Nach dem Laden des Designs wird die Simulationszeit auf Null gesetzt und Sie können den Befehl „Ausführen“ eingeben, um die Simulation zu starten.
Führen Sie im Simulator-Transkriptfenster run.do aus. file Führen Sie die Simulation mit run.do aus. Sample run.do file wie folgt.
ACTELLIBNAME leise festlegen PolarFire PROJECT_DIR leise festlegen „W:/Test/basic_test“, wenn
{[file exists presynth/_info]} { echo „INFO: Simulationsbibliothek presynth existiert“ } else
{ file löschen -force presynth vlib presynth } vmap presynth presynth vmap PolarFire
„X:/Libero/Designer/lib/modelsimpro/precompiled/vlog/PolarFire“ vlog -sv -work presynth
„${PROJECT_DIR}/hdl/top.v“ vlog „+incdir+${PROJECT_DIR}/stimulus“ -sv -work presynth „$
{PROJECT_DIR}/stimulus/tb.v“ vsim -L PolarFire -L presynth -t 1ps presynth.tb Welle hinzufügen /tb/*
Führen Sie 1000 ns log /tb/* exit aus
Anhang C – Ableitungsbeschränkungen (Eine Frage stellen)
In diesem Anhang werden die Tcl-Befehle „Derive Constraints“ beschrieben.
9.1 Tcl-Befehle zum Ableiten von Einschränkungen (Eine Frage stellen)
Das Dienstprogramm derive_constraints hilft Ihnen, Einschränkungen aus dem RTL oder dem Konfigurator außerhalb der Libero SoC-Designumgebung abzuleiten. Um Einschränkungen für Ihr Design zu generieren, benötigen Sie die Benutzer-HDL, die Komponenten-HDL und die Komponenten-Constraints. files. Die SDC-Komponentenbeschränkungen files sind verfügbar unter /Komponente/Arbeit/ / /-Verzeichnis nach der Komponentenkonfiguration und -generierung.
Jede Komponentenbeschränkung file besteht aus dem Tcl-Befehl set_component (gibt den Komponentennamen an) und der Liste der nach der Konfiguration generierten Einschränkungen. Die Einschränkungen werden basierend auf der Konfiguration generiert und sind für jede Komponente spezifisch.
Example 9-1. Komponentenbeschränkung File für den PF_CCC-Core
Hier ist ein Example einer Komponentenbeschränkung file für den PF_CCC-Kern:
set_component PF_CCC_C0_PF_CCC_C0_0_PF_CCC
# Microchip Corp.
# Datum: 2021 26:04:36
# Basistakt für PLL #0
Uhr erstellen -Periode 10 [ get_pins { pll_inst_0/REF_CLK_0 } ] generierte Uhr erstellen -Dividiere durch 1 -Quelle [ get_pins { pll_inst_0/
REF_CLK_0 } ] -phase 0 [ get_pins { pll_inst_0/OUT0 } ] Hier sind create_clock und create_generated_clock Referenz- bzw. Ausgabetaktbeschränkungen, die basierend auf der Konfiguration generiert werden.
9.1.1 Arbeiten mit dem Dienstprogramm derive_constraints (Eine Frage stellen)
Leiten Sie Einschränkungen durch das Design ab und weisen Sie jeder Komponenteninstanz basierend auf dem zuvor bereitgestellten Komponenten-SDC neue Einschränkungen zu. files. Für die CCC-Referenztakte wird der Wert durch das Design zurückverfolgt, um die Quelle des Referenztakts zu finden. Handelt es sich bei der Quelle um einen I/O, wird die Referenztaktbeschränkung auf den I/O gesetzt. Handelt es sich um einen CCC-Ausgang oder eine andere Taktquelle (z. B.ample, Transceiver, Oszillator), verwendet es den Takt der anderen Komponente und meldet eine Warnung, wenn die Intervalle nicht übereinstimmen. Mit der Funktion „Derive Constraints“ werden auch Constraints für einige Makros wie On-Chip-Oszillatoren zugewiesen, sofern diese in Ihrem RTL vorhanden sind.
Um das Dienstprogramm derive_constraints auszuführen, müssen Sie eine .tcl-Datei angeben file Befehlszeilenargument mit den folgenden Informationen in der angegebenen Reihenfolge.
- Geben Sie Geräteinformationen mithilfe der Informationen im Abschnitt „set_device“ an.
- Pfad zum RTL angeben files unter Verwendung der Informationen im Abschnitt read_verilog oder read_vhdl.
- Legen Sie das Modul der obersten Ebene mithilfe der Informationen im Abschnitt „set_top_level“ fest.
- Pfad zur Komponente SDC angeben files unter Verwendung der Informationen im Abschnitt read_sdc oder read_ndc.
- Führen Sie den files unter Verwendung der Informationen im Abschnitt „derive_constraints“.
- Pfad zu den vom SDC abgeleiteten Constraints angeben file Verwenden Sie die Informationen im Abschnitt write_sdc oder write_pdc oder write_ndc.
Example 9-2. Ausführung und Inhalt der derive.tcl File
Das Folgende ist ein Beispielample-Befehlszeilenargument zum Ausführen des Dienstprogramms derive_constraints.
$ /bin{64}/derive_constraints derive.tcl
Der Inhalt der derive.tcl file:
# Geräteinformationen
set_device -family PolarFire -die MPF100T -speed -1
#RTL files
read_verilog -mode system_verilog Projekt/Komponente/Arbeit/txpll0/
txpll0_txpll0_0_PF_TX_PLL.v
read_verilog -mode system_verilog {Projekt/Komponente/Arbeit/txpll0/txpll0.v}
read_verilog -mode system_verilog {Projekt/Komponente/Arbeit/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.v}
read_verilog -mode system_verilog {Projekt/Komponente/Arbeit/xcvr0/xcvr0.v}
read_vhdl -mode vhdl_2008 {Projekt/hdl/xcvr1.vhd}
#Komponente SDC files
set_top_level {xcvr1}
read_sdc -Komponente {Projekt/Komponente/Arbeit/txpll0/txpll0_0/
txpll0_txpll0_0_PF_TX_PLL.sdc}
read_sdc -Komponente {Projekt/Komponente/Arbeit/xcvr0/I_XCVR/
xcvr0_I_XCVR_PF_XCVR.sdc}
#Verwenden Sie den Befehl derive_constraint
Ableitungsbeschränkungen
#SDC/PDC/NDC-Ergebnis files
write_sdc {Projekt/Einschränkung/xcvr1_derived_constraints.sdc}
write_pdc {Projekt/Einschränkung/fp/xcvr1_derived_constraints.pdc}
9.1.2 set_device (Eine Frage stellen)
Beschreibung
Geben Sie den Familiennamen, den Matrizennamen und die Geschwindigkeitsklasse an.
set_device -Familie -sterben -Geschwindigkeit
Argumente
Parameter | Typ | Beschreibung |
-Familie | Zeichenfolge | Geben Sie den Familiennamen an. Mögliche Werte sind PolarFire® und PolarFire SoC. |
-sterben | Zeichenfolge | Geben Sie den Würfelnamen an. |
-Geschwindigkeit | Zeichenfolge | Geben Sie die Geschwindigkeitsstufe des Geräts an. Mögliche Werte sind STD oder -1. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Erforderlicher Parameter – Würfel fehlt | Die Option „Die“ ist obligatorisch und muss angegeben werden. |
ERR0005 | Unbekannter Stempel 'MPF30' | Der Wert der Option „-die“ ist falsch. Die möglichen Werte finden Sie in der Beschreibung der Option. |
ERR0023 | Parameter – der fehlende Wert | Die Option „Die“ wird ohne Wert angegeben. |
ERR0023 | Erforderlicher Parameter – Familie fehlt | Die Familienoption ist obligatorisch und muss angegeben werden. |
ERR0004 | Unbekannte Familie „PolarFire®“ | Die Familienoption ist nicht korrekt. Die möglichen Werte finden Sie in der Beschreibung der Option. |
………… Fortsetzung | ||
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Parameter – Familie hat keinen Wert | Die Familienoption wird ohne Wert angegeben. |
ERR0023 | Erforderlicher Parameter – Geschwindigkeit fehlt | Die Geschwindigkeitsoption ist obligatorisch und muss angegeben werden. |
ERR0007 | Unbekannte Geschwindigkeit ' ' | Die Geschwindigkeitsoption ist nicht korrekt. Die möglichen Werte finden Sie in der Beschreibung der Option. |
ERR0023 | Parameter – Geschwindigkeit ist fehlender Wert | Die Geschwindigkeitsoption wird ohne Wert angegeben. |
Example
set_device -family {PolarFire} -die {MPF300T_ES} -speed -1
set_device -family SmartFusion 2 -die M2S090T -speed -1
9.1.3 read_verilog (Eine Frage stellen)
Beschreibung
Lesen Sie einen Verilog file mit Verific.
read_verilog [-lib ] [-Modus ]fileName>
Argumente
Parameter | Typ | Beschreibung |
-lib | Zeichenfolge | Geben Sie die Bibliothek an, die die Module enthält, die der Bibliothek hinzugefügt werden sollen. |
-Modus | Zeichenfolge | Geben Sie den Verilog-Standard an. Mögliche Werte sind verilog_95, verilog_2k, system_verilog_2005, system_verilog_2009, system_verilog, verilog_ams, verilog_psl und system_verilog_mfcu. Die Groß-/Kleinschreibung wird nicht berücksichtigt. Der Standardwert ist verilog_2k. |
fileName | Zeichenfolge | Verilog file Name. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Parameter – lib hat keinen Wert | Die Option „lib“ wird ohne Wert angegeben. |
ERR0023 | Parameter – Modus: fehlender Wert | Die Modusoption wird ohne Wert angegeben. |
ERR0015 | Unbekannter Modus ' ' | Der angegebene Verilog-Modus ist unbekannt. Die Liste der möglichen Verilog-Modi finden Sie in der Beschreibung der Modusoption. |
ERR0023 | Erforderlicher Parameter file Name fehlt | Kein Verilog file Weg ist vorgesehen. |
ERR0016 | Aufgrund des Parsers von Verific fehlgeschlagen | Syntaxfehler in Verilog file. Der Parser von Verific kann in der Konsole über der Fehlermeldung beobachtet werden. |
ERR0012 | set_device wird nicht aufgerufen | Die Geräteinformationen sind nicht angegeben. Verwenden Sie den Befehl set_device, um das Gerät zu beschreiben. |
Example
read_verilog -mode system_verilog {Komponente/Arbeit/Top/Top.v}
read_verilog -mode system_verilog_mfcu design.v
9.1.4 read_vhdl (Eine Frage stellen)
Beschreibung
Fügen Sie ein VHDL hinzu file in die Liste der VHDL files.
read_vhdl [-lib ] [-Modus ]fileName>
Argumente
Parameter | Typ | Beschreibung |
-lib | — | Geben Sie die Bibliothek an, in der der Inhalt hinzugefügt werden muss. |
-Modus | — | Gibt den VHDL-Standard an. Standard ist VHDL_93. Mögliche Werte sind vhdl_93, vhdl_87, vhdl_2k, vhdl_2008 und vhdl_psl. Die Groß- und Kleinschreibung wird nicht berücksichtigt. |
fileName | — | VHDL file Name. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Parameter – lib hat keinen Wert | Die Option „lib“ wird ohne Wert angegeben. |
ERR0023 | Parameter – Modus: fehlender Wert | Die Modusoption wird ohne Wert angegeben. |
ERR0018 | Unbekannter Modus ' ' | Der angegebene VHDL-Modus ist unbekannt. Eine Liste der möglichen VHDL-Modi finden Sie in der Beschreibung der Modusoption. |
ERR0023 | Erforderlicher Parameter file Name fehlt | Kein VHDL file Weg ist vorgesehen. |
ERR0019 | invalid_path.v konnte nicht registriert werden file | Die angegebene VHDL file existiert nicht oder hat keine Leseberechtigung. |
ERR0012 | set_device wird nicht aufgerufen | Die Geräteinformationen sind nicht angegeben. Verwenden Sie den Befehl set_device, um das Gerät zu beschreiben. |
Example
read_vhdl -mode vhdl_2008 osc2dfn.vhd
read_vhdl {hdl/top.vhd}
9.1.5 set_top_level (Eine Frage stellen)
Beschreibung
Geben Sie den Namen des Moduls der obersten Ebene in RTL an.
set_top_level [-lib ]
Argumente
Parameter | Typ | Beschreibung |
-lib | Zeichenfolge | Die Bibliothek, in der nach dem Modul oder der Entität der obersten Ebene gesucht werden soll (optional). |
Name | Zeichenfolge | Der Modul- oder Entitätsname der obersten Ebene. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Der erforderliche Parameter der obersten Ebene fehlt | Die Option der obersten Ebene ist obligatorisch und muss angegeben werden. |
ERR0023 | Parameter – lib hat keinen Wert | Die Option „lib“ wird ohne Werte angegeben. |
ERR0014 | Die oberste Ebene konnte nicht gefunden werden. in der Bibliothek | Das angegebene Modul der obersten Ebene ist in der bereitgestellten Bibliothek nicht definiert. Um diesen Fehler zu beheben, muss der Name des obersten Moduls oder der obersten Bibliothek korrigiert werden. |
ERR0017 | Aufwendig gescheitert | Fehler im RTL-Ausarbeitungsprozess. Die Fehlermeldung kann in der Konsole angezeigt werden. |
Example
set_top_level {oben}
set_top_level -lib hdl top
9.1.6 read_sdc (Stellen Sie eine Frage)
Beschreibung
Lesen Sie einen SDC file in die Komponentendatenbank.
read_sdc -KomponentefileName>
Argumente
Parameter | Typ | Beschreibung |
-Komponente | — | Dies ist ein obligatorisches Flag für den Befehl read_sdc, wenn wir Einschränkungen ableiten. |
fileName | Zeichenfolge | Weg zur DEZA file. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Erforderlicher Parameter file Name fehlt. | Die obligatorische Option file Name ist nicht angegeben. |
ERR0000 | DEZA file <file_path> ist nicht lesbar. | Der angegebene SDC file hat keine Leseberechtigung. |
ERR0001 | Kann nicht geöffnet werdenfile_Pfad> file. | Die DEZA file existiert nicht. Der Pfad muss korrigiert werden. |
ERR0008 | Fehlender set_component-Befehl infile_Pfad> file | Die angegebene Komponente von SDC file gibt die Komponente nicht an. |
Fehlercode | Fehlermeldung | Beschreibung |
ERR0009 | <List of errors from sdc file> | Die DEZA file enthält falsche SDC-Befehle. Zum Beispielampich,
wenn ein Fehler in der set_multicycle_path-Einschränkung vorliegt: Fehler beim Ausführen des Befehls read_sdc: infile_Pfad> file: Fehler im Befehl set_multicycle_path: Unbekannter Parameter [get_cells {reg_a}]. |
Example
read_sdc -component {./component/work/ccc0/ccc0_0/ccc0_ccc0_0_PF_CCC.sdc}
9.1.7 read_ndc (Stellen Sie eine Frage)
Beschreibung
Lesen Sie einen NDC file in die Komponentendatenbank.
read_ndc -KomponentefileName>
Argumente
Parameter | Typ | Beschreibung |
-Komponente | — | Dies ist ein obligatorisches Flag für den Befehl read_ndc, wenn wir Einschränkungen ableiten. |
fileName | Zeichenfolge | Weg zum NDC file. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0001 | Kann nicht geöffnet werdenfile_Pfad> file | Das NDC file existiert nicht. Der Pfad muss korrigiert werden. |
ERR0023 | Erforderlicher Parameter – AtclParamO_ fehlt. | Die obligatorische Option fileName ist nicht angegeben. |
ERR0023 | Erforderlicher Parameter – Komponente fehlt. | Die Komponentenoption ist obligatorisch und muss angegeben werden. |
ERR0000 | NDC file 'file_path>‘ ist nicht lesbar. | Der angegebene NDC file hat keine Leseberechtigung. |
Example
read_ndc -Komponente {Komponente/Arbeit/ccc1/ccc1_0/ccc_comp.ndc}
9.1.8 derive_constraints (Stellen Sie eine Frage)
Beschreibung
Instanziieren Sie die Komponente SDC files in die Datenbank auf Entwurfsebene.
Ableitungsbeschränkungen
Argumente
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0013 | Die oberste Ebene ist nicht definiert | Dies bedeutet, dass das Modul oder die Entität der obersten Ebene nicht angegeben ist. Um diesen Aufruf zu beheben, führen Sie den Befehl „set_top_level“ vor dem Befehl „derive_constraints“. |
Example
Ableitungsbeschränkungen
9.1.9 write_sdc (Stellen Sie eine Frage)
Beschreibung
Schreibt eine Einschränkung file im SDC-Format.
write_sdcfileName>
Argumente
Parameter | Typ | Beschreibung |
<fileName> | Zeichenfolge | Weg zur DEZA file generiert. Dies ist eine obligatorische Option. Wenn die file vorhanden ist, wird es überschrieben. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0003 | Kann nicht geöffnet werdenfile Pfad> file. | File Der Pfad ist nicht korrekt. Überprüfen Sie, ob die übergeordneten Verzeichnisse vorhanden sind. |
ERR0002 | DEZA file 'file path>‘ ist nicht beschreibbar. | Der angegebene SDC file hat keine Schreibberechtigung. |
ERR0023 | Erforderlicher Parameter file Name fehlt. | Die DEZA file Pfad ist eine obligatorische Option und muss angegeben werden. |
Example
write_sdc „abgeleitet.sdc“
9.1.10 write_pdc (Stellen Sie eine Frage)
Beschreibung
Schreibt physikalische Einschränkungen (nur abgeleitete Einschränkungen).
write_pdcfileName>
Argumente
Parameter | Typ | Beschreibung |
<fileName> | Zeichenfolge | Pfad zum PDC file generiert. Dies ist eine obligatorische Option. Wenn die file Pfad existiert, wird er überschrieben. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldungen | Beschreibung |
ERR0003 | Kann nicht geöffnet werdenfile Pfad> file | Der file Der Pfad ist nicht korrekt. Überprüfen Sie, ob die übergeordneten Verzeichnisse vorhanden sind. |
ERR0002 | PDC file 'file path>‘ ist nicht beschreibbar. | Der angegebene PDC file hat keine Schreibberechtigung. |
ERR0023 | Erforderlicher Parameter file Name fehlt | Die PDC file Pfad ist eine obligatorische Option und muss angegeben werden. |
Example
write_pdc „abgeleitet.pdc“
9.1.11 write_ndc (Stellen Sie eine Frage)
Beschreibung
Schreibt NDC-Einschränkungen in eine file.
write_ndcfileName>
Argumente
Parameter | Typ | Beschreibung |
fileName | Zeichenfolge | Weg zum NDC file generiert. Dies ist eine obligatorische Option. Wenn die file vorhanden ist, wird es überschrieben. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldungen | Beschreibung |
ERR0003 | Kann nicht geöffnet werdenfile_Pfad> file. | File Der Pfad ist nicht korrekt. Die übergeordneten Verzeichnisse existieren nicht. |
ERR0002 | NDC file 'file_path>‘ ist nicht beschreibbar. | Der angegebene NDC file hat keine Schreibberechtigung. |
ERR0023 | Der erforderliche Parameter _AtclParamO_ fehlt. | Das NDC file Pfad ist eine obligatorische Option und muss angegeben werden. |
Example
write_ndc „abgeleitet.ndc“
9.1.12 add_include_path (Frage stellen)
Beschreibung
Gibt einen Pfad für die Suche an. files beim Lesen von RTL files.
add_include_path
Argumente
Parameter | Typ | Beschreibung |
Verzeichnis | Zeichenfolge | Gibt einen Pfad für die Suche an. files beim Lesen von RTL files. Diese Option ist obligatorisch. |
Rückgabetyp | Beschreibung |
0 | Befehl erfolgreich. |
Rückgabetyp | Beschreibung |
1 | Befehl fehlgeschlagen. Es liegt ein Fehler vor. Sie können die Fehlermeldung in der Konsole sehen. |
Liste der Fehler
Fehlercode | Fehlermeldung | Beschreibung |
ERR0023 | Der erforderliche Parameter-Include-Pfad fehlt. | Die Verzeichnisoption ist obligatorisch und muss angegeben werden. |
Hinweis: Wenn der Verzeichnispfad nicht korrekt ist, wird add_include_path ohne Fehler übergeben.
Die Befehle read_verilog/read_vhd schlagen jedoch aufgrund des Parsers von Verific fehl.
Example
add_include_path Komponente/Arbeit/COREABC0/COREABC0_0/rtl/vlog/core
Revisionsverlauf (Eine Frage stellen)
Der Revisionsverlauf beschreibt die Änderungen, die im Dokument vorgenommen wurden. Die Änderungen werden nach Revision aufgelistet, beginnend mit der aktuellsten Veröffentlichung.
Revision | Datum | Beschreibung |
F | 08/2024 | Die folgenden Änderungen werden in dieser Revision vorgenommen: • Abschnitt Anhang B – Importieren von Simulationsbibliotheken in die Simulationsumgebung aktualisiert. |
E | 08/2024 | Die folgenden Änderungen werden in dieser Revision vorgenommen: • Aktualisierter Abschnitt „Über“view. • Abschnitt „Abgeleiteter SDC“ aktualisiert File. • Abschnitt Anhang B – Importieren von Simulationsbibliotheken in die Simulationsumgebung aktualisiert. |
D | 02/2024 | Dieses Dokument wird mit der Libero 2024.1 SoC Design Suite ohne Änderungen ab v2023.2 veröffentlicht. Aktualisierter Abschnitt „Arbeiten mit dem Dienstprogramm derive_constraints“ |
C | 08/2023 | Dieses Dokument wird mit der Libero 2023.2 SoC Design Suite ohne Änderungen ab v2023.1 veröffentlicht. |
B | 04/2023 | Dieses Dokument wird mit der Libero 2023.1 SoC Design Suite ohne Änderungen ab v2022.3 veröffentlicht. |
A | 12/2022 | Erstrevision. |
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 folgen Sie den 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 ist in diesem Dokument enthalten. Technischer Support ist über die verfügbar 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 kann die Sicherheit seines Codes garantieren. Codeschutz bedeutet nicht, dass wir garantieren, dass das Produkt „unknackbar“ 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“ ZUR VERFÜGUNG GESTELLT. MICROCHIP ÜBERNIMMT KEINE ZUSICHERUNGEN ODER GARANTIEN JEGLICHER ART, OB AUSDRÜCKLICH ODER STILLSCHWEIGEND, SCHRIFTLICH ODER MÜNDLICH, GESETZLICH ODER ANDERWEITIG, IN BEZUG AUF DIE INFORMATIONEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF STILLSCHWEIGENDE GEWÄHRLEISTUNGEN DER NICHTVERLETZUNG VON RECHTEN DRITTER, MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK ODER GEWÄHRLEISTUNGEN IN BEZUG AUF SEINEN ZUSTAND, QUALITÄT ODER LEISTUNG. IN KEINEM FALL IST MICROCHIP HAFTBAR FÜR INDIREKTE, SONDER-, STRAF-, ZUFÄLLIGE ODER FOLGESCHÄDEN, SCHÄDEN, KOSTEN ODER AUSGABEN JEGLICHER ART, DIE IM ZUSAMMENHANG MIT DEN INFORMATIONEN ODER IHRER NUTZUNG WELCHE URSACHE SIND, SELBST WENN MICROCHIP DARAUF HINGEWIESEN WURDE MÖGLICHKEIT ODER DIE SCHÄDEN VORHERSEHBAR SIND. IM VOLLEN GESETZLICH ZULÄSSIGEN UMFANG ÜBERSTEIGT DIE GESAMTHAFTUNG VON MICROCHIP FÜR ALLE ANSPRÜCHE IN IRGENDEINER WEISE IM ZUSAMMENHANG MIT DEN INFORMATIONEN ODER DEREN NUTZUNG DEN BETRAG DER GEGEBENENFALLS GEBÜHREN, DIE SIE FÜR DIE INFORMATIONEN DIREKT AN MICROCHIP GEZAHLT 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, Klagen, Prozessen oder Kosten freizustellen, die sich aus einer solchen Verwendung ergeben. Sofern nicht anders angegeben, werden keine Lizenzen, weder stillschweigend noch anderweitig, im Rahmen der geistigen Eigentumsrechte von Microchip übertragen.
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 Warenzeichen von Microchip Technology Incorporated in den USA und anderen Ländern.
AgileSwitch, 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, Quiet-Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider und ZL sind eingetragene Marken 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, EyeOpen, GridTime, IdealBridge, IGaT, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, MarginLink, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB-zertifiziertes Logo, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Allwissende Codegenerierung, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serielles Quad-E/A, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, Turing, 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.
2024, Microchip Technology Incorporated und seine Tochtergesellschaften. Alle Rechte vorbehalten.
ISBN: 978-1-6683-0183-8
Qualitätsmanagementsystem
Informationen zu den Qualitätsmanagementsystemen von Microchip finden Sie unter www.microchip.com/quality.
Weltweiter Vertrieb und Service
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 – Hod Hasharon Tel: 972-9-775-5100 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 |
Dokumente / Ressourcen
![]() |
MICROCHIP DS00004807F PolarFire-Familie FPGA Custom Flow [pdf] Benutzerhandbuch DS00004807F PolarFire-Familie FPGA Benutzerdefinierter Fluss, DS00004807F, PolarFire-Familie FPGA Benutzerdefinierter Fluss, Familie FPGA Benutzerdefinierter Fluss, Benutzerdefinierter Fluss, Fluss |