InggrisPerancisSpanyol

Ad


favorit OnWorks

iverilog - Online di Cloud

Jalankan iverilog di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah iverilog yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


iverilog - kompiler Icarus Verilog

RINGKASAN


iverilog [-ESVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=nilai] [-dname]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-ypath] file sumber

DESKRIPSI


iverilog adalah kompiler yang menerjemahkan kode sumber Verilog ke dalam program yang dapat dieksekusi untuk
simulasi, atau format netlist lainnya untuk diproses lebih lanjut. Saat ini didukung
target adalah vp untuk simulasi, dan FPGA untuk sintesis. Jenis target lainnya ditambahkan sebagai
generator kode diimplementasikan.

PILIHAN


iverilog menerima opsi berikut:

-Bmendasarkan Grafik iverilog program menggunakan program eksternal dan file konfigurasi untuk preprocess
dan kompilasi sumber Verilog. Biasanya, jalur yang digunakan untuk menemukan alat ini adalah
dibangun ke dalam iverilog program. Namun, -B sakelar memungkinkan pengguna untuk memilih
satu set program yang berbeda. Jalur yang diberikan digunakan untuk menemukan ivlpp, ivl, kode
generator dan modul VPI.

-cfillet -ffillet
Bendera ini menentukan file input yang berisi daftar file sumber Verilog.
Ini mirip dengan Command fillet dari simulator Verilog lainnya, karena itu adalah
file yang berisi nama file alih-alih mengambilnya di baris perintah. Lihat
perintah File di bawah.

