Synopsys: Silver¶
Bisheriger/interner Bezeichner: SILVER
Herstellerinformationen
Hersteller |
Webseite |
Produktname |
Version |
|---|---|---|---|
Synopsys |
Silver |
ab S-2021.06 |
Kategorien
MDL 🛈 |
APL 🛈 |
BAN 🛈 |
BMA 🛈 |
SVC 🛈 |
DGN 🛈 |
FIU 🛈 |
EES 🛈 |
FCT 🛈 |
DBG 🛈 |
IMG 🛈 |
AUDIO 🛈 |
ENVSIM 🛈 |
ENVCOM 🛈 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
✓ |
✓ |
✓ |
Signalaufnahmen 🛈
Dateiformat |
Kommentar |
|---|---|
*.mdf, *.mf4 |
Plattform
Betriebssystem |
Unterstützung |
|---|---|
Windows |
✓ |
Linux |
Ports¶
Besonderheiten¶
Einrichtung
Standardmäßig werden die benötigten Umgebungsvariablen bei der Installation von Silver gesetzt. Falls Silver mit einem anderen Benutzer installiert wurde, müssen für den aktuellen Benutzer die Umgebungsvariablen
SILVER_HOME und
SNPSLMD_LICENSE_FILE
eventuell erneut gesetzt werden.
Info
Bei der Verwendung des APL-Ports in Verbindung mit einer A2L-Datei sollte unter keinen Umständen Gebrauch von der Umbenennungs-Funktion in SILVER gemacht werden. Die Namen der Variablen in SILVER müssen unverändert sein, damit ecu.test sie korrekt ansteuern kann.
Simulationszeit-Modi
Im kontinuierlichen oder schrittweisen Simulationszeit-Modus (vgl. Simulationszeit-Modi) wird die Verwendung der Tooljobs, die die Simulation beeinflussen (Start, Stop, Pause, Reset), explizit nicht empfohlen. Die Verwendung führt in diesen Modi zu falschen Zeitstempeln an den Testschritten im Report und unter Umständen zu Verhaltensabweichungen.
ecu.test/SILVER-Konfigurationsdatei (*.esi)
SILVER bietet komplexe Datenstrukturen, wie Vektoren und Matrizen, ausschließlich durch
ihre Einzelelemente im Modell an, z.B. wird VektorA durch seine Elemente
VektorA[0], VektorA[1], VektorA[2] und VektorA[3] präsentiert.
Zur Vereinfachung des Umgangs mit komplexen Datenstrukturen können sogenannte *.esi-Dateien
erstellt und schließlich in der Testkonfiguration als Toolspezifische Zusatzdateien
angegeben werden. Diese Dateien sind modellspezifisch und müssen somit für jedes Modell eigenhändig
angelegt werden. Anschließend können Vektoren und Matrizen direkt gelesen und geschrieben werden.
Die Aufzeichnung dieser komplexen Signale wird allerdings derzeit nur für MDF3 (*.mdf) unterstützt.
Die Syntax soll anhand des folgenden Beispiels dargestellt werden:
# ecu.test + SILVER Konfigurationsdatei
# Diese Datei soll alle in SILVER verfügbaren Variablen vom Typ Vektor und Matrix auflisten,
# die von ecu.test gelesen oder geschrieben werden sollen.
# VECTOR
# Syntax: SILVER-Name[ersterIndex:letzterIndex|*]
# Der * ist als Platzhalter statt letzterIndex, der dann zur Laufzeit ermittelt wird, erlaubt.
# Beispiel Interner ABF Zähler:
# Abf_EreigZaehler[0], Abf_EreigZaehler[1], ..., Abf_EreigZaehler[19]
Abf_EreigZaehler[0:19]
# Beispiel VektorA mit vier Elementen:
VektorA[0:3]
# Beispiel Vektor[1] (die [1] gehört hier zum Namen selbst) mit 18 Elementen:
# Vektor[1][3], Vektor[1][4], ..., Vektor[1][20]
Vektor[1][3:20]
# Beispiel dynamischer VektorD, dessen Länge erst zur Laufzeit feststeht.
# VektorD[0], ...
VektorD[0:*]
# MATRIX
# Syntax: SILVER-Name[ersterZeilenIndex:letzterZeilenIndex|*][ersterSpaltenIndex:letzterSpaltenIndex|*]
# Beispiel Datenpuffer:
# Data_Buffer_ABW_NEw1[0][0], Data_Buffer_ABW_NEw1[0][1], ..., Data_Buffer_ABW_NEw1[0][19],
# Data_Buffer_ABW_NEw1[1][0], Data_Buffer_ABW_NEw1[1][1], ..., Data_Buffer_ABW_NEw1[1][19],
# ...
# Data_Buffer_ABW_NEw1[12][0], Data_Buffer_ABW_NEw1[12][1], ..., Data_Buffer_ABW_NEw1[12][19],
Data_Buffer_ABW_NEw1[0:12][0:19]
# Beispiel dynamische Tabelle, deren Spaltenanzahl erst zur Laufzeit feststeht.
# Tabelle[0][0], ...
# Tabelle[1][0], ...
Tabelle[0:1][0:*]
Info
Indizes müssen nicht bei 0 beginnen.
Info
Nur Endindizes können als dynamisch vereinbart werden (*). Bei Matrizen dürfen Zeilen- und Spaltenanzahl auch gleichzeitig als dynamisch vereinbart werden.
Info
In SILVER enden Variablennamen häufig mit eckigen Klammern, die in der Konfigurationsdatei als Namensbestandteil mit angegeben werden müssen.
Eigenschaften 🛈¶
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
Projektdatei |
string |
Pfad zu Silver-Projektdatei (*.sil), absolut oder relativ zu dem Pfad in der Umgebungsvariable SILVER_HOME |
|||
Abtastrate ❲1/Sekunde❳ für das Abspielen von Stimuli |
100 |
int |
Beim Stimulieren wird die STI-Datei in eine Liste von Zeitstempeln übersetzt. Diese Einstellung legt fest wie viele Einträge pro Sekunde erstellt werden sollen. |
||
Kommandozeilenparameter |
string |
Kommandozeilenparameter die an Silver übergeben werden. Bei angegebener Projektdatei wird diese automatisch übergeben, andernfalls wird mit „-e“ gestartet. |
|||
Silver-GUI sperren |
☐ |
bool |
Möglichkeit die SILVER-GUI während der Testautomatisierung zu sperren (Nicht in allen Silver-Versionen möglich) |
||
Aufnahmeformat |
‚MDF4 (*.mf4)‘ |
[‚MDF4 (*.mf4)‘, ‚MDF3 (*.mdf) (legacy)‘] |
string |
Dateiformat in welchem Silver aufzeichnen soll. |
|
Timeout für Toolzugriffe ❲in Sek.❳ |
‚600‘ |
string |
Zeit nach der eine Anfrage an das Tool abgebrochen wird. |
Jobs 🛈¶
HiLPauseSimulation¶
Pausiert Simulation in SILVER.
Achtung:
Die Verwendung dieses Job ist explizit nur für den Zeitmodus „Echtzeit“ gedacht. Bei der Verwendung in Kombination mit einem anderen Zeitmodus kann es zu falschen Zeitstempeln im Report und unter Umständen zu weiteren Verhaltensabweichungen kommen.
HiLStartSimulation¶
Startet Simulation in SILVER.
Achtung:
Die Verwendung dieses Job ist explizit nur für den Zeitmodus „Echtzeit“ gedacht. Bei der Verwendung in Kombination mit einem anderen Zeitmodus kann es zu falschen Zeitstempeln im Report und unter Umständen zu weiteren Verhaltensabweichungen kommen.
HiLStopSimulation¶
Stoppt Simulation in SILVER.
Achtung:
Die Verwendung dieses Job ist explizit nur für den Zeitmodus „Echtzeit“ gedacht. Bei der Verwendung in Kombination mit einem anderen Zeitmodus kann es zu falschen Zeitstempeln im Report und unter Umständen zu weiteren Verhaltensabweichungen kommen.
IsSimulationRunning¶
Liefert True wenn die Simulation läuft, sonst False
Parametrierung
Rückgabewert
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
result |
[False, True] |
bool |
ResetSimulation¶
Setzt die Simulation zurück.
Achtung:
Laufende Aufnahmen werden beim Reset beendet. Der Start neuer Aufnahmen ist im laufenden Testfall nach dem Reset nicht mehr möglich.
Achtung:
Die Verwendung dieses Job ist explizit nur für den Zeitmodus „Echtzeit“ gedacht. Bei der Verwendung in Kombination mit einem anderen Zeitmodus kann es zu falschen Zeitstempeln im Report und unter Umständen zu weiteren Verhaltensabweichungen kommen.