Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

iverilog - Online w chmurze

Uruchom iverilog w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie iverilog, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


iverilog - kompilator Icarus Verilog

STRESZCZENIE


iverilog [-ESVv] [-Bścieżka] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=wartość] [-dname]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmoduł] [-Mplik] [-Nplik]
[-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-yścieżka] plik źródłowy

OPIS


iverilog to kompilator, który tłumaczy kod źródłowy Verilog na programy wykonywalne dla
symulacji lub innych formatów list sieci do dalszego przetwarzania. Obecnie obsługiwane
cele są ww do symulacji i FPGA do syntezy. Inne typy docelowe są dodawane jako
zaimplementowane są generatory kodu.

OPCJE


iverilog akceptuje następujące opcje:

-Bbaza Połączenia iverilog program używa zewnętrznych programów i plików konfiguracyjnych do wstępnego przetwarzania
i skompiluj źródło Verilog. Zwykle ścieżka używana do zlokalizowania tych narzędzi to
wbudowany w iverilog program. Jednakże -B przełącznik umożliwia użytkownikowi wybór
inny zestaw programów. Podana ścieżka służy do lokalizacji ivlpp, IVl, kod
generatory i moduły VPI.

-cfilet -ffilet
Te flagi określają plik wejściowy, który zawiera listę plików źródłowych Verilog.
Jest to podobne do komenda filet innych symulatorów Verilog, ponieważ jest to
plik, który zawiera nazwy plików, zamiast pobierać je z wiersza poleceń. Widzieć
Command Akta poniżej.

