Dies ist der Befehl „alliance-genpat“, 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
genpat, Ein prozeduraler Musterdateigenerator
ZUSAMMENFASSUNG
genpat [-v] [-k] [Datei]
BESCHREIBUNG
Genpat ist eine Reihe von C-Funktionen, die eine prozedurale Beschreibung der Eingabemusterdatei ermöglichen
für den Logiksimulator ASIMUT. Das Unix genpat Der Befehl akzeptiert eine C-Datei als Eingabe und
erzeugt als Ausgabe eine Musterbeschreibungsdatei. Die Erweiterung „.c“ darf nicht angegeben werden. Der
Datei generiert von genpat liegt im Pat-Format vor, daher wird es dringend empfohlen, es anzusehen Klaps(5)
VOR DIESEM HANDBUCH.
OPTIONAL
-v ausführlicher Modus
-k Behält die ausführbare Datei zusammen mit dem Kompilierungs-Makefile nach Abschluss bei
GENPAT FILE FORMAT
Aus Benutzersicht genpat ist eine Musterbeschreibungssprache, die alle Standard-C-Sprachen verwendet
Einrichtungen (einschließen, definieren, Variablen, Schleife, ...). Funktionen bereitgestellt von genpat sind
in einer bestimmten Reihenfolge verwendet werden. Wenn Sie sie in einer anderen Reihenfolge verwenden, wird das System nicht zum Absturz kommen, aber es wird passieren
zu Ausführungsfehlern führen. Hier folgt die Beschreibung der Eingabedatei.
A Klaps Die Formatdatei kann in zwei Teile unterteilt werden: den Deklarations- und den Beschreibungsteil.
Der Deklarationsteil ist die Liste der Eingänge, Ausgänge, internen Signale und Register.
Eingaben sind auf einen bestimmten Wert zu forcieren und alle anderen dabei zu beobachten
Simulation.
Der Beschreibungsteil besteht aus einer Reihe von Mustern, wobei jedes Muster den Wert der Eingaben definiert
und Ausgänge. Die Musternummer stellt tatsächlich die absolute Zeit für den Simulator dar.
Ähnlich, a genpat Die Datei kann in zwei Teile unterteilt werden: den Deklarations- und den Beschreibungsteil.
Funktionen, die sich auf die Deklaration beziehen, müssen vor allen Funktionen aufgerufen werden, die sich auf die Deklaration beziehen
Beschreibungsteil.
Erklärung Teil
Das erste, was Sie in diesem Teil tun sollten, ist, den Namen der Ausgabedatei anzugeben
(sehen DEF_GENPAT(3)). Anschließend können Sie in diesem Teil die Eingaben deklarieren
Ausgänge und interne Beobachtungspunkte (siehe ERKLÄREN(3)). Es ist auch möglich
Erstellen Sie virtuelle Arrays (siehe ARRAY(3)).
Beschreibung Teil
Nachdem alle Signale deklariert wurden, können Sie damit beginnen, Eingabewerte zu definieren
an den Eingängen der Schaltung anzulegende bzw. auszugebende Werte
mit den während der Simulation ermittelten Werten vergleichen. (sehen BEEINFLUSSEN(3)). Genpat
beschreibt den Reiz nach Ereignis: Es werden nur Signalübergänge beschrieben. Das
Mit diesem Teil können Sie dem Simulationstool auch Anweisungen zum Speichern geben
Zustand der Schaltung am Ende der Simulation. (sehen SPAREN(3)). Das Letzte, was du getan hast
Was Sie in diesem Teil tun sollten, besteht darin, die Ausgabedatei zu generieren (siehe SAV_GENPAT(3)).
FUNKTIONEN
DEF_GENPAT() Definiert den Namen der Ausgabedatei.
SAV_GENPAT() Lassen Sie die Ausgabedatei generieren
DECLAR() deklariert Eingänge, Ausgänge und die internen Beobachtungspunkte.
ARRAY() ermöglicht die Gruppierung gleichartiger Signale in einem „virtuellen Array“.
um ihre Manipulation zu erleichtern
DRIN() Ändert die Werte von Registern zwischen zwei Mustern.
BEEINTRÄCHTIGEN() Weist einem Signal bei einer bestimmten Musternummer einen Wert zu. Dieser Wert bleibt erhalten
auf dem Signal, bis dem Signal ein neuer Wert zugewiesen wird.
SPEICHERN() teilt dem Simulationstool mit, den Zustand der Schaltung am Ende zu speichern
Simulation
ETIKETT() Gibt dem aktuellen Muster eine Bezeichnung
GETCPAT() Gibt die Nummer des aktuellen Musters zurück
Beispiele:
#einschließen
#include „genpat.h“
char *inttostr(entier)
int entier;
{
char *str;
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "%d",entier);
return(str);
}
/*----------------*/
/* Ende der Beschreibung */
/*----------------*/
Haupt ()
{
int i;
int j;
int cur_vect = 0;
DEF_GENPAT("Beispiel");
/* Schnittstelle */
DECLAR ("a", ":2", "X", IN, "3 downto 0", "" );
DECLAR ("b", ":2", "X", IN, "3 downto 0", "" );
DECLAR ("s", ":2", "X", OUT, "3 downto 0", "" );
DECLAR ("vdd", ":2", "B", IN, "", "" );
DECLAR ("vss", ":2", "B", IN, "", "" );
LABEL („Addierer“);
AFFECT ("0", "vdd", "0b1");
AFFECT ("0", "vss", "0b0");
für (i=0; i<16; i++)
{
für (j=0; j<16; j++)
{
AFFECT (inttostr(cur_vect), "a", inttostr(i) );
AFFECT (inttostr(cur_vect), "b", inttostr(j) );
cur_vect++;
}
}
SAV_GENPAT ();
}
VARIABLEN
Genpat liest die Umgebungsvariable VH_PATSFX, um der Ergebnisdatei eine Erweiterung zu geben.
Nutzen Sie Alliance-Genpat online über die Dienste von onworks.net