Menu
Coddy logo textTech

Kompilator Verilog online

Pisz, uruchamiaj i udostępniaj fragmenty kodu bez żadnej konfiguracji.

main.v
Kliknij Uruchom, aby zobaczyć tutaj wynik.
PlusargiParametry uruchomieniowe przekazywane do symulatora. Odczytasz je w testbenchu za pomocą $value$plusargs lub $test$plusargs.
KluczWartość

Pisz, kompiluj i symuluj Verilog HDL online

Darmowy kompilator i symulator Verilog online. Piszesz moduły w Verilog albo SystemVerilog, sterujesz testbenchem, klikasz Uruchom i widzisz wynik na stdout oraz wyrenderowany przebieg VCD. Bez instalacji, bez Vivado, bez Quartusa, bez konfigurowania toolchaina. Edytor otwiera się z testbenchem licznika taktowanego zegarem, więc możesz edytować i uruchamiać kod w kilka sekund.

Kod kompiluje się przez Icarus Verilog (iverilog) i działa pod vvp w odizolowanym kontenerze, więc dostajesz prawdziwą semantykę Verilog HDL: bloki always taktowane zegarem, przypisania nieblokujące, hierarchiczne tworzenie instancji modułów, $display, $finish. Dodaj $dumpfile i $dumpvars do testbencha, a karta Waveform wyrenderuje sygnały jednobitowe i magistrale wielobitowe z przesuwanym kursorem, zboczami i plakietkami z wartościami dla każdego sygnału. Plusargs (+KEY=VALUE / +FLAG) trafiają do testbencha przez $value$plusargs i $test$plusargs, więc możesz zmieniać okres zegara, długość symulacji i flagi funkcji bez edytowania kodu źródłowego.

Dlaczego ten kompilator Verilog się przydaje

  • Natychmiastowa kompilacja i symulacja: piszesz Verilog HDL, klikasz Uruchom i w kilka sekund widzisz stdout i przebiegi VCD.
  • Podświetlanie składni Verilog i SystemVerilog w tym samym silniku edytora, którego używa VS Code, z zakresami module/endmodule i autouzupełnianiem słów kluczowych.
  • Wbudowana przeglądarka przebiegów: wywołaj $dumpfile + $dumpvars w testbenchu, a karta Waveform wyrenderuje sygnały, magistrale, zbocza i ruchomy kursor z plakietkami wartości dla każdego sygnału.
  • Panel Plusargs na parametry testbencha: przekazuj +CYCLES, +PERIOD, +VERBOSE przez $value$plusargs / $test$plusargs i uruchamiaj ponownie bez przepisywania kodu źródłowego.

Co możesz zbudować w edytorze online Verilog

  • Logikę kombinacyjną: sumatory, multipleksery, jednostki ALU, połączone w testbenchu ze sprawdzeniami przez $display i natychmiastowym wynikiem.
  • Układy sekwencyjne taktowane zegarem: liczniki, rejestry przesuwne, maszyny stanów sterowane przez always @(posedge clk), z przebiegami VCD do sprawdzania zmian sygnałów.
  • Przeglądy parametrów: przekazuj plusargs +CYCLES, +PERIOD albo +VERBOSE, żeby zmieniać zachowanie między uruchomieniami, tak samo jak w wierszu poleceń iverilog/vvp.

Kompilator Verilog online: najczęstsze pytania

Czym jest Verilog?
Verilog to język opisu sprzętu (HDL) służący do modelowania i symulowania układów cyfrowych, od prostych bramek kombinacyjnych po całe procesory. Opisujesz w kodzie moduły, przewody i rejestry, kompilujesz je kompilatorem Verilog i uruchamiasz testbench, żeby sprawdzić zachowanie. SystemVerilog to nadzbiór Veriloga z dodatkowymi funkcjami weryfikacji. Edytor przyjmuje oba.
Czy kompilator Verilog online jest darmowy?
Tak, kompilator i symulator Verilog są darmowe. Bez rejestracji, bez licencji Vivado czy Quartusa i bez instalowania toolchaina: piszesz moduł i klikasz Uruchom.
Czy muszę mieć zainstalowany Icarus Verilog albo inne narzędzie EDA?
Nie. Twój kod kompiluje się przez iverilog i działa pod vvp w odizolowanym kontenerze na serwerze. Ty piszesz kod źródłowy w Verilog i klikasz Uruchom, a kompilator i symulator zajmują się resztą.
Jak zobaczyć przebiegi dla mojego kodu Verilog?
W bloku initial w testbenchu wywołaj $dumpfile("dump.vcd") i $dumpvars(0, your_module). Po uruchomieniu karta Waveform wyrenderuje sygnały. Kliknij w dowolnym miejscu przebiegu, żeby postawić kursor i odczytać wartości każdego sygnału w tej chwili.
Jak napisać testbench Verilog z plusargs?
Dodaj wiersze w panelu Plusargs (np. CYCLES=10, VERBOSE), a zostaną przekazane do symulatora jako +CYCLES=10 +VERBOSE w wierszu poleceń. W testbenchu odczytasz je przez $value$plusargs("CYCLES=%d", n) dla wartości całkowitych albo $test$plusargs("VERBOSE") dla flag logicznych. Domyślny kod startowy pokazuje oba wzorce.

Przydatne narzędzia do Verilog

Darmowe narzędzia w przeglądarce, które świetnie działają razem z edytorem Verilog online. Wszystkie w Coddy.