Dies ist der Befehl vpassertp, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
vpassert – Verilog-Code-Assertionen vorverarbeiten
ZUSAMMENFASSUNG
vpassert [ --help ] [ --Datum ] [ --ruhig ] [ -y Verzeichnisse... ] [ Dateien ... ]
BESCHREIBUNG
Vpassert liest die angegebenen Verilog-Dateien und verarbeitet spezielle PLI-Behauptungen vor. Der
Dateien werden in das Verzeichnis mit dem Namen .vpassert geschrieben, sofern kein anderer Name mit angegeben wird -o.
Wenn ein Verzeichnis übergeben wird, werden alle Dateien in diesem Verzeichnis vorverarbeitet.
ARGUMENTE
Standard-VCS- und GCC-ähnliche Parameter werden verwendet, um die vorzuverarbeitenden Dateien anzugeben:
+libext+I +Ich ... Geben Sie die zu verarbeitenden Erweiterungen an
-f ich Parameter in der Datei analysieren
-v I Analysieren Sie die Bibliotheksdatei (I )
-y ich Analysieren Sie alle Dateien im Verzeichnis (I )
-II Analysieren Sie alle Dateien im Verzeichnis (I )
+incdir+I Analysieren Sie alle Dateien im Verzeichnis (I )
Um eine Rekursion zu verhindern und die Wiederverwendung der an den Simulator übergebenen input.vc zu ermöglichen, wenn die
Wenn das Ausgabeverzeichnis vorverarbeitet werden soll, wird dieses Verzeichnis einfach ignoriert.
--alle Dateien
Dateien vorverarbeiten und ausschreiben, die keine Makros enthalten, die erweitert werden müssen. Von
Standardmäßig werden Dateien, die nicht verarbeitet werden müssen, nicht ausgeschrieben.
Diese Option kann die Kompilierungszeiten des Simulators verkürzen. Die Datei befindet sich immer im
Vorverarbeitetes Verzeichnis, sodass der Compiler nicht eine große Anzahl von -v durchsuchen muss
Verzeichnisse, um es zu finden.
--Axiom
Das spezielle Axiom ATHDL aktiviert/deaktiviert das Hinzufügen um nicht erreichbaren Code herum.
--call-error
Wenn $uerror (oder $uassert usw.) eine Nachricht anzeigen möchte, rufen Sie das angegebene auf
Funktion anstelle von $display und $stop.
--call-info
Wenn $uinfo eine Nachricht anzeigen möchte, rufen Sie stattdessen die angegebene Funktion auf
$anzeige.
--call-warn
Wenn $uwarn (oder $uwarn_clk usw.) eine Nachricht anzeigen möchte, rufen Sie das angegebene auf
Funktion anstelle von $display und $stop.
--Datum
Überprüfen Sie Dateidaten und -größen im Vergleich zur letzten Ausführung von vpassert und verarbeiten Sie sie nicht, wenn dies der Fall ist
Die angegebene Quelldatei hat sich nicht geändert.
--ausschließen
Schließen Sie die Verarbeitung aller Dateien aus, die mit dem angegebenen Präfix beginnen.
--help
Zeigt diese Meldung und die Programmversion an und wird beendet.
--language <1364-1995|1364-2001|1364-2005|1800-2005|1800-2009|1800-2012>
Legen Sie den Sprachstandard für die Dateien fest. Dies bestimmt, welche Token Signale sind
im Gegensatz zu Schlüsselwörtern, wie dem allgegenwärtigen "do" (Datenausgangssignal, im Gegensatz zu einer do-while-Schleife)
Stichwort).
--Minimum
Beziehen Sie „__message_minimum“ in den $uinfo-Test ein, indem Sie __message_minimum=1 definieren
Einige UInfos werden möglicherweise zur Kompilierungszeit wegoptimiert.
--keine Linie
Geben Sie keine Zeilenanweisungen aus. Wenn nicht angegeben, werden sie unter --Language verwendet
1364-2001 und später.
--nopli
Löschen Sie alle „einfachen“ PLI-Aufrufe. PLI-Funktionsaufrufe in Klammern werden nicht ausgeführt
geändert und müssen daher möglicherweise immer noch manuell definiert werden. Nützlich zur Reduzierung der
Menge an „ifdefs“, die erforderlich ist, um nicht-PLI-fähige Syntheseprogramme zu versorgen.
--kein Halt
Standardmäßig fügen $error und $warn eine $stop-Anweisung ein. Mit --nostop ist dies der Fall
durch Inkrementieren einer Variablen ersetzt, die dann zum bedingten Anhalten verwendet werden kann
Simulation.
--Ö Datei
Verwenden Sie für die Ausgabe den angegebenen Dateinamen anstelle des Eingabenamens .vpassert. Wenn der Name
endet mit / und wird als Ausgabeverzeichnis mit dem Standardnamen verwendet.
--ruhig
Unterdrücken Sie Meldungen darüber, welche Dateien vorverarbeitet werden.
--realintent
Spezielle RealIntent-Aktivierungen/Deaktivierungen wurden um nicht erreichbaren Code herum hinzugefügt.
--synthcov
Wenn „ifdef SYNTHESIS“ angezeigt wird, deaktivieren Sie die Abdeckung. Fortsetzen mit „else“ oder „endif“.
Dies folgt NICHT den untergeordneten Definitionen, zum Beispiel:
`ifdef SYNTHSIS
`definiere MYSYNTH
`endif
`ifdef MYSYNTH // Dies wird nicht abgedeckt
--timeformat-units Bereiche
Falls angegeben, schließen Sie Verilog $timeformat-Aufrufe vor allen Nachrichten ein. Nutzen Sie das bereitgestellte
Argument als die Einheiten. Die Einheiten sind Zehnerpotenzen, also bedeutet -10, dass Nanosekunden verwendet werden.
--timeformat-precision vor
Wenn Sie --timeformat-units verwenden, verwenden Sie als Präzisionswert die Anzahl der Ziffern
nach dem Komma. Der Standardwert ist Null.
--vericov
Spezielle Vericov-Aktivierungs-/Deaktivierungsfunktionen für nicht erreichbaren Code hinzugefügt.
--verilator
Spezielle Verilator-Übersetzungen aktiviert.
--Version
Zeigt die Programmversion an und wird beendet.
--vcs
Spezielles Synopsys VCS aktiviert/deaktiviert das Hinzufügen von nicht erreichbarem Code.
FUNKTIONEN
Diese Verilog-Pseudo-Pli-Aufrufe werden erweitert:
/*vp_coverage_off*/
Deaktivieren Sie ab diesem Zeitpunkt die Abdeckung für alle Tools. Muss nicht auf einem sein
einzigartige Linie.
/*vp_coverage_on*/
Aktivieren Sie die Abdeckung nach einem vp_coverage_off erneut. Muss nicht in einer eindeutigen Zeile stehen.
$uassert (Häuser, "Nachricht", [vars...] )
Melden Sie einen $uerror, wenn der angegebene Fall FALSE ist. (Wie behaupten() in C.)
$uassert_amone (sig, [sig...], "Nachricht", [vars...] )
Melden Sie einen $uerror, wenn mehr als ein Signal aktiviert ist oder eines davon X ist. (Keines aktiviert ist
ok.) Die Fehlermeldung beinhaltet eine binäre Anzeige der Signalwerte.
$uassert_info (Häuser, "Nachricht", [vars...] )
Melden Sie ein $uinfo, wenn der angegebene Fall FALSE ist. (Wie behaupten() in C.)
$uassert_onehot (sig, [sig...], "Nachricht", [vars...] )
Melden Sie einen $uerror, wenn mehr als ein Signal aktiviert ist oder eines davon X ist. Der Fehler
Die Meldung enthält eine binäre Anzeige der Signalwerte.
$uassert_req_ack (req_sig, ack_sig, [data_sig,...] )
Prüfen Sie, ob ein Einzelzyklus-Anforderungsimpuls vorliegt, gefolgt von einer Einzelzyklus-Bestätigung
Impuls. Lassen Sie nicht zu, dass sich die Datensignale zwischen der Anfrage und ändern
Wissen.
$ucheck_ilevel (Grad des )
Gibt „true“ zurück, wenn die __message-Ebene größer oder gleich der angegebenen Ebene ist, und zwar
Globale Nachrichten sind aktiviert.
$ucover_clk (Uhr, Etikette)
Fügen Sie ähnlich wie bei $uerror_clk eine SystemVerilog-Behauptung zum nächsten angegebenen Zeitpunkt hinzu
Kante, mit der angegebenen Beschriftung. Dadurch können Cover-Eigenschaften „inline“ angegeben werden.
mit normalem RTL-Code.
$ucover_foreach_clk (Uhr, Etikette"msb:lsb", (... $ui ...))
Ähnlich wie $ucover_clk, deckt jedoch einen Bereich ab, in dem $ui im Ausdruck ersetzt wird
mit dem Bereichsindex.
Reichweite ist „msb:lsb" um anzuzeigen von msb nach unten lsb inklusive und/oder durch Komma getrennt
Liste von Werten.
Ähnlich zu:
for ($ui=msb; $ui>=lsb; $ui=$ui-1) begin
if (Ausdruck mit $ui)
$ucover_clk(clock, label ## "_" ## bit)
Ende
Allerdings gibt es keine Möglichkeit, eine Bezeichnung aus einer for-Schleife zu bilden (wie oben mit ## pseudocodiert).
also dieses Makro.
$ui-Schleifenindex, der in $ucover_foreach_clk verwendet wird.
$uinfo (Grad des , "Nachricht", [vars...] )
Melden Sie eine Informationsnachricht in Standardform. Beenden Sie den Test, wenn die Warngrenze überschritten wird.
$uerror ("Nachricht", [vars...] )
Melden Sie eine Fehlermeldung in Standardform. Test beenden, wenn Fehlergrenze überschritten.
$uerror_clk (Uhr, "Nachricht", [vars...] )
Melden Sie bei der nächsten Taktflanke eine Fehlermeldung in Standardform. Wenn Sie a platzieren
$uerror usw. in einem Kombinationslogikblock (immer @*), ereignisbasierte Simulatoren können zu Fehlfunktionen führen
Behauptung aufgrund von Störungen. $uerror_clk behebt dieses Problem, indem stattdessen eine temporäre Datei erstellt wird
Signal und verschiebt dann die Behauptung selbst in einen neuen getakteten Block an der angegebenen Flanke.
Beachten Sie, dass alle gedruckten Variablen die Werte zum Zeitpunkt der nächsten Taktflanke sind.
Dies kann von dem Wert abweichen, dem $uerror_clk zugewiesen ist.
$uwarn ("Nachricht", [vars...] )
Melden Sie eine Warnmeldung in Standardform.
$uwarn_clk (Uhr "Nachricht", [vars...] )
Melden Sie bei der nächsten Taktflanke eine Warnmeldung in Standardform. Siehe $uerror_clk.
DISTRIBUTION
Verilog-Perl ist Teil derhttp://www.veripool.org/> kostenloses Verilog EDA-Softwaretool
Suite. Die neueste Version ist erhältlich bei CPAN und ab
<http://www.veripool.org/verilog-perl>.
Copyright 2000-2016 von Wilson Snyder. Dieses Paket ist kostenlose Software; du kannst umverteilen
es und/oder modifizieren es unter den Bedingungen der GNU Lesser General Public License
Version 3 oder die Perl Artistic License Version 2.0.
AUTOREN
Wilson Snyderwsnyder@wsnyder.org>, Duane Galbiduane.galbi@conexant.com>
Verwenden Sie vpassertp online über die Dienste von onworks.net