Open source licenses
This page describes open source software that the SGDH website distributes or integrates. The site’s own UI, content, and backend logic are separate works; where noted, we invoke upstream engines as unmodified binaries (aggregate distribution).
Verilog Simulator (browser)
- Icarus Verilog — Simulator compile/run (iverilog / vvp). License: GNU GPL v2. Source: steveicarus/iverilog.
- Surfer — Waveform viewer for VCD, etc. (embedded web app). License: EUPL-1.2. Source: surfer-project/surfer. Public web app: app.surfer-project.org.
- Monaco Editor — Code editor. License: MIT (Microsoft). GitHub.
- Slang — SystemVerilog/Verilog analysis and lint (WASM). License: MIT. MikePopoloski/slang.
Even when Icarus Verilog runs in the browser (e.g. via WASM), loading an unmodified public build as a separate module often does not require publishing all of SGDH’s proprietary code under GPL/EUPL (aggregate / separate work). Interpretation depends on your exact distribution; seek legal review for commercial use.
Verilog Simulator (waves)
The page runs Icarus Verilog in the browser (ivl + vvp via Web Workers and MEMFS) and sends the resulting VCD to Surfer (EUPL). If there is no VCD output, waves are not updated. None of these paths use SGDH hosting CPU for simulation. An optional REACT_APP_VERILOG_SIM_API can run iverilog + vvp on a remote host (GPLv2).
Other tools
Other pages (e.g. Verilog Analyzer) use additional open source such as YoWASP (Yosys), netlistsvg, and WaveDrom. See each tool’s page and docs.
Per-page disclosure checklist
Use this table before commercial release or audits to verify notices, outbound links, and build dependencies. Add a row whenever you add a tool or CDN script.
| Area / route | Disclose / track | License / notes |
|---|---|---|
/tools/verilog-simulator | Surfer iframe (app), Monaco Editor (jsDelivr), Slang WASM (static) | Surfer EUPL-1.2, Monaco and Slang MIT. If Icarus runs: GPL-2.0, source. |
/tools/verilog-analyzer | YoWASP Yosys (jsDelivr WASM), Mermaid, JSZip (jsDelivr), netlistsvg + elkjs (bundled), Prism highlighting | Yosys GPL (see YoWASP packaging), Mermaid MIT, JSZip MIT/GPL dual (typically MIT), netlistsvg MIT, elkjs EPL-2.0. |
/tools/sgdh-draw-waveform | WaveDrom (bundled) | WaveDrom MIT |
| Profile, rank, … | Supabase (@supabase/supabase-js) | supabase-js MIT; Supabase ToS / privacy are separate. |
| Global UI / docs | Docusaurus, React, Infima, local search plugin, Pretendard (jsDelivr webfont), Prism (docs code blocks) | Docusaurus MIT, Pretendard SIL OFL, Prism MIT |
| Ads / analytics | Google AdSense in headTags, etc. | Disclose per Google policies and your privacy / cookie notices. |
EUPL/GPL/EPL obligations depend on how you distribute (modified or not, iframe vs bundle, separated API). For commercial certainty, seek IP counsel.