To jest polecenie Alliance-genpat, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
genpat, Generator plików wzorców proceduralnych
STRESZCZENIE
genpat [-v] [-k] [plik]
OPIS
Genpat to zestaw funkcji języka C umożliwiający proceduralny opis wejściowego pliku wzorca
do symulatora logicznego ASIMUT. Uniksa genpat polecenie akceptuje plik C jako dane wejściowe i
tworzy plik opisu wzorca jako wynik. Nie należy podawać rozszerzenia „.c”. The
plik wygenerowany przez genpat jest w formacie pat, dlatego ZALECA SIĘ ZOBACZYĆ klepnięcie(5)
PRZED NINIEJSZĄ INSTRUKCJĄ.
OPCJE
-v tryb gadatliwy
-k przechowuje plik wykonywalny wraz z kompilacją Makefile po zakończeniu
GENPAT FILE FORMAT
Z punktu widzenia użytkownika, genpat to język opisu wzorców wykorzystujący wszystkie standardowe języki C
udogodnienia (włącz, zdefiniuj, zmienne, pętla, ...). Funkcje dostarczane przez genpat mają
być używane w określonej kolejności. Użycie ich w innej kolejności nie spowoduje awarii systemu, ale spowoduje
skutkować błędami wykonania. Poniżej znajduje się opis pliku wejściowego.
A klepnięcie plik formatu można podzielić na dwie części: część deklaracyjną i część opisową.
Część deklaracyjna to lista wejść, wyjść, sygnałów wewnętrznych i rejestrów.
Wejścia mają zostać wymuszone na określoną wartość, a wszystkie pozostałe mają być przestrzegane
symulacja.
Część opisowa to zbiór wzorców, gdzie każdy wzorzec definiuje wartość wejść
i wyjścia. Numer wzoru reprezentuje w rzeczywistości czas bezwzględny symulatora.
Podobnie, a genpat plik można podzielić na dwie części: część deklaracyjną i część opisową.
Funkcje związane z deklaracją muszą zostać wywołane przed jakąkolwiek funkcją związaną z
część opisowa.
deklaracja część
Pierwszą rzeczą, którą powinieneś zrobić w tej części, jest podanie nazwy pliku wyjściowego
(Patrz DEF_GENPAT(3)). Następnie ta część pozwala na zadeklarowanie danych wejściowych, tj
wyjścia i wewnętrzne punkty obserwacyjne (patrz DEKLAROWAĆ(3)). Jest to również możliwe
utwórz wirtualne tablice (patrz SZYK(3)).
opis część
Po zadeklarowaniu wszystkich sygnałów można przystąpić do definiowania wartości wejściowych jakie są
należy zastosować do wejść obwodu lub wartości wyjściowych, które mają być
porównać z wartościami uzyskanymi podczas symulacji. (Widzieć WPŁYNĄĆ(3)). Genpat
opisuje bodziec po zdarzeniu: opisano tylko przejścia sygnału. Ten
część umożliwia także wydawanie instrukcji narzędziu symulacyjnemu w celu zapisania pliku
stan obwodu na koniec symulacji. (Widzieć RATOWAĆ(3)). Ostatnia rzecz, którą ty
co powinniśmy zrobić w tej części, to wygenerować plik wyjściowy (patrz SAV_GENPAT(3)).
FUNKCJE
DEF_GENPAT() definiuje nazwę pliku wyjściowego.
SAV_GENPAT() wygeneruj plik wyjściowy
DEKLARACJA() deklaruje wejścia, wyjścia i wewnętrzne punkty obserwacyjne.
SZYK() umożliwia grupowanie sygnałów tego samego typu w „wirtualną tablicę” w
aby ułatwić ich manipulację
W TYM() zmienia wartości rejestrów pomiędzy dwoma wzorami.
ODDZIAŁYWAĆ() przypisuje wartość sygnałowi pod danym numerem wzorca. Wartość ta zostaje zachowana
na sygnale do czasu przypisania do sygnału nowej wartości.
RATOWAĆ() informuje narzędzie symulacyjne o konieczności zapisania stanu obwodu na końcu
symulacja
ETYKIETA() nadaje etykietę bieżącemu wzorowi
POBIERZ PAT() zwróć numer bieżącego wzorca
PRZYKŁADY
#włączać
#include "genpat.h"
char *inttostr(entier)
int cały;
{
znak *str;
str = (char *) mbkalloc (32 * sizeof (char));
sprintf (str, "%d",entier);
powrót(str);
}
/*--------------------------------------------*/
/* koniec opisu */
/*--------------------------------------------*/
Główny ()
{
wew;
intj;
int kr_vect = 0;
DEF_GENPAT("przykład");
/* interfejs */
DECLAR („a”, „:2”, „X”, IN, „3 do 0”, „” );
DECLAR („b”, „:2”, „X”, IN, „3 do 0”, „” );
DECLAR („s”, „:2”, „X”, OUT, „3 do 0”, „” );
DECLAR („vdd”, „:2”, „B”, IN, „”, „” );
DECLAR („vss”, „:2”, „B”, IN, „”, „” );
ETYKIETA („dodatek”);
WPŁYW („0”, „vdd”, „0b1”);
AFEKT („0”, „vss”, „0b0”);
dla (i=0; i<16; i++)
{
dla (j=0; j<16; j++)
{
AFFECT (inttostr(cur_vect), "a", inttostr(i) );
AFFECT (inttostr(cur_vect), "b", inttostr(j) );
cur_vect++;
}
}
SAV_GENPAT ();
}
ŚRODOWISKO ZMIENNE
Genpat odczytuje zmienną środowiskową VH_PATSFX, aby nadać plikowi wynikowemu rozszerzenie.
Skorzystaj z Alliance-genpat online, korzystając z usług onworks.net