Menu
CoddyTech

Trình biên dịch Verilog online

Viết, chạy và chia sẻ đoạn code. Không cần thiết lập.

main.v
Nhấn Chạy để xem đầu ra ở đây.
PlusargsTham số runtime truyền cho trình mô phỏng. Đọc chúng trong testbench bằng $value$plusargs hoặc $test$plusargs.
KhóaGiá trị

Viết, biên dịch và mô phỏng Verilog HDL online

Trình biên dịch và mô phỏng Verilog online miễn phí. Viết module Verilog hoặc SystemVerilog, dựng một testbench, nhấn Chạy, và xem đầu ra stdout cùng dạng sóng VCD được vẽ sẵn. Không cần cài đặt, không Vivado, không Quartus, không phải thiết lập toolchain. Trình soạn thảo mở sẵn một testbench bộ đếm theo xung clock để bạn sửa và chạy chỉ trong vài giây.

Code được biên dịch bằng Icarus Verilog (iverilog) và chạy bằng vvp trong một container cách ly, nên bạn có đúng ngữ nghĩa Verilog HDL thật: khối always theo xung clock, phép gán non-blocking, khởi tạo module phân cấp, $display, $finish. Thêm $dumpfile và $dumpvars vào testbench là tab Dạng sóng sẽ vẽ các tín hiệu một bit và bus nhiều bit, kèm con trỏ kéo được, các điểm chuyển trạng thái và nhãn giá trị cho từng tín hiệu. Plusarg (+KEY=VALUE / +FLAG) được đưa vào testbench qua $value$plusargs và $test$plusargs, nên bạn có thể thay đổi chu kỳ clock, độ dài lần chạy và các cờ tính năng mà không phải sửa mã nguồn.

Điều gì làm trình biên dịch Verilog này hữu ích

  • Biên dịch và mô phỏng tức thì: viết Verilog HDL, nhấn Chạy và xem stdout cùng dạng sóng VCD sau vài giây.
  • Tô sáng cú pháp Verilog và SystemVerilog trong cùng engine soạn thảo với VS Code, có phạm vi module/endmodule và tự động hoàn thành từ khóa.
  • Trình xem dạng sóng có sẵn: gọi $dumpfile + $dumpvars trong testbench và tab Dạng sóng sẽ vẽ tín hiệu, bus, các điểm chuyển trạng thái và một con trỏ di chuyển được, kèm nhãn giá trị cho từng tín hiệu.
  • Bảng Plusarg cho tham số testbench: truyền +CYCLES, +PERIOD, +VERBOSE qua $value$plusargs / $test$plusargs và chạy lại mà không phải viết lại mã nguồn.

Bạn có thể làm gì trong playground Verilog

  • Mạch tổ hợp: bộ cộng, bộ chọn kênh, ALU, nối vào một testbench với các lệnh kiểm tra $display và phản hồi tức thì.
  • Thiết kế tuần tự theo xung clock: bộ đếm, thanh ghi dịch, máy trạng thái hữu hạn chạy bằng always @(posedge clk), cùng dạng sóng VCD để xem các điểm chuyển trạng thái của tín hiệu.
  • Quét tham số: truyền các plusarg +CYCLES, +PERIOD hoặc +VERBOSE để đổi hành vi giữa các lần chạy, giống như trên dòng lệnh iverilog/vvp.

Câu hỏi thường gặp về trình biên dịch Verilog online

Verilog là gì?

Verilog là ngôn ngữ mô tả phần cứng (HDL) dùng để mô hình hóa và mô phỏng mạch số, từ các cổng tổ hợp đơn giản đến cả một bộ vi xử lý. Bạn mô tả module, dây nối và thanh ghi bằng code, biên dịch chúng bằng trình biên dịch Verilog, rồi chạy testbench để kiểm tra hành vi. SystemVerilog là phiên bản mở rộng của Verilog, bổ sung các tính năng kiểm chứng. Playground nhận cả hai.

Trình biên dịch Verilog online có miễn phí không?

Có, trình biên dịch và mô phỏng Verilog hoàn toàn miễn phí. Không cần đăng ký, không cần giấy phép Vivado hay Quartus và không phải cài toolchain. Chỉ cần viết một module và nhấn Chạy.

Tôi có cần cài Icarus Verilog hay công cụ EDA nào không?

Không. Code của bạn được biên dịch bằng iverilog và chạy bằng vvp trong một container cách ly trên máy chủ. Bạn viết mã nguồn Verilog và nhấn Chạy; trình biên dịch và trình mô phỏng lo phần còn lại.

Làm sao để xem dạng sóng cho code Verilog?
Trong một khối initial của testbench, gọi $dumpfile("dump.vcd") và $dumpvars(0, your_module). Sau khi chạy, tab Dạng sóng sẽ vẽ các tín hiệu: bấm vào bất kỳ đâu trên một đường tín hiệu để đặt con trỏ và đọc giá trị từng tín hiệu tại thời điểm đó.
Làm sao để viết testbench Verilog có plusarg?

Thêm các hàng trong bảng Plusarg (ví dụ CYCLES=10, VERBOSE) và chúng được truyền cho trình mô phỏng dưới dạng +CYCLES=10 +VERBOSE trên dòng lệnh. Trong testbench, đọc chúng bằng $value$plusargs("CYCLES=%d", n) cho giá trị số nguyên, hoặc $test$plusargs("VERBOSE") cho cờ boolean. Code mẫu mặc định có cả hai cách.

Công cụ hữu ích cho Verilog

Các công cụ miễn phí chạy trên trình duyệt, dùng tốt cùng Playground Verilog, tất cả đều thuộc Coddy.