İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

iverilog - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında iverilog çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen iverilog komutudur.

Program:

ADI


iverilog - Icarus Verilog derleyicisi

SİNOPSİS


ierilog [-ESVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=değer] [-dname]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-ypath] kaynak dosyası

TANIM


ierilog için Verilog kaynak kodunu yürütülebilir programlara çeviren bir derleyicidir.
simülasyon veya daha fazla işlem için diğer netlist formatları. Şu anda desteklenen
hedefler VVP simülasyon için ve fpga sentez için. Diğer hedef türleri şu şekilde eklenir:
kod üreteçleri uygulanır.

SEÇENEKLER


ierilog aşağıdaki seçenekleri kabul eder:

-Bbaz The ierilog program, ön işleme için harici programları ve yapılandırma dosyalarını kullanır.
ve Verilog kaynağını derleyin. Normalde, bu araçları bulmak için kullanılan yol
yerleşik ierilog programı. Ancak -B anahtarı, kullanıcının seçmesine izin verir
farklı bir program seti. Verilen yol bulmak için kullanılır ivlpp, IVl, kod
jeneratörler ve VPI modülleri.

-cdosya -fdosya
Bu bayraklar, Verilog kaynak dosyalarının bir listesini içeren bir girdi dosyasını belirtir.
Bu benzer komuta dosya diğer Verilog simülatörlerinin
komut satırında almak yerine dosya adlarını içeren dosya. Görmek
Komuta dosyalar altında.

-Dmakro makro tanımlar makro tanımı olarak '1' dizesiyle. Bu form normalde
yalnızca Verilog kaynağında ifdef koşullarını tetiklemek için kullanılır.

-Dmakro=defn
makro tanımlar makro as tanım.

-disim Derleyici hata ayıklama iletileri sınıfını etkinleştirin. bu -d anahtarı olarak kullanılabilir
genellikle istenen tüm mesajları etkinleştirmek için gerektiği kadar. Desteklenen isimler
kapsamlar, eval_tree, ayrıntılı ve synth2; diğer isimler dikkate alınmaz.

-E Verilog kaynağını önceden işleyin, ancak derlemeyin. Çıktı dosyası,
Verilog girişi, ancak dosya eklemeleri ve makro referansları genişletildi ve kaldırıldı.
Bu, örneğin başkaları tarafından kullanılmak üzere Verilog kaynağını önceden işlemek için kullanışlıdır.
derleyiciler.

-g1995|-g2001|-g2001-noconfig|-g2005
Verilog dilini seçin nesil derleyicide desteklemek için. Bu seçer
arasında IEEE1364-1995, IEEE1364-2001ya da IEEE1364-2005. Normalde, Icarus Verilog
varsayılan olarak dilin bilinen en son nesline geçer. Bu bayrak en kullanışlıdır
dili, belirli nesillerin araçları tarafından desteklenen bir kümeyle sınırlamak için,
diğer araçlarla uyumluluk.

-gverilog-ams|-gno-verilog-ams
Verilog-AMS desteğini etkinleştirin veya devre dışı bırakın (varsayılan). Çok az Verilog-AMS
belirli işlevler şu anda desteklenmektedir.

-gbelirt|-gno-belirt
Etkinleştirin veya devre dışı bırakın (varsayılan) blok desteğini belirtin. Etkinleştirildiğinde, bloğu belirtin
kod detaylandırılmıştır. Devre dışı bırakıldığında, blokların ayrıştırılacağını ancak yoksayılacağını belirtin. belirtmek
RTL simülasyonu için bloklara genellikle ihtiyaç duyulmaz ve aslında zarar verebilir
simülasyonun performansı. Ancak, belirli blokları devre dışı bırakmak doğruluğu azaltır
tam zamanlı simülasyonlar.

-gstd-dahil|-gno-std-dahil
Aşağıdakileri içeren standart bir kurulum aramasını etkinleştirin (varsayılan) veya devre dışı bırakın
diğer tüm açık dizinlerden sonra dizin. Bu standart şunları içerir:
dizin, bir Verilog'un yüklediği standart başlık dosyalarını yüklemek için uygun bir yerdir.
programı içerebilir.

-bağlı-dahil|-gno-akraba-dahil
Yerel dosyalar dizininin başına eklenmesini etkinleştirin veya devre dışı bırakın (varsayılan).
dahil dosya arama yolu. Bu, dosyaların
geçerli dosya değil, daha yaygın dosyalar yalnızca çalışma dizininde bulunur veya
belirtilen içerme dosyası arama yolunda.

-gxtipleri|-gno-xtipleri
Genişletilmiş türler için desteği etkinleştirin (varsayılan) veya devre dışı bırakın. Genişletilmiş türleri etkinleştirme
ötesinde uzantılar olarak Icarus Verilog tarafından desteklenen yeni türlere izin verir.
temel Verilog. Kod derleniyorsa, genişletilmiş türleri devre dışı bırakmak gerekebilir
bu, tür sistemini uygulamak için kullanılan birkaç yeni anahtar kelimeyle çakışıyor.

-gio-range-hatası|-gno-io-aralık-hatası
Standartlar, vektörlü bir bağlantı noktasının bağlantı noktası için eşleşen aralıklara sahip olmasını gerektirir.
beyanın yanı sıra herhangi bir net/kayıt beyanı. içinde yaygın bir uygulamaydı.
yalnızca ağ/kayıt bildirimi ve bazı araçlar için aralığı belirtmek için geçmiş
yine de buna izin verin. Varsayılan olarak, herhangi bir uyumsuzluk bir hata olarak rapor edilir. kullanma
-gno-io-aralık-hatası vaka için önemli bir hata yerine bir uyarı üretecek
vektörlü bir ağ/kayıt ve bir skaler bağlantı noktası bildirimi.

-gstrict-ca-değerlendirme|-gno-strict-ca-değerlendirme
Standart, sürekli bir atama ifadesine herhangi bir girdi varsa,
değeri değiştirir, tüm ifade yeniden değerlendirilir. Varsayılan olarak, bölümlerin
değiştirilen giriş değerlerine bağlı olmayan ifadeler yeniden değerlendirilmez.
Bir ifade, yalnızca işlevine bağlı olmayan bir işleve çağrı içeriyorsa,
girdi değerleri veya yan etkileri varsa, ortaya çıkan davranış aşağıdakilerden farklı olacaktır.
standardın gerektirdiğidir. kullanma -gstrict-ca-değerlendirme standardı zorlayacak
uyumlu davranış (performans kaybıyla birlikte).

-Idahil
Dizin ekle dahil Verilog için aranan dizinlerin listesine şunları içerir:
Dosyalar. -I anahtarı birkaç dizini belirtmek için birçok kez kullanılabilir.
arama, dizinler komut satırında göründükleri sırayla aranır.

-Myol Yol tarafından belirtilen dosyaya, dosyaya katkıda bulunan dosyaların bir listesini yazın.
tasarımın derlenmesi. Bu, include tarafından dahil edilen dosyaları içerir.
kitaplık desteği tarafından otomatik olarak yüklenen yönergeler ve dosyalar. Çıktı
satır başına bir dosya adıdır, başında veya sonunda boşluk yoktur.

-mmodül
Bu modülü, simülasyon tarafından yüklenecek VPI modülleri listesine ekleyin. Birçok
modüller belirtilebilir ve tümü belirtilen sırayla yüklenir. bu
sistem modülü örtüktür ve her zaman dahildir. Bir Sistem İşlev Tablosu dosyası ise
( .sft) modül için otomatik olarak yüklenecektir.

-Nyol Bu, derleyiciyi uygun şekilde hata ayıklamak için kullanılır. Son netlist formunu dökümü
belirtilen dosyaya tasarım. Aksi takdirde cihazın çalışmasını etkilemez.
derleyici. Döküm, tasarım detaylandırıldıktan ve optimize edildikten sonra gerçekleşir.

-o Dosya
Çıktıyı dosyaya yerleştirin Dosya. Çıktı dosyası adı belirtilmemişse, ierilog
varsayılan adı kullanır a.dışarı.

-pbayrak=değer
Hedefe özel bayrağa bir değer atayın. bu -p anahtarı kadar sık ​​​​kullanılabilir
istenen tüm bayrakları belirtmek için gereklidir. Kullanılan bayraklar şunlara bağlıdır:
seçilen ve hedefe özel belgelerde açıklanan hedef. Bayraklar
kullanılmayanlar göz ardı edilir.

-S Sentezleyin. Normalde, hedef davranışsal açıklamaları kabul edebiliyorsa,
derleyici, süreçleri davranışsal biçimde bırakacaktır. bu -S anahtarı neden olur
derleyicinin sentez yapması hedef için gerekli olmasa bile. Eğer
hedef türü bir netlist biçimidir, -S geçiş gereksizdir ve hiçbir etkisi yoktur.

-s üst modül
Detaylandırılacak en üst düzey modülü belirtin. Icarus Verilog varsayılan olarak seçecektir
diğer modüllerde somutlaştırılmayan, ancak bazen bu olmayan modüller
yeterli veya çok fazla modül başlatıyor. Kullanıcı bir veya daha fazlasını belirtirse
ile kök modüller -s bayraklar, bunun yerine kök modüller olarak kullanılacaktır.

-Tmin|tip|maks
min:typ:max ifadelerinden min, type veya max sürelerini seçmek için bu anahtarı kullanın.
Normalde, derleyici bu ifadelerden type değerini kullanır.
(bulduğu ilk on için bir uyarı yazdırır) ancak bu anahtar,
derleyici açıkça hangi değeri kullanacağını. Bu, şu uyarıyı bastırır:
derleyici bir seçim yapıyor.

-thedef
Hedef çıktı biçimini belirtmek için bu anahtarı kullanın. Bkz. HEDEFLERİ aşağıdaki bölüm
geçerli çıktı biçimlerinin bir listesi için.

-v Ayrıntılı mesajları açın. Bu, yürütülen komut satırlarını yazdıracaktır.
çeşitli sürümlerden gelen sürüm bilgileriyle birlikte gerçek derlemeyi gerçekleştirin.
bileşenlerin yanı sıra bir bütün olarak ürünün versiyonu. fark edeceksin
komut satırlarının geçen bir anahtar geçici dosyaya bir referans içerdiğini
bilgileri derleyiciye uygun şekilde Bu dosyanın silinmesini önlemek için
işlemin sonunda, ortam değişkeninde kendinize ait bir dosya adı sağlayın
IVERILOG_ICONFIG.

-V Derleyicinin sürümünü yazdırın ve çıkın.

-Wsınıf Farklı uyarı sınıflarını açın. Bkz. UYARI TÜRLERİ için aşağıdaki bölüm
farklı uyarı gruplarının açıklamaları. birden fazla ise -W anahtarlar kullanılır,
uyarı seti, istenen tüm sınıfların birleşimidir.

-ylibdir
Dizini kitaplık modülü arama yoluna ekleyin. Derleyici bulduğunda
tanımsız modül, doğru ada sahip dosyalar için bu dizinlerde arar.

-Ysonek
Bir dosya ararken kullanılan kabul edilen dosya adı son ekleri listesine son ek ekleyin.
hücreler için kitaplık. Liste varsayılan olarak tek girişe ayarlıdır .v.

MODÜL KÜTÜPHANELER


Icarus Verilog derleyicisi, Verilog içeren dizinler olarak modül kitaplıklarını destekler.
kaynak dosyaları. Detaylandırma sırasında, derleyici undefined öğesinin örneğini fark eder.
modül türleri. Kullanıcı kitaplık arama dizinlerini belirtirse, derleyici arama yapacaktır.
eksik modül türünün adına sahip dosyalar için dizin. Böyle bir dosya bulursa,
onu bir Verilog kaynak dosyası olarak yükler, modülü tekrar detaylandırmaya çalışırlar.

