Skip to content

Installation

SystemVerilog Studio adds SystemVerilog and UVM (the standard SystemVerilog verification library) support to JetBrains IDEs: syntax colors, jumping from a name to its declaration, finding every use of a name, renaming safely across files, completion, and checks that catch misspelled names while you type. You work in your usual IDE on your sources, without running a simulator. It is a plugin: you install it from JetBrains Marketplace, from inside the IDE.

  • An IDE of version 2025.2.2 or newer. IntelliJ IDEA, CLion and PyCharm are the ones tested. It works in any IntelliJ-based IDE; see Compatibility. To see your IDE’s version, choose Help | About (on macOS: the menu named after your IDE, then About) and read the first line, for example IntelliJ IDEA 2025.2.2.
  • A license. SystemVerilog Studio is a paid plugin. You can install it first: at the next IDE start (after the restart in step 3) a notification says that a license is required. That does not mean the installation failed. If a check below does not work before you register, register first (License) and repeat it.
  1. Open the Plugins page of the settings:
    • with a project open: press ⌘, (macOS) / Ctrl+Alt+S (Windows/Linux), or use the menu (macOS: the menu named after your IDE, then Settings…; Windows and Linux: File | Settings…), then choose Plugins;
    • on the welcome screen: click Plugins in the sidebar.
  2. Open the Marketplace tab and search for SystemVerilog Studio.
  3. Click Install on the plugin, then click Restart IDE when it is offered (or close the IDE and open it again; a restart is what makes the plugin active).
  1. After the restart, open Plugins again and select the Installed tab: SystemVerilog Studio is listed and its checkbox is ticked.
  2. Follow Open it on the sample project page: download, unzip, open the folder and wait for indexing (the IDE scanning your files) to finish, shown by a progress bar at the bottom right.
  3. Open rtl/counter.sv in the Project tool window (the file tree on the left). The code is colored by role: keywords such as module and always_ff, and names such as clk and MAX, differ from each other and from plain text (the exact colors depend on your theme; Syntax highlighting lists them).
  4. ⌘-click (macOS) / Ctrl-click (Windows/Linux) counter in rtl/top.sv, in the line counter #(.MAX(20)) u_counter: rtl/counter.sv opens at module counter. This works without any color: it shows the plugin understands your code. The sample project page has the same check; you can skip it there.

slang is an open-source SystemVerilog compiler. With it installed, the plugin compiles your whole design (the files listed in your project’s compile file, a .f file such as the sample project’s sim.f) after each save and shows the compiler’s errors and warnings in the editor (Compiler checks). With slang-server (a background program that answers questions about the compiled design), slang-server, the Design Hierarchy window shows the elaborated design: the instance tree with every parameter’s actual value (Design hierarchy); without it, the window shows a simpler static hierarchy. Everything else works without them.

  • From the IDE (recommended): open Settings (⌘, / Ctrl+Alt+S), go to Languages & Frameworks | SystemVerilog | slang and click Download slang and slang-server (on an Intel Mac or Linux on ARM there is no official slang build: this installs slang-server only; build slang from its sources and set its path as in the second way). A progress bar Downloading slang appears at the bottom of the IDE; when it is gone, the download is done. The plugin downloads the versions it is tested with, slang 12.0.0 and slang-server 0.3.0, from the SystemVerilog Studio download mirror or the official GitHub releases, checks each file against the checksum built into the plugin, and keeps them in the IDE’s own folders. No administrator rights and no restart are needed. The first time you open a project with a compile file while slang is missing, a notification slang is not installed offers the same download. If the download fails, use the second way. Behind a firewall, allow docs.systemverilogstudio.com and github.com.
  • Yourself: download slang 12.0 or newer from the official slang releases and slang-server 0.3.0 or newer from the official slang-server releases and unpack them. On the same settings page, set slang to the slang program in the unpacked folder (slang.exe on Windows) and slang-server to the slang-server program (slang-server.exe on Windows). slang on Windows is untested. A program on your PATH is used when no path is set and none was downloaded. If the status bar then shows slang: unavailable, hover over it to see why; on macOS, a program the system blocks can be allowed under System Settings | Privacy & Security.

Check that it works: with the sample project open, choose Code | slang | Run slang. The status bar at the bottom right shows slang: compiling… for a moment, then slang: 2 errors: two deliberate time-scale errors that Compiler checks: Try it explains. If it still shows slang alone or slang: unavailable, hover over the text to see why (no slang text at all: right-click the status bar and turn on slang), and see Compiler checks: If it doesn’t work. To check slang-server, choose View | Tool Windows | Design Hierarchy (it opens on the right; after a moment, Loading the hierarchy…, it lists top) and expand top: it lists the generate block g_lane; expand it, and [0] and [1] appear. If instead a line above the tree starts Static hierarchy (parameters as written, generate loops not unrolled):, slang-server is not running: the line says why, and Design hierarchy: If it doesn’t work lists what to do.

Then continue with the sample project, which every Try it section of this guide uses, or with your first project to open your own sources.

You see Likely cause What to do
SystemVerilog Studio is not found in the Marketplace tab Your IDE is older than 2025.2.2, or the Marketplace cannot be reached (a proxy, no network) Check the version under Help | About; set the IDE’s proxy under Settings | Appearance & Behavior | System Settings | HTTP Proxy
The plugin is installed but .sv files are not colored The plugin is disabled, or the IDE was not restarted, or the colors of roles look alike in your theme Tick it in Plugins | Installed and restart; compare with Syntax highlighting; check the file type (the last row)
⌘/Ctrl-click does nothing Indexing is still running, or the file is not recognized as SystemVerilog Wait for the progress bar to finish; check the file type (the last row); see Troubleshooting
A notification says a license is required No license is registered yet See License
Download slang and slang-server fails No network, or a proxy Set the proxy under Settings | Appearance & Behavior | System Settings | HTTP Proxy and try again, or install slang yourself (see Optional: install slang)
The Design Hierarchy shows Static hierarchy … above the tree slang-server is not installed, the project has no compile file, or slang-server stopped Read the reason on that line; click Download slang-server or slang settings there, then Refresh; see Design hierarchy: If it doesn’t work
No slang errors appear after installing slang The project has no compile file, or slang has not run yet Choose Code | slang | Run slang; see Compiler checks: If it doesn’t work
A file is plain text Its extension is not .sv, .svh or .v Open Settings | Editor | File Types, select SystemVerilog in the list of recognized file types, click + in the list of file name patterns below and add *.ext (if another file type already has the pattern, remove it there first)

To disable or remove the plugin, open Plugins | Installed, then the gear (or ⋮) menu next to SystemVerilog Studio; the IDE asks for a restart.

See also Troubleshooting.