-Dmakro Definiuje makro makro z łańcuchem `1' jako jego definicją. Ta forma jest normalna
używany tylko do wyzwalania warunkowych ifdef w źródle Verilog.

-Dmakro=defn
Definiuje makro makro as zdefiniuj.

-dNazwa Aktywuj klasę komunikatów debugowania kompilatora. The -d przełącznik może być używany jako
tak często, jak to konieczne, aby aktywować wszystkie żądane wiadomości. Obsługiwane nazwy to
zakresy, eval_tree, opracowanie i synth2; wszelkie inne nazwy są ignorowane.

-E Przetwórz wstępnie źródło Verilog, ale nie kompiluj go. Plik wyjściowy to
Dane wejściowe Verilog, ale z rozszerzonymi i usuniętymi inkluzjami plików i odniesieniami do makr.
Jest to przydatne na przykład do wstępnego przetwarzania źródła Verilog do użytku przez innych
kompilatory.

-g1995|-g2001|-g2001-noconfig|-g2005
Wybierz język Verilog generacja do obsługi w kompilatorze. To wybiera
pomiędzy IEEE1364-1995, IEEE1364-2001lub IEEE1364-2005. Normalnie Icarus Verilog
domyślnie jest to najnowsza znana generacja języka. Ta flaga jest najbardziej przydatna
ograniczyć język do zestawu obsługiwanego przez narzędzia konkretnych generacji, np
kompatybilność z innymi narzędziami.

-gverilog-ams|-gno-verilog-ams
Włącz lub wyłącz (domyślnie) obsługę Verilog-AMS. Bardzo mało Verilog-AMS
konkretna funkcjonalność jest obecnie obsługiwana.

-gokreśl|-gno-określ
Włącz lub wyłącz (domyślnie) określ obsługę bloków. Po włączeniu określ blok
kod jest opracowany. Po wyłączeniu określ, że bloki są analizowane, ale ignorowane. Sprecyzować
bloki zwykle nie są potrzebne do symulacji RTL, aw rzeczywistości mogą zaszkodzić
wykonanie symulacji. Jednak wyłączenie określania bloków zmniejsza dokładność
symulacji w pełnym wymiarze czasowym.

-gstd-include|-gno-std-include
Włącz (domyślnie) lub wyłącz wyszukiwanie standardowej instalacji
katalog po wszystkich innych jawnych katalogach dołączanych. Ten standard obejmuje
katalog jest wygodnym miejscem do instalowania standardowych plików nagłówkowych, które Verilog
program może obejmować.

-pokrewny-zawiera|-gno-relative-include
Włącz lub wyłącz (domyślnie) dodawanie lokalnego katalogu plików na początku
ścieżka wyszukiwania plików dołączanych. Pozwala to na uwzględnianie plików względem
bieżący plik, a nie bardziej popularne pliki, znajdują się tylko w katalogu roboczym lub
w określonej ścieżce wyszukiwania plików dołączanych.

-gxtypy|-gno-xtypes
Włącz (domyślnie) lub wyłącz obsługę typów rozszerzonych. Włączanie typów rozszerzonych
pozwala na nowe typy, które są obsługiwane przez Icarus Verilog jako rozszerzenia poza
linia bazowa Verilog. W przypadku kompilowania kodu może być konieczne wyłączenie typów rozszerzonych
co koliduje z kilkoma nowymi słowami kluczowymi używanymi do implementacji systemu typów.

-błąd-zakresu gio|-gno-io-błąd zakresu
Standardy wymagają, aby port wektorowy miał pasujące zakresy dla swojego portu
deklaracji, jak również wszelkie deklaracje dotyczące sieci/rejestru. Była to powszechna praktyka w tzw
past, aby określić tylko zakres dla deklaracji net/register i niektórych narzędzi
nadal na to pozwalaj. Domyślnie każda niezgodność jest zgłaszana jako błąd. Za pomocą
-gno-io-błąd zakresu wyświetli ostrzeżenie zamiast błędu krytycznego dla sprawy
wektoryzowanej sieci/rejestru i deklaracji portu skalarnego.

-gstrict-ca-eval|-gno-scisly-ca-eval
Standard wymaga, aby w przypadku wprowadzania danych do wyrażenia przypisania ciągłego
zmienia wartość, całe wyrażenie jest ponownie oceniane. Domyślnie części
wyrażenia, które nie zależą od zmienionych wartości wejściowych, nie są ponownie oceniane.
Jeśli wyrażenie zawiera wywołanie funkcji, która nie zależy wyłącznie od niej
wartości wejściowych lub który ma skutki uboczne, wynikowe zachowanie będzie się różnić od
wymagane przez normę. Za pomocą -gstrict-ca-eval wymusi normę
zgodne zachowanie (z pewną utratą wydajności).

-Iwłączoneir
Dołącz katalog włączoneir do listy katalogów wyszukiwanych dla Verilog obejmują
akta. -I switch może być używany wiele razy, aby określić kilka katalogów
search, katalogi są przeszukiwane w kolejności, w jakiej pojawiają się w wierszu poleceń.

-Mścieżka Wpisz do pliku określonego przez ścieżkę listę plików, które przyczyniają się do
kompilacja projektu. Obejmuje to pliki, które są uwzględniane przez include
dyrektywy i pliki, które są automatycznie ładowane przez obsługę bibliotek. Wyjście
to jedna nazwa pliku w wierszu, bez spacji na początku i na końcu.

-mmoduł
Dodaj ten moduł do listy modułów VPI, które mają zostać załadowane przez symulację. Wiele
można określić moduły i wszystkie zostaną załadowane w określonej kolejności. The
moduł systemowy jest niejawny i zawsze dołączany. Jeśli plik tabeli funkcji systemu
( .sft) istnieje dla modułu, który zostanie załadowany automatycznie.

-Nścieżka Służy do debugowania właściwego kompilatora. Zrzuć ostateczną formę listy sieci
projekt do wskazanego pliku. W przeciwnym razie nie ma to wpływu na działanie
kompilator. Zrzut następuje po opracowaniu i optymalizacji projektu.

-o filename
Umieść dane wyjściowe w pliku filename. Jeśli nie podano nazwy pliku wyjściowego, iverilog
używa nazwy domyślnej a.wyj.

-pflaga=wartość
Przypisz wartość do flagi specyficznej dla celu. The -p przełącznik może być używany tak często, jak
konieczne jest określenie wszystkich żądanych flag. Używane flagi zależą od
cel, który jest wybrany i są opisane w dokumentacji specyficznej dla celu. Flagi
które nie są używane są ignorowane.

-S Syntetyzuj. Normalnie, jeśli cel może zaakceptować opisy behawioralne
kompilator pozostawi procesy w formie behawioralnej. The -S przełącznik powoduje
kompilator do przeprowadzenia syntezy, nawet jeśli nie jest to konieczne dla celu. jeśli
Typ docelowy to format listy sieci, tzw -S przełącznik jest zbędny i nie ma żadnego efektu.

-s moduł górny
Określ moduł najwyższego poziomu do opracowania. Icarus Verilog domyślnie wybierze
moduły, które nie są tworzone w żadnych innych modułach, ale czasami tak nie jest
wystarczające lub tworzy instancję zbyt wielu modułów. Jeśli użytkownik określi jeden lub więcej
moduły root z -s flagi, to zamiast tego będą używane jako moduły główne.

-Tmin|typ|maks
Użyj tego przełącznika, aby wybrać min, typ lub max czasy spośród wyrażeń min:typ:max.
Zwykle kompilator po prostu użyje wartości typu z tych wyrażeń
(drukowanie ostrzeżenia dla pierwszych dziesięciu znalezionych), ale ten przełącznik powie
kompilator wyraźnie, której wartości użyć. Spowoduje to pominięcie ostrzeżenia, że
kompilator dokonuje wyboru.

-tcel
Użyj tego przełącznika, aby określić docelowy format wyjściowy. Zobacz CELE sekcja poniżej
aby wyświetlić listę prawidłowych formatów wyjściowych.

-v Włącz obszerne wiadomości. Spowoduje to wydrukowanie wierszy poleceń, które są wykonywane
wykonać właściwą kompilację wraz z informacjami o wersji z różnych
komponentów, jak również wersji produktu jako całości. Zauważysz
że wiersze poleceń zawierają odwołanie do pliku tymczasowego klucza, który przechodzi
informacje do kompilatora właściwego. Aby zapobiec usunięciu tego pliku w
koniec procesu, podaj własną nazwę pliku w zmiennej środowiskowej
IVERILOG_ICONFIG.

-V Wydrukuj wersję kompilatora i wyjdź.

-Wklasa Włącz różne klasy ostrzeżeń. Zobacz OSTRZEŻENIE TYPY sekcja poniżej dla
opisy różnych grup ostrzegawczych. Jeśli wielokrotne -W stosowane są przełączniki,
zestaw ostrzeżeń jest połączeniem wszystkich żądanych klas.

-ylibdira
Dołącz katalog do ścieżki wyszukiwania modułu bibliotecznego. Gdy kompilator znajdzie plik
undefined, szuka w tych katalogach plików o odpowiedniej nazwie.

-Yprzyrostek
Dodaj sufiks do listy akceptowanych sufiksów nazw plików używanych podczas wyszukiwania plików
biblioteka dla komórek. Domyślnie lista zawiera pojedynczy wpis .v.

MODUŁ BIBLIOTEKI


Kompilator Icarus Verilog obsługuje biblioteki modułów jako katalogi zawierające Verilog
pliki źródłowe. Podczas opracowywania kompilator zauważa utworzenie instancji undefined
typy modułów. Jeśli użytkownik określi katalogi wyszukiwania bibliotek, kompilator przeszuka
katalog dla plików o nazwie brakującego typu modułu. Jeśli znajdzie taki plik,
ładuje go jako plik źródłowy Verilog, próbują ponownie opracować moduł.

Pliki modułów bibliotecznych powinny zawierać tylko jeden moduł, ale nie jest to wymagane.
Moduły biblioteczne mogą odwoływać się do innych modułów w bibliotece lub w projekcie głównym.

CELE


Kompilator Icarus Verilog obsługuje różne cele, do różnych celów, a
-t służy do wyboru żądanego celu.

zero Wartość docelowa o wartości null powoduje, że nie jest generowany żaden kod. Jest to przydatne do sprawdzania
składnia źródła Verilog.

ww To jest ustawienie domyślne. Cel vvp generuje kod dla środowiska uruchomieniowego vvp. Wyjście
to kompletny program, który symuluje projekt, ale musi być uruchamiany przez ww
dowództwo.

FPGA Jest to cel syntezy, który obsługuje różne urządzenia FPGA, głównie przez EDIF
formatowanie danych wyjściowych. Generator kodu FPGA Icarus Verilog może generować kompletne
projekty lub makra EDIF, które z kolei mogą być importowane do większych projektów przez inne osoby
narzędzia. The FPGA cel implikuje syntezę -S flag.

vhdl Ten cel tworzy tłumaczenie VHDL listy sieci Verilog. Wyjście to A
pojedynczy plik zawierający jednostki VHDL odpowiadające modułom w Verilog
kod źródłowy. Należy zauważyć, że obsługiwany jest tylko podzbiór języka Verilog. Widzieć
wiki, aby uzyskać więcej informacji.

OSTRZEŻENIE TYPY


Są to rodzaje ostrzeżeń, które mogą zostać wybrane przez program -W przełącznik. Całe ostrzeżenie
typy (inne niż cała kolekcja) można również poprzedzić przedrostkiem no- aby wyłączyć to ostrzeżenie. To jest
najbardziej przydatne po -Ściana argument, aby pominąć izolowane typy ostrzeżeń.

cała kolekcja Umożliwia to implicit, portbind, select-range, timescale i
kategorie ostrzeżeń dla całej tablicy czułości.

domniemany
Umożliwia to ostrzeżenia o tworzeniu niejawnych deklaracji. Na przykład, jeśli
drut skalarny X jest używany, ale nie zadeklarowany w źródle Verilog, spowoduje to wydrukowanie a
ostrzeżenie przy pierwszym użyciu.

portbind
Włącza to ostrzeżenia dla portów instancji modułów, które nie są połączone
ale chyba powinien. Na przykład zwisające porty wejściowe wygenerują plik
ostrzeżenie.

wybierz zakres
Włącza to ostrzeżenia o ciągłych selekcjach poza zakresem. Obejmuje to częściowe lub
całkowicie poza granicami wyboru, jak również wybór zawierający „bx lub” bz w
index.

harmonogram
Umożliwia to ostrzeżenia o niespójnym użyciu dyrektywy timescale. Wykrywa
jeśli niektóre moduły nie mają skali czasu lub jeśli moduły dziedziczą skalę czasu z innego
plik. Oba prawdopodobnie oznaczają, że skale czasowe są niespójne, a synchronizacja symulacji
może być mylące i zależne od kolejności kompilacji.

napływ Włącza to ostrzeżenia dla instrukcji always, które mogą mieć nieskończone pętle w czasie wykonywania
(ma ścieżki bez lub zerowym opóźnieniem). Ta klasa ostrzeżeń nie jest uwzględniona w -Ściana
a więc nie ma no- wariant. Komunikat o błędzie krytycznym będzie zawsze
drukowane, gdy kompilator może określić, że na pewno będzie nieskończoność
pętla (wszystkie ścieżki nie mają żadnego lub zerowego opóźnienia).

Jeśli podejrzewasz, że instrukcja always tworzy nieskończoną pętlę w czasie wykonywania, użyj tego
flag, aby znaleźć instrukcje always, których logika musi zostać zweryfikowana. To jest
oczekiwano, że wiele ostrzeżeń będzie fałszywych alarmów, ponieważ kod traktuje
wartość wszystkich zmiennych i sygnałów jako nieokreślona.

czułość-cały-wektor
Włącza to ostrzeżenia, gdy część zostanie wybrana w ramach instrukcji „always @*”.
powoduje dodanie całego wektora do listy niejawnych czułości.
Chociaż takie zachowanie jest zalecane przez standard IEEE, nie jest to możliwe
można się spodziewać i może mieć wpływ na wydajność, jeśli wektor jest duży.

czułość-cała-tablica
Włącza to ostrzeżenia, gdy słowo zostanie wybrane w instrukcji „always @*”.
powoduje dodanie całej tablicy do listy niejawnych czułości. Chociaż
to zachowanie jest zalecane przez standard IEEE, nie jest tym, czym mogłoby być
oczekiwany i może mieć wpływ na wydajność, jeśli tablica jest duża.

SYSTEM FUNKCJA STÓL JADALNIANY AKTA


Jeśli nazwa pliku źródłowego jako .sft sufiksu, to jest traktowana jako tablica funkcji systemowych
plik. Plik tabeli funkcji systemowych służy do opisywania kompilatorowi zwracanych typów
dla funkcji systemowych. Jest to konieczne, ponieważ kompilator potrzebuje tych informacji
skomplikowanych wyrażeń, które zawierają te funkcje systemowe, ale nie mogą uruchamiać sizetf
funkcje, ponieważ nie ma czasu wykonywania.

Format tabeli to ASCII, jedna funkcja w wierszu. Puste wiersze są ignorowane i
linie zaczynające się od '#znak ' to wiersze komentarza. Rozpoczyna się każda linia bez komentarza
z nazwą funkcji, a następnie typem vpi (np. vpiSysFuncReal). Następujące typy są
utrzymany:

vpiSysFuncReal
Funkcja zwraca wartość rzeczywistą/w czasie rzeczywistym.

vpiSysFuncInt
Funkcja zwraca liczbę całkowitą.

Rozmiar vpiSysFunc
Funkcja zwraca wektor o podanej szerokości i jest ze znakiem lub bez znaku
zgodnie z flagą.

COMMAND AKTA


Plik poleceń pozwala użytkownikowi umieścić nazwy plików źródłowych i określoną linię poleceń
przełącza się do pliku tekstowego zamiast w długiej linii poleceń. Pliki poleceń mogą zawierać C
lub komentarze w stylu C++, a także # komentarze, jeśli # rozpoczyna linię.

filet Nazwa
Prosta nazwa pliku lub ścieżka do pliku jest traktowana jako nazwa pliku źródłowego Verilog.
Ścieżka zaczyna się od pierwszego znaku innego niż biały znak. Zmienne są
podstawione w nazwach plików.

-c plik cmd -f plik cmd
A -c or -f token poprzedza plik poleceń, dokładnie tak samo jak w poleceniu
linia. Plik cmd może znajdować się w tej samej linii lub w następnej linii bez komentarza.

-y libdira
A -y token poprzedza katalog biblioteki w pliku poleceń, dokładnie tak, jak to robi
w wierszu poleceń. Parametr do -y flaga może znajdować się w tej samej linii lub w
następna linia bez komentarza.

Zmienne w libdira są zastępowane.

+incdir+włączoneir
Połączenia +incdir+ token w plikach poleceń podaje katalogi do wyszukiwania plików dołączanych
w taki sam sposób, w jaki -I flagi działają w wierszu poleceń. Różnica polega na tym
ta wielokrotność +w cenie reż katalogi są poprawnymi parametrami do single +incdir+
token, chociaż możesz również mieć wiele +incdir+ kwestia.

Zmienne w włączoneir są zastępowane.

+libext+ext
Połączenia +liext token w plikach poleceń Fives rozszerzenia plików do wypróbowania podczas wyszukiwania pliku
plik biblioteki. Jest to przydatne w połączeniu z -y flagi, aby wyświetlić listę sufiksów do wypróbowania
w każdym katalogu przed przejściem do następnego katalogu biblioteki.

+libdir+reż
Jest to inny sposób określania katalogów bibliotek. Zobacz flagę -y.

+libdir-nocase+reż
To jest jak +libdir instrukcja, ale nazwy plików w zadeklarowanych katalogach
tutaj nie jest rozróżniana wielkość liter. Brakująca nazwa modułu w wyszukiwaniu nie musi pasować do
rozmiar nazwy pliku, o ile litery są poprawne. Na przykład pasuje „foo”.
„Foo.v”, ale nie „bar.v”.

+zdefiniuj+IMIĘ=wartość
Połączenia +zdefiniuj+ token jest taki sam jak -D opcja w wierszu poleceń. Wartość
część tokena jest opcjonalna.

+skala czasu+wartość
Połączenia +skala czasu+ token służy do ustawienia domyślnej skali czasu dla symulacji.
Jest to jednostka czasu i precyzja przed jakąkolwiek dyrektywą `timescale lub po a
`resetuj dyrektywę. Wartość domyślna to 1s/1s.

+toupper-nazwa-pliku
Ten token powoduje, że nazwy plików następujące po tym w pliku poleceń mają zostać przetłumaczone na
duże litery. Pomaga to w sytuacjach, gdy katalog przeszedł przez system DOS
maszynie, aw trakcie tego procesu nazwy plików stają się mungowane.

+tolower-nazwa-pliku
Jest to podobne do +toupper-nazwa-pliku hack opisany powyżej.

+szerokość-całkowita+wartość
Pozwala to programiście wybrać szerokość zmiennych całkowitych w pliku
Źródło Verilog. Wartość domyślna to 32, wartość może być dowolną liczbą całkowitą.

ZMIENNE IN COMMAND AKTA


W niektórych przypadkach iverilog obsługuje zmienne w plikach poleceń. To są ciągi tzw
formularz "$(nazwa_zmiennej)" lub "${nazwa_zmiennej}", Gdzie nazwa_zmiennej jest nazwą zmiennej środowiskowej
czytać. Cały łańcuch jest zastępowany zawartością tej zmiennej. Zmienne są
zastępowane tylko w kontekstach, które wyraźnie je obsługują, w tym plików i katalogów
smyczki.

Wartości zmiennych pochodzą ze środowiska systemu operacyjnego, a nie z preprocesora
definiuje gdzie indziej w pliku lub wierszu poleceń.

PREDEFINIOWANE MAKRO


Kompilator predefiniował następujące makra:

__IKAR__ = 1
Jest to zawsze definiowane podczas kompilacji z Icarus Verilog.

__VAMS_WŁĄCZ__ = 1
Jest to zdefiniowane, jeśli Verilog-AMS jest włączony.

PRZYKŁADY


Te przykłady zakładają, że masz plik źródłowy Verilog o nazwie hello.v w bieżącym
katalog

Aby skompilować hello.v do pliku wykonywalnego o nazwie a.out:

iverilog hello.v

Aby skompilować hello.v do pliku wykonywalnego o nazwie hello:

iverilog -o cześć, cześć.v

Aby skompilować i uruchomić jawnie przy użyciu środowiska wykonawczego vvp:

iverilog -ohello.vvp -tvvp hello.v

Korzystaj z iverilog online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad