Domain modules
Documentation

Version Latest

HDL (FPGA and ASIC)

What the Editor's HDL module does for FPGA and ASIC designers, the open and vendor tools it drives, how to turn it on, and what has and has not been verified.

The HDL module gives FPGA and ASIC engineers the functions of a vendor IDE inside the Editor: Verilog, SystemVerilog and VHDL with language servers and lint, testbenches (including cocotb and VUnit) and formal proofs in the Testing view, a waveform viewer, the elaborated design (hierarchy, schematics, state machines, clock domain crossings), FPGA builds from synthesis to a programmed board, timing closure, I/O planning, IP and system design, hardware debug, and an ASIC flow from RTL to GDS. It drives your installed tools; it does not reimplement them.

Two kinds of tool are driven:

  • Open tools: Verilator, Icarus Verilog, GHDL and NVC for lint and simulation; Yosys and nextpnr for synthesis and place and route; openFPGALoader for programming; Verible or svls and vhdl_ls for language support; SymbiYosys and eqy for formal work; OpenROAD, KLayout, Magic and netgen for ASICs.
  • Vendor tools, in batch mode: AMD Vivado (and Vitis HLS), Altera (Intel) Quartus Prime, Microchip Libero SoC with FlashPro Express, and Lattice Radiant with Radiant Programmer. The Editor writes the Tcl, runs the tool, and reads its messages and reports into the same views as the open flow.

Verification state: read this first

Every page in this section states the state of each capability. The states are:

StateMeaning
Verified (Linux)Run on Linux against the real open tool, or our own reader or writer run on real files, with the versions the page names
Kit shippedNot yet run against the vendor tool. The generated scripts are tested line by line and on stand-ins for the tool, and a verification kit runs the same scripts on a real installation; no report has come back
ModelledNot yet run against the vendor tool and not in a kit: tested against documentation, published samples or stand-in processes only
Not builtListed on What's next, never on the task pages

In summary:

AreaState
Open flow (lint, simulation, cocotb, VUnit, formal, waveforms, elaboration, schematics, state machines, CDC, synthesis and place and route for iCE40, ECP5, Gowin and AMD 7-series through openXC7, I/O planner, PLL, runs, ASIC RTL to GDS)Verified on Linux with the tool versions each page names
Our readers and writers of vendor files (.xpr, .qsf, .prjx, .rdf, .bd, .qsys, .xci, .ip and others)Verified on Linux on real public project files; the vendor tool reading what we wrote is kit shipped
Vivado, Quartus, Libero SoC and Radiant runsKit shipped or modelled: not yet run against the vendor tools
Programming a board (openFPGALoader or a vendor programmer) and every hardware debug functionNot run on a board
WindowsNothing is verified on Windows
CustomersNo capability is verified by a customer

The vendor paths wait on a machine with the free vendor editions and boards, and on the Vivado kit's results from a tester with Vivado on Windows. Do not rely on a vendor path for production work until it is verified for your tool release and operating system. See Vendor tools and verification kits for the kits, and Domain modules for what the states mean across modules.

Turn it on

HDL is off until you enable it:

  1. Open the folder with your design and trust the workspace.
  2. Run Neural Inverse: Enable HDL Environment, or set neuralInverse.hdl.enabled to true in the workspace settings.

A workspace with an hdl.json or with Verilog, SystemVerilog or VHDL sources gets a one-time offer to enable it. It is never enabled automatically. Disable HDL Environment turns it off for the workspace. Features start only in a trusted workspace, because they run the tools the workspace names.

With the setting off, only syntax colouring for .v, .vh, .sv, .svh, .vhd and .vhdl and the constraint languages (PCF, LPF, CST, SDC and XDC) runs: no processes, views or prompts beyond the one-time offer.

Once on, the status bar shows HDL: n of m tools; click it, or run Show HDL Tools, to see which tools were found and how to point the Editor at the others.

A Verilog file in the editor, with the number of HDL tools found in the status barA Verilog file in the editor, with the number of HDL tools found in the status bar

Where things appear

WhereWhat
ProblemsLint, constraint checks, build messages, DRC, methodology and Design Assistant findings
Testing viewTestbenches, cocotb tests, VUnit cases, vendor simulation sets, SymbiYosys tasks, equivalence checks
Side bar, HDLProject Sources, Libraries and Compile Order for vendor projects; Language Templates; Design Hierarchy
Panel, FPGA ImplementationTargets, flow steps, utilisation, clocks, paths, power, messages, build history
Editors for filesWaveform Viewer (VCD, FST), Layout Viewer (GDSII, OASIS), block design diagrams (.bd, .qsys, SmartDesign .cxf)
Editors per design or targetRTL Schematic, State Machines, Timing Analysis, I/O Planner, Device View, Implementation Runs, IP Catalog, Customize IP, Hardware Debug, Serial I/O, Logic Analyzer, Chip, and vendor editors such as the Assignment Editor and the Constraint Manager
TerminalVivado and Quartus Tcl consoles on an open design
Status barTools found, and missing tools with install hints

All commands are in the Command Palette under Neural Inverse HDL.

The HDL side bar with a Quartus revision's and a Vivado project's sources and the design hierarchyThe HDL side bar with a Quartus revision's and a Vivado project's sources and the design hierarchy

Pages in this section

Set up:

Design and verify:

Implement:

Program and debug:

  • Program the board: Program FPGA Board, configuration memory, vendor programmers.
  • Hardware debug: the built-in logic analyser, ILA and VIO, Signal Tap, In-System Sources and Probes, Reveal, SmartDebug, serial I/O.
  • ECO and partial reconfiguration: Vivado ECOs, Dynamic Function Exchange, Quartus Pro partial reconfiguration.

ASIC, vendors and reference:

The same tools in the CLI

The CLI's hardware environment has hdl_project, hdl_lint and hdl_sim, reading the same hdl.json. See the CLI.

Last reviewed 17 October 2026View as Markdown

HDL (FPGA and ASIC) · Docs · Neural Inverse