rlangoy/HDLBoard

HDLBoard - Write VHDL/Verilog and watch it run on a virtual board

★ 7Forks 0TypeScriptGitHub ↗Compare

Project website ↗

de1-socfpgaghdlghdl-interfaceicarusicarus-uiicarus-verilogsimulatorverilogvhdl

README

HDLBoard - Write VHDL or Verilog and watch it run Try Online

Write VHDL or Verilog and watch it run on a virtual board — flip switches, light LEDs, see it work. Built on GHDL (VHDL) and Icarus Verilog (Verilog), it's designed to give beginning students a simple first step into FPGA design before tackling timing analysis and beyond. Runs standalone on Windows or hosted in a browser. HDLBoard running DE1_SoC.v, a Verilog design: the file tree with its vhdl/ and verilog/ starter folders and the editor with Verilog syntax colouring on the left, the board's LEDs, 7-segment displays, switches and pushbuttons on the right, and Icarus Verilog's banner in the console; five switches are up and their LEDs are lit.

Features

  • Real simulation — your VHDL runs on GHDL and your Verilog on Icarus Verilog, not an approximation; the simulator's own output and errors (file:line included) appear in the console. Drop a .v file, mark it as top, and Start runs the Verilog engine.
  • A live DE1-SoC board — clickable switches and pushbuttons, with LEDs and 7-segment displays driven by the simulation.
  • A small IDE — file explorer with upload and drag-and-drop, tabbed editor (VHDL and Verilog syntax highlighting), resizable panes.
  • Testbenches too — report and assert output prints live from a plain, portless testbench.
  • Real-time pacing — simulated time tracks real time, so a design's timing here predicts its timing on the board.

Installing

Windows App — download the installer from the Releases page and run it.
The installer is not code-signed, so Windows SmartScreen will show a warning: choose More info → Run anyway.

Web Hosting — host HDLBoard yourself and open it in a browser.
Requirements and step-by-step installation: HOSTING.md.

Compiling

Building from source, running the dev server, and producing the Windows installer are covered in BUILDING.md.

Documentation

About

Built for PB1180 Programmerbare logiske kretser at USN — a browser simulator for the DE1-SoC board, backed by real GHDL and Icarus Verilog, so students can see LEDR <= SW; and similar constructs actually behave the way the real board would, without needing hardware in hand. The Verilog support was added just for others since the frontend of the simulator was already inplace.

Credits

HDLBoard stands on the work of others. Thank you to all of these projects and their contributors:

Component Used for License
GHDL Analyses, elaborates and simulates VHDL GPL-2.0
Icarus Verilog Compiles and simulates Verilog. The Windows build uses the MSYS2 packages, with GNU Readline, zlib, bzip2, termcap, winpthreads and the GCC runtime GPL-2.0-or-later (Readline GPL-3.0-or-later; GCC runtime with the Runtime Library Exception)
React The user interface MIT
ws The WebSocket link between browser and simulator MIT
Electron (with Chromium and Node.js) The Windows desktop app MIT (Chromium: BSD-style)
electron-builder and NSIS The Windows installer MIT; zlib/libpng-style
Vite, TypeScript, esbuild, Vitest, ESLint Building and testing MIT, Apache-2.0

The license texts of the bundled simulators are installed with the Windows app and shown by its installer. DE1-SoC is a product of Terasic Technologies; HDLBoard is an independent teaching tool and is not affiliated with or endorsed by Terasic.

License

Licensed under the GNU General Public License v2.0.

Contributors

rlangoyclaude

Issues