-Dmakro Mendefinisikan makro makro dengan string `1' sebagai definisinya. Bentuk ini biasanya
hanya digunakan untuk memicu kondisi ifdef di sumber Verilog.

-Dmakro = defn
Mendefinisikan makro makro as defn.

-dnama Aktifkan kelas pesan debug kompiler. NS -d sakelar dapat digunakan sebagai
sesering yang diperlukan untuk mengaktifkan semua pesan yang diinginkan. Nama yang didukung adalah
cakupan, eval_tree, elaborasi, dan synth2; nama lain diabaikan.

-E Praproses sumber Verilog, tetapi jangan kompilasi. File keluaran adalah
Masukan Verilog, tetapi dengan inklusi file dan referensi makro diperluas dan dihapus.
Ini berguna, misalnya, untuk mempraproses sumber Verilog untuk digunakan oleh orang lain
kompiler.

-g1995|-g2001|-g2001-noconfig|-g2005
Pilih bahasa Verilog generasi untuk mendukung dalam kompiler. Ini memilih
antara IEEE1364-1995, IEEE1364-2001, atau IEEE1364-2005. Biasanya, Icarus Verilog
default ke generasi bahasa terbaru yang diketahui. Bendera ini paling berguna
untuk membatasi bahasa ke satu set yang didukung oleh alat generasi tertentu, untuk
kompatibilitas dengan alat lain.

-gverilog-ams|-gno-verilog-ams
Mengaktifkan atau menonaktifkan dukungan (default) untuk Verilog-AMS. Sangat sedikit Verilog-AMS
fungsi tertentu saat ini didukung.

-g tentukan|-gno-tentukan
Aktifkan atau nonaktifkan (default) tentukan dukungan blokir. Saat diaktifkan, tentukan blok
kode dijabarkan. Saat dinonaktifkan, tentukan blok yang diuraikan tetapi diabaikan. Menentukan
blok biasanya tidak diperlukan untuk simulasi RTL, dan pada kenyataannya dapat merugikan
kinerja simulasi. Namun, menonaktifkan blok tertentu mengurangi akurasi
simulasi full-time.

-gstd-termasuk|-gno-std-termasuk
Aktifkan (default) atau nonaktifkan pencarian instalasi standar termasuk
direktori setelah semua direktori include eksplisit lainnya. Standar ini termasuk
direktori adalah tempat yang nyaman untuk menginstal file header standar yang Verilog
program mungkin termasuk.

-kerabat-termasuk|-gno-relatif-termasuk
Mengaktifkan atau menonaktifkan (default) menambahkan direktori file lokal ke awal
termasuk jalur pencarian file. Hal ini memungkinkan file untuk dimasukkan relatif terhadap
file saat ini bukan file yang lebih umum hanya ditemukan di direktori kerja atau
di jalur pencarian file include yang ditentukan.

-gxtypes|-gno-xtypes
Aktifkan (default) atau nonaktifkan dukungan untuk tipe yang diperluas. Mengaktifkan jenis yang diperluas
memungkinkan jenis baru yang didukung oleh Icarus Verilog sebagai ekstensi di luar
dasar Verilog. Mungkin perlu menonaktifkan tipe yang diperluas jika mengkompilasi kode
yang bentrok dengan beberapa kata kunci baru yang digunakan untuk menerapkan sistem tipe.

-gio-rentang-kesalahan|-gno-io-rentang-kesalahan
Standar mengharuskan port vektor memiliki rentang yang cocok untuk portnya
deklarasi serta setiap deklarasi net/register. Itu adalah praktik umum di
masa lalu untuk hanya menentukan rentang untuk deklarasi net/register dan beberapa alat
masih mengizinkan ini. Secara default, ketidakcocokan apa pun dilaporkan sebagai kesalahan. Menggunakan
-gno-io-rentang-kesalahan akan menghasilkan peringatan alih-alih kesalahan fatal untuk kasus ini
dari jaring/register vektor dan deklarasi port skalar.

-gstrit-ca-eval|-gno-ketat-ca-eval
Standar mengharuskan jika ada input ke ekspresi penugasan berkelanjutan
mengubah nilai, seluruh ekspresi dievaluasi ulang. Secara default, bagian dari
ekspresi yang tidak bergantung pada nilai input yang diubah tidak dievaluasi ulang.
Jika ekspresi berisi panggilan ke fungsi yang tidak hanya bergantung pada
nilai input atau yang memiliki efek samping, perilaku yang dihasilkan akan berbeda dari
yang dipersyaratkan oleh standar. Menggunakan -gstrit-ca-eval akan memaksa standar
perilaku patuh (dengan beberapa kehilangan kinerja).

-Itermasuk
Tambahkan direktori termasuk ke daftar direktori yang dicari Verilog termasuk
file. Itu -I switch dapat digunakan berkali-kali untuk menentukan beberapa direktori ke
search, direktori dicari sesuai urutan kemunculannya di baris perintah.

-Mpath Tulis ke dalam file yang ditentukan oleh jalur daftar file yang berkontribusi pada
kompilasi desain. Ini termasuk file yang disertakan oleh include
arahan dan file yang dimuat secara otomatis oleh dukungan perpustakaan. Hasil
adalah satu nama file per baris, tanpa spasi awal atau akhir.

-mmodul
Tambahkan modul ini ke daftar modul VPI yang akan dimuat oleh simulasi. Banyak
modul dapat ditentukan, dan semua akan dimuat, dalam urutan yang ditentukan. NS
modul sistem implisit dan selalu disertakan. Jika file Tabel Fungsi Sistem
( .sft) ada untuk modul yang akan dimuat secara otomatis.

-Npath Ini digunakan untuk men-debug compiler yang tepat. Buang formulir netlist terakhir dari
desain ke file yang ditentukan. Jika tidak, itu tidak mempengaruhi pengoperasian
penyusun. Dump terjadi setelah desain dielaborasi dan dioptimalkan.

-o nama file
Tempatkan output dalam file nama file. Jika tidak ada nama file keluaran yang ditentukan, iverilog
menggunakan nama default keluar.

-pbendera = nilai
Tetapkan nilai ke bendera target tertentu. NS -p sakelar dapat digunakan sesering
diperlukan untuk menentukan semua flag yang diinginkan. Bendera yang digunakan tergantung pada
target yang dipilih, dan dijelaskan dalam dokumentasi spesifik target. Bendera
yang tidak digunakan diabaikan.

-S Mempersatukan. Biasanya, jika target dapat menerima deskripsi perilaku,
compiler akan meninggalkan proses dalam bentuk perilaku. NS -S saklar menyebabkan
compiler untuk melakukan sintesis bahkan jika tidak diperlukan untuk target. jika
jenis target adalah format netlist, -S switch tidak diperlukan dan tidak berpengaruh.

-s modul atas
Tentukan modul tingkat atas untuk diuraikan. Icarus Verilog secara default akan memilih
modul yang tidak dipakai di modul lain, tetapi terkadang itu tidak
cukup, atau membuat terlalu banyak modul. Jika pengguna menentukan satu atau lebih
modul root dengan -s flag, maka mereka akan digunakan sebagai modul root sebagai gantinya.

-Tmin|ketik|maks
Gunakan sakelar ini untuk memilih waktu min, ketik, atau maks dari ekspresi min:typ:max.
Biasanya, kompiler hanya akan menggunakan nilai typ dari ekspresi ini
(mencetak peringatan untuk sepuluh yang pertama ditemukan) tetapi sakelar ini akan memberi tahu
compiler secara eksplisit nilai mana yang akan digunakan. Ini akan menekan peringatan bahwa
compiler membuat pilihan.

-ttarget
Gunakan sakelar ini untuk menentukan format keluaran target. Lihat SASARAN bagian di bawah
untuk daftar format output yang valid.

-v Aktifkan pesan verbose. Ini akan mencetak baris perintah yang dieksekusi ke
melakukan kompilasi yang sebenarnya, bersama dengan informasi versi dari berbagai
komponen, serta versi produk secara keseluruhan. Anda akan melihat
bahwa baris perintah menyertakan referensi ke file sementara utama yang lewat
informasi ke compiler yang tepat. Agar file itu tidak dihapus di
akhir proses, berikan nama file Anda sendiri di variabel lingkungan
IVERILOG_ICONFIG.

-V Cetak versi kompiler, dan keluar.

-Wkelas Aktifkan kelas peringatan yang berbeda. Lihat PERINGATAN JENIS bagian di bawah untuk
deskripsi kelompok peringatan yang berbeda. Jika banyak -W sakelar digunakan,
set peringatan adalah gabungan dari semua kelas yang diminta.

-ylibdir
Tambahkan direktori ke jalur pencarian modul perpustakaan. Ketika kompiler menemukan
modul undefined, terlihat di direktori ini untuk file dengan nama yang tepat.

-Yakhiran
Tambahkan sufiks ke daftar sufiks nama file yang diterima yang digunakan saat mencari
perpustakaan untuk sel. Daftar default ke entri tunggal .v.

MODUL PERPUSTAKAAN


Kompiler Icarus Verilog mendukung pustaka modul sebagai direktori yang berisi Verilog
file sumber. Selama elaborasi, kompiler memperhatikan instantiasi undefined
jenis modul. Jika pengguna menentukan direktori pencarian perpustakaan, kompiler akan mencari
direktori untuk file dengan nama tipe modul yang hilang. Jika menemukan file seperti itu,
itu memuatnya sebagai file sumber Verilog, mereka mencoba lagi untuk menguraikan modul.

File modul perpustakaan hanya boleh berisi satu modul, tetapi ini bukan persyaratan.
Modul perpustakaan dapat mereferensikan modul lain di perpustakaan atau di desain utama.

SASARAN


Kompiler Icarus Verilog mendukung berbagai target, untuk tujuan yang berbeda, dan
-t switch digunakan untuk memilih target yang diinginkan.

nol Target nol menyebabkan tidak ada kode yang dihasilkan. Berguna untuk memeriksa
sintaks dari sumber Verilog.

vp Ini adalah default. Target vvp menghasilkan kode untuk runtime vvp. Hasil
adalah program lengkap yang mensimulasikan desain tetapi harus dijalankan oleh vp
perintah.

FPGA Ini adalah target sintesis yang mendukung berbagai perangkat FPGA, sebagian besar oleh EDIF
keluaran format. Generator kode FPGA Icarus Verilog dapat menghasilkan lengkap
desain atau makro EDIF yang pada gilirannya dapat diimpor ke desain yang lebih besar oleh orang lain
peralatan. NS FPGA target menyiratkan sintesis -S bendera.

vhdl Target ini menghasilkan terjemahan VHDL dari netlist Verilog. Keluarannya adalah
file tunggal yang berisi entitas VHDL yang sesuai dengan modul di Verilog
Kode sumber. Perhatikan bahwa hanya sebagian dari bahasa Verilog yang didukung. Lihat
wiki untuk informasi lebih lanjut.

PERINGATAN JENIS


Ini adalah jenis peringatan yang dapat dipilih oleh -W mengalihkan. Semua peringatan
jenis (selain semua) juga dapat diawali dengan tidak- untuk mematikan peringatan itu. Ini adalah
paling berguna setelah a -Dinding argumen untuk menekan jenis peringatan yang terisolasi.

semua Ini memungkinkan implisit, portbind, rentang-pilih, skala waktu, dan
kategori peringatan sensitivitas-seluruh-array.

implisit
Ini memungkinkan peringatan untuk pembuatan deklarasi implisit. Misalnya, jika
kawat skalar X digunakan tetapi tidak dideklarasikan dalam sumber Verilog, ini akan mencetak
peringatan pada penggunaan pertama.

pengikat port
Ini mengaktifkan peringatan untuk port dari instantiasi modul yang tidak terhubung
tapi mungkin harus. Port input yang menggantung, misalnya, akan menghasilkan a
peringatan.

pilih-rentang
Ini memungkinkan peringatan untuk pemilihan di luar batas yang konstan. Ini termasuk sebagian atau
pilihan yang sepenuhnya di luar batas serta pilihan yang berisi 'bx atau 'bz di
indeks.

skala waktu
Ini memungkinkan peringatan untuk penggunaan arahan skala waktu yang tidak konsisten. Ini mendeteksi
jika beberapa modul tidak memiliki skala waktu, atau jika modul mewarisi skala waktu dari yang lain
mengajukan. Keduanya mungkin berarti bahwa rentang waktu tidak konsisten, dan waktu simulasi
dapat membingungkan dan bergantung pada urutan kompilasi.

masuk Ini memungkinkan peringatan untuk pernyataan always yang mungkin memiliki loop tak terbatas runtime
(memiliki jalur tanpa atau tanpa penundaan). Kelas peringatan ini tidak termasuk dalam -Dinding
dan karenanya tidak memiliki tidak- varian. Pesan kesalahan fatal akan selalu
dicetak ketika kompiler dapat menentukan bahwa pasti akan ada yang tak terbatas
loop (semua jalur tidak memiliki atau nol penundaan).

Saat Anda mencurigai pernyataan selalu menghasilkan loop tak terbatas runtime, gunakan ini
flag untuk menemukan pernyataan always yang perlu diverifikasi logikanya. Dia
berharap bahwa banyak dari peringatan akan menjadi positif palsu, karena kode tersebut memperlakukan
nilai semua variabel dan sinyal sebagai tak tentu.

sensitivitas-seluruh-vektor
Ini mengaktifkan peringatan ketika suatu bagian memilih dalam pernyataan "selalu @*"
menghasilkan seluruh vektor yang ditambahkan ke daftar sensitivitas implisit.
Meskipun perilaku ini ditentukan oleh standar IEEE, bukan itu yang mungkin
diharapkan dan dapat memiliki implikasi kinerja jika vektornya besar.

sensitivitas-seluruh-array
Ini mengaktifkan peringatan ketika sebuah kata dipilih dalam pernyataan "selalu @*"
menghasilkan seluruh array yang ditambahkan ke daftar sensitivitas implisit. Meskipun
perilaku ini ditentukan oleh standar IEEE, bukan itu yang mungkin terjadi
diharapkan dan dapat memiliki implikasi kinerja jika array besar.

SISTEM FUNGSI TABEL FILE


Jika nama file sumber sebagai .sft akhiran, maka diambil menjadi tabel fungsi sistem
mengajukan. File tabel fungsi Sistem digunakan untuk menjelaskan kepada kompiler tipe pengembalian
untuk fungsi sistem. Ini diperlukan karena kompiler membutuhkan informasi ini untuk
ekspresi rumit yang berisi fungsi sistem ini, tetapi tidak dapat menjalankan sizetf
berfungsi karena tidak memiliki run-time.

Format tabel adalah ASCII, satu fungsi per baris. Baris kosong diabaikan, dan
baris yang dimulai dengan '#' karakter adalah baris komentar. Setiap baris non-komentar dimulai
dengan nama fungsi, lalu jenis vpi (yaitu vpiSysFuncReal). Jenis berikut adalah
didukung:

vpiSysFuncReal
Fungsi mengembalikan nilai real/realtime.

vpiSysFuncInt
Fungsi mengembalikan bilangan bulat.

vpiSysFuncSized
Fungsi mengembalikan vektor dengan lebar yang diberikan, dan ditandatangani atau tidak ditandatangani
sesuai dengan bendera.

COMMAND FILE


File perintah memungkinkan pengguna untuk menempatkan nama file sumber dan baris perintah tertentu
beralih ke file teks alih-alih pada baris perintah yang panjang. File perintah dapat mencakup C
atau komentar gaya C++, serta # komentar, jika # memulai baris.

fillet nama
Nama file sederhana atau jalur file diambil sebagai nama file sumber Verilog.
Jalur dimulai dengan karakter non-spasi pertama. Variabel adalah
diganti dengan nama file.

-c file cmd -f file cmd
A -c or -f token mengawali file perintah, persis seperti pada perintah
garis. Cmdfile mungkin berada di baris yang sama atau baris non-komentar berikutnya.

-y libdir
A -y token mengawali direktori perpustakaan di file perintah, persis seperti itu
pada baris perintah. Parameter ke -y bendera mungkin berada di baris yang sama atau
baris non-komentar berikutnya.

Variabel dalam libdir diganti.

+termasuk+termasuk
Grafik +termasuk+ token dalam file perintah memberikan direktori untuk mencari file yang disertakan
dalam banyak cara yang sama itu -I flag bekerja pada baris perintah. Perbedaannya adalah
banyak itu +termasukdir direktori adalah parameter yang valid untuk satu +termasuk+
token, meskipun Anda mungkin juga memiliki banyak +termasuk+ garis.

Variabel dalam termasuk diganti.

+libex+ext
Grafik +liberteks token dalam file perintah lima ekstensi file untuk dicoba saat mencari a
berkas perpustakaan. Ini berguna dalam hubungannya dengan -y tandai untuk membuat daftar sufiks untuk dicoba
di setiap direktori sebelum pindah ke direktori perpustakaan berikutnya.

+libdir+dir
Ini adalah cara lain untuk menentukan direktori perpustakaan. Lihat bendera -y.

+libdir-nocase+dir
Ini seperti +libdir pernyataan, tetapi nama file di dalam direktori dinyatakan
di sini tidak peka huruf besar-kecil. Nama modul yang hilang dalam pencarian tidak harus cocok dengan
nama file case, asalkan hurufnya benar. Misalnya, "foo" cocok
"Foo.v" tetapi bukan "bar.v".

+tentukan+NAMA=nilai
Grafik +tentukan+ tandanya sama dengan -D pilihan pada baris perintah. Nilai
bagian dari token adalah opsional.

+skala waktu+nilai
Grafik +skala waktu+ token digunakan untuk mengatur skala waktu default untuk simulasi.
Ini adalah satuan waktu dan presisi sebelum `petunjuk skala waktu atau setelah a
`reset direktif. Standarnya adalah 1s/1s.

+nama file atas
Token ini menyebabkan nama file setelah ini di file perintah diterjemahkan ke
huruf besar. Ini membantu dengan situasi di mana direktori telah melewati DOS
mesin, dan dalam prosesnya nama file menjadi munged.

+tolower-nama file
Ini mirip dengan +nama file atas hack yang dijelaskan di atas.

+lebar bilangan bulat+nilai
Hal ini memungkinkan programmer untuk memilih lebar untuk variabel integer di
sumber Verilog. Standarnya adalah 32, nilainya bisa berupa nilai integer yang diinginkan.

VARIABEL IN COMMAND FILE


Dalam kasus tertentu, iverilog mendukung variabel dalam file perintah. Ini adalah string dari
bentuk "$(nama belakang)" atau "${nama belakang}", di mana nama belakang adalah nama variabel lingkungan
untuk membaca. Seluruh string diganti dengan isi variabel itu. Variabel adalah
hanya diganti dalam konteks yang secara eksplisit mendukungnya, termasuk file dan direktori
string.

Nilai variabel berasal dari lingkungan sistem operasi, dan bukan dari praprosesor
mendefinisikan di tempat lain dalam file atau baris perintah.

DITENTUKAN SEBELUMNYA MAKROS


Makro berikut telah ditentukan sebelumnya oleh kompiler:

__ICARUS__ = 1
Ini selalu ditentukan saat kompilasi dengan Icarus Verilog.

__VAMS_AKTIF__ = 1
Ini ditentukan jika Verilog-AMS diaktifkan.

CONTOH


Contoh-contoh ini mengasumsikan bahwa Anda memiliki file sumber Verilog bernama hello.v saat ini
direktori

Untuk mengkompilasi hello.v ke file yang dapat dieksekusi bernama a.out:

iverilog halo.v

Untuk mengkompilasi hello.v ke file yang dapat dieksekusi bernama hello:

iverilog -o halo halo.v

Untuk mengkompilasi dan menjalankan secara eksplisit menggunakan vvp runtime:

iverilog -ohello.vvp -tvvp halo.v

Gunakan iverilog online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad