Limits and troubleshooting

What HDL Studio cannot do yet, and what to check when something does not work.

Known limits#

  • Live signals are read through GHDL’s VPI, which exposes bits, std_logic, booleans and vectors of them. Integers, reals, enumerations and records do not appear live; record a GHW file to see them.
  • Process variables are shown raw, as GDB sees them: GHDL’s debug information does not describe VHDL types.
  • Platforms: Linux and macOS. The debug agent talks over a unix socket.
  • Source-level debugging needs GHDL’s GCC or LLVM backend; mcode produces no executable for GDB.
  • Time range: the viewer needs WebGL 2, which every VS Code build has. Times are exact up to 2^53 time units, about nine seconds of simulated time at GHDL’s 1 fs. Beyond that, edges are placed to the nearest representable time.
  • After a rewind the stack shows a synthetic simulation @ t frame until a breakpoint line is reached. See Time travel.

Troubleshooting#

Breakpoints are hollow or never hit. Check the backend: ghdl --version must say GCC or LLVM, and GDB must be installed. With mcode, use data breakpoints and Step Time instead.

“Vivado not found”. Set hdl.vivado.path to the vivado executable, its bin folder or the install folder. settings64.sh is not needed.

“No hardware target on localhost:3121”. Start a server from the Hardware view (Start local hw_server), check the cable, or connect to the remote server that has the board.

hdl exits with 2. The command needs a VS Code window with the folder open, or a debug session in it. hdl where shows what it found.

The viewer shows a gate page. The trial is over; see Subscription.

Documentation for HDL Studio 1.0.4.