Kitaplık modül dosyaları yalnızca tek bir modül içermelidir, ancak bu bir gereklilik değildir.
Kütüphane modülleri, kütüphanedeki veya ana tasarımdaki diğer modüllere referans verebilir.

HEDEFLERİ


Icarus Verilog derleyicisi, farklı amaçlar için çeşitli hedefleri destekler ve
-t anahtarı istenen hedefi seçmek için kullanılır.

boş Boş hedef, hiçbir kodun oluşturulmasına neden olmaz. kontrol etmek için kullanışlıdır.
Verilog kaynağının sözdizimi.

VVP Bu varsayılandır. vvp hedefi, vvp çalışma zamanı için kod üretir. Çıktı
tasarımı simüle eden ancak kullanıcı tarafından çalıştırılması gereken eksiksiz bir programdır. VVP
Komut.

fpga Bu, çoğunlukla EDIF tarafından olmak üzere çeşitli fpga cihazlarını destekleyen bir sentez hedefidir.
biçim çıktısı. Icarus Verilog fpga kod üreteci eksiksiz üretebilir
daha büyük tasarımlara aktarılabilen tasarımlar veya EDIF makroları
aletler. NS fpga hedef sentezi ima eder -S bayrağı.

vhdl Bu hedef, Verilog ağ listesinin bir VHDL çevirisini üretir. çıktı bir
Verilog'daki modüllere karşılık gelen VHDL varlıklarını içeren tek dosya
kaynak kodu. Verilog dilinin yalnızca bir alt kümesinin desteklendiğini unutmayın. Görmek
daha fazla bilgi için wiki.

UYARI TÜRLERİ


Bunlar, kullanıcı tarafından seçilebilen uyarı türleridir. -W değiştirmek. tüm uyarı
türleri (başka herşey) ön eki ile de kullanılabilir yok hayır- Bu uyarıyı kapatmak için Bu
sonra en kullanışlı -Duvar izole uyarı türlerini bastırmak için argüman.

herşey Bu, örtük, bağlantı noktası, seçim aralığı, zaman ölçeği ve
duyarlılık-tüm-dizi uyarı kategorileri.

dolaylı olarak
Bu, örtük bildirimlerin oluşturulması için uyarılar sağlar. Örneğin, eğer bir
skaler tel X kullanılmış ancak Verilog kaynağında bildirilmemiştir, bu bir
ilk kullanımda uyarı.

bağlantı noktası
Bu, bağlı olmayan modül örneklemelerinin bağlantı noktaları için uyarıları etkinleştirir.
ama muhtemelen olmalı. Sarkan giriş portları, örneğin, bir
uyarı.

seçim aralığı
Bu, sabit sınır dışı seçimler için uyarıları etkinleştirir. Bu, kısmi veya
tamamen sınır dışı seçimlerin yanı sıra bir 'bx veya' bz içeren bir seçim
endeksi.

zaman ölçeği
Bu, zaman ölçeği yönergesinin tutarsız kullanımı için uyarılar sağlar. algılar
bazı modüllerin zaman ölçeği yoksa veya modüller zaman ölçeğini diğerinden devralıyorsa
dosya. Her ikisi de muhtemelen zaman çizelgelerinin tutarsız olduğu ve simülasyon zamanlamasının
kafa karıştırıcı ve derleme sırasına bağlı olabilir.

akın Bu, çalışma zamanı sonsuz döngülere sahip olabilecek her zaman ifadeleri için uyarıları etkinleştirir.
(hiç veya sıfır gecikmeli yolları vardır). Bu uyarı sınıfı aşağıdakilere dahil değildir: -Duvar
ve bu nedenle bir yok hayır- varyant. Ölümcül bir hata mesajı her zaman olacaktır
derleyici kesinlikle sonsuz olacağını belirleyebildiğinde yazdırılır
döngü (tüm yollarda gecikme yok veya sıfır gecikme var).

Always ifadesinin bir çalışma zamanı sonsuz döngüsü ürettiğinden şüpheleniyorsanız, bunu kullanın.
mantıklarının doğrulanması gereken her zaman ifadeleri bulmak için işaretleyin. Bu
kod ele alındığından, uyarıların çoğunun yanlış pozitif olması bekleniyor
belirsiz olarak tüm değişkenlerin ve sinyallerin değeri.

duyarlılık-tüm-vektör
Bu, bir "always @*" ifadesi içinde bir parça seçildiğinde uyarıları etkinleştirir
tüm vektörün örtük duyarlılık listesine eklenmesiyle sonuçlanır.
Bu davranış, IEEE standardı tarafından öngörülmesine rağmen, olabilecek şey bu değildir.
beklenebilir ve vektör büyükse performans etkileri olabilir.

duyarlılık-tüm-dizi
Bu, "always @*" ifadesi içinde bir sözcük seçildiğinde uyarıları etkinleştirir
tüm dizinin örtük duyarlılık listesine eklenmesiyle sonuçlanır. Rağmen
bu davranış IEEE standardı tarafından öngörülmüştür, olabileceği gibi değildir.
beklenebilir ve dizi büyükse performans üzerinde etkileri olabilir.

SİSTEM FONKSİYONU TABLO DOSYALAR


Kaynak dosya adı bir .sft eki, daha sonra bir sistem fonksiyon tablosu olarak alınır
dosya. Derleyiciye dönüş türlerini açıklamak için bir Sistem işlev tablosu dosyası kullanılır.
sistem işlevleri için. Bu gereklidir çünkü derleyicinin bu bilgilere ihtiyacı vardır.
bu sistem işlevlerini içeren, ancak sizetf'yi çalıştıramayan ayrıntılı ifadeler
çalışma zamanı olmadığı için çalışır.

Tablonun formatı ASCII'dir, her satıra bir fonksiyon. Boş satırlar yoksayılır ve
' ile başlayan satırlar#' karakteri yorum satırlarıdır. Her yorumsuz satır başlar
işlev adıyla, ardından vpi türüyle (yani vpiSysFuncReal). Aşağıdaki türler
desteklenen:

vpiSysFuncGerçek
İşlev, gerçek/gerçek zamanlı bir değer döndürür.

vpiSysFuncInt
İşlev bir tamsayı döndürür.

vpiSysFuncSized
İşlev, verilen genişliğe sahip bir vektör döndürür ve işaretli veya işaretsizdir
bayrağa göre.

KOMUT DOSYALAR


Komut dosyası, kullanıcının kaynak dosya adlarını ve belirli komut satırlarını yerleştirmesine izin verir.
uzun bir komut satırı yerine bir metin dosyasına geçer. Komut dosyaları C içerebilir
veya C++ stili yorumların yanı sıra # satırı başlatırsa # yorumlar.

dosya isim
Basit bir dosya adı veya dosya yolu, Verilog kaynak dosyasının adı olarak alınır.
Yol, beyaz boşluk olmayan ilk karakterle başlar. değişkenler
dosya adlarında değiştirilir.

-c cmd dosyası -f cmd dosyası
A -c or -f belirteç, tam olarak komutta olduğu gibi bir komut dosyasının önüne ekler
astar. cmdfile aynı satırda veya bir sonraki yorum olmayan satırda olabilir.

-y libdir
A -y belirteç, tam olarak yaptığı gibi, komut dosyasındaki bir kitaplık dizininin önüne geçer
komut satırında. için parametre -y bayrak aynı satırda olabilir veya
sonraki yorumsuz satır.

içindeki değişkenler libdir ikame edilirler.

+indir+dahil
The +indir+ komut dosyalarındaki belirteç, içerme dosyalarını aramak için dizinler verir
aynı şekilde -I bayraklar komut satırında çalışır. fark
bu çoklu +includedir dizinler tek bir geçerli parametrelerdir +indir+
jetonunuz olsa da, birden fazla +indir+ çizgiler.

içindeki değişkenler dahil ikame edilirler.

+libext+ext
The +libext komut dosyalarındaki belirteç, bir dosya ararken denemek için dosya uzantılarını beşleştirir.
kütüphane dosyası. Bu, şununla birlikte kullanışlıdır: -y denenecek son ekleri listelemek için bayraklar
Bir sonraki kitaplık dizinine geçmeden önce her dizinde.

+libdir+dir
Bu, kitaplık dizinlerini belirtmenin başka bir yoludur. -y bayrağına bakın.

+libdir-nocase+dir
Bu gibi +libdir deyimi, ancak belirtilen dizinlerin içindeki dosya adları
burada büyük/küçük harfe duyarsızdır. Bir aramadaki eksik modül adının,
Harfler doğru olduğu sürece dosya adı durumu. Örneğin, "foo" eşleşmeleri
"Foo.v" ama "bar.v" değil.

+tanımla+ADI=değer
The +tanımla+ jeton ile aynıdır -D komut satırındaki seçenek. Değer
jetonun bir kısmı isteğe bağlıdır.

+zaman ölçeği+değer
The +zaman ölçeği+ simge, simülasyon için varsayılan zaman ölçeğini ayarlamak için kullanılır.
Bu, herhangi bir "zaman ölçeği yönergesinden önceki veya bir
`resetall yönergesi. Varsayılan 1s/1s'dir.

+toupper-dosya adı
Bu belirteç, komut dosyasındaki bundan sonra dosya adlarının çevrilmesine neden olur.
büyük harf. Bu, bir dizinin bir DOS'tan geçtiği durumlarda yardımcı olur
makine ve bu süreçte dosya adları mung hale gelir.

+tolow-dosya adı
Bu benzer +toupper-dosya adı yukarıda açıklanan hack.

+tamsayı genişliği+değer
Bu, programcının aşağıdaki tamsayı değişkenleri için genişliği seçmesini sağlar.
Verilog kaynağı. Varsayılan 32'dir, değer istenen herhangi bir tamsayı değeri olabilir.

DEĞİŞKENLER IN KOMUT DOSYALAR


Bazı durumlarda, iverilog komut dosyalarındaki değişkenleri destekler. Bunlar, dizilerin
"$(Değişkenadı)" veya "${Değişkenadı}", nerede Değişkenadı ortam değişkeninin adıdır
okumak. Tüm dize, o değişkenin içeriğiyle değiştirilir. değişkenler
dosya ve dizin de dahil olmak üzere yalnızca onları açıkça destekleyen bağlamlarda değiştirilir
Teller.

Değişken değerler önişlemciden değil işletim sistemi ortamından gelir
dosyada veya komut satırında başka bir yerde tanımlar.

ÖN TANIMLI MAKROS


Aşağıdaki makrolar derleyici tarafından önceden tanımlanmıştır:

__ICARUS__ = 1
Bu, Icarus Verilog ile derleme yaparken her zaman tanımlanır.

__VAMS_ENABLE__ = 1
Bu, Verilog-AMS etkinleştirilmişse tanımlanır.

ÖRNEKLER


Bu örnekler, mevcut dosyada merhaba.v adında bir Verilog kaynak dosyanız olduğunu varsayar.
rehber

Hello.v'yi a.out adlı yürütülebilir bir dosyada derlemek için:

ıverilog merhaba.v

merhaba.v'yi merhaba adlı yürütülebilir bir dosyada derlemek için:

iverilog -o merhaba merhaba.v

vvp çalışma zamanını kullanarak açıkça derlemek ve çalıştırmak için:

iverilog -ohello.vvp -tvvp merhaba.v

onworks.net hizmetlerini kullanarak iverilog'u çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad