Skip to content

The SystemVerilog IDE your coding agent can use too.

Turns IntelliJ IDEA and other JetBrains IDEs into a SystemVerilog and UVM IDE that your coding agent can use through its MCP tools.

You ask

“Where is the counter declared?”

The agent calls sv_find_symbol counter* and gets:

{
  "symbols": [
    {
      "name": "counter",
      "kind": "module",
      "file": "rtl/counter.sv",
      "line": 1,
      "column": 8
    },

1 more symbol

Show the full answer to “Where is the counter declared?”Hide the full answer to “Where is the counter declared?”
sv_find_symbol counter*
{
  "symbols": [
    {
      "name": "counter",
      "kind": "module",
      "file": "rtl/counter.sv",
      "line": 1,
      "column": 8
    },
    {
      "name": "counter_pkg",
      "kind": "package",
      "file": "rtl/counter_pkg.sv",
      "line": 1,
      "column": 9
    }
  ],
  "more": false,
  "timed_out": false
}

Your coding agent asks the IDE too

Your coding agent (Claude Code, Codex, Cursor, Junie) gets the same project knowledge through its MCP tools: references, module interfaces, the elaborated hierarchy, a check of code before it is written, and a dry-run rename.

Instead of guessing from the text with grep, the agent asks the IDE: where is this declared, what ports does this module have, who instantiates it, what does this macro expand to, is this file correct.

For you, in the editor

Go to Declaration and Find Usages

Click a name and press ⌘B (Ctrl+B): the editor opens its declaration, in whichever file it is. Find Usages (⌥F7 / Alt+F7) lists where it is used, end labels included. Names are resolved the way a SystemVerilog tool resolves them, inner scopes first.

UVM that resolves

UVM testbenches reach their classes through handles, factory calls and config_db string keys. Go to Declaration, Find Usages and Rename follow these patterns, from vif.req to the signal. Strings such as the config_db key "vif" are left alone.

Undeclared names, with the fix

SystemVerilog Studio underlines an undeclared name such as IDEL as you type. When a declared name is spelt almost the same, it suggests that name and replaces it for you (⌥⏎ / Alt+Enter). A typo that Verilog would quietly turn into a new 1-bit wire, an implicit net, is reported as a warning, because the file would still compile.

Rename with conflict checks

Rename changes only the names that refer to this declaration, in all files. Before it changes a file, it checks that the new name keeps the meaning of your code. If the new name would re-bind a usage, you see a warning and can cancel.

Compiler checks with slang

Some mistakes only show up when the whole design is compiled together. Once slang is installed (one click in Settings), SystemVerilog Studio compiles your design with it each time you save a file. Its messages start with slang: and appear in the editor next to the IDE's own checks.

The elaborated design hierarchy

The Design Hierarchy tool window shows the design elaborated: built from the top module down as a compiler builds it, with each parameter's actual value and generate loops unrolled. It comes from slang-server, the language server of the slang compiler, which starts in the background when you open the window. Without slang-server, the window shows the static hierarchy instead, with parameters as written.

verilog-mode AUTOs

Write /*AUTOINST*/ where an instance's port connections go. Code | Expand AUTOs connects each port to a signal of the same name, with vector ranges shown. This is Emacs verilog-mode's AUTO feature, so files written for it open and edit like any other.

Run Verilator and Icarus

SystemVerilog Studio runs Verilator and Icarus Verilog as run configurations, started with the Run button. The output appears in the Run tool window, and each file:line in it is a link to the source. You install the simulators; the IDE runs them.

See the waves in Surfer

A Waveform Viewer run configuration opens a .vcd or .fst file in Surfer or GTKWave. You go from a run to its waves with one click instead of typing the viewer's command. The viewer is a separate application on your PATH.

See all features

For your team

  • Licences through JetBrains Marketplace. The IDE manages the licence with your other JetBrains licences, registered with a JetBrains account. Licensing
  • Compatibility. IntelliJ-based IDEs 2025.2.2 and newer. Tested on IntelliJ IDEA, including Community; checked for CLion and PyCharm with JetBrains Plugin Verifier. Compatibility
  • Support. Write to Hello@SystemVerilogStudio.com.

Talk to us about your team

Tell us who you are and how many engineers would use it. You get a reply by email.

Prefer to talk? Book a 30-minute call. Buying for a company? Pay by invoice or purchase order, or agree volume pricing: ask on the call or write to Hello@SystemVerilogStudio.com.

More for teams: licensing, compatibility and technical questions

Install in three steps

SystemVerilog Studio is a plugin: you install it from JetBrains Marketplace, from inside an IDE of version 2025.2.2 or newer.

  1. Open the Plugins page of the settings (⌘, on macOS, Ctrl+Alt+S on Windows and Linux).
  2. On the Marketplace tab, search for SystemVerilog Studio and click Install.
  3. Click Restart IDE when it is offered, then register your code or licence.

InstallationRegister a code or licence

Plans and prices

When your code expires, buy a licence on JetBrains Marketplace to keep using SystemVerilog Studio. See the plans in full

Free for students, teachers and open-source projects through JetBrains Marketplace. How to apply

Latest blog posts

  • Why RTL Engineers Are Moving to SystemVerilog Studio for Hardware Development

    RTL and verification engineers are discovering that IntelliJ IDEA, long known as a software development platform, now supports a purpose-built plugin for SystemVerilog design and testbench work. SystemVerilog Studio brings real-time, IEEE standard-compliant error checking and project-wide navigation to an IDE already trusted for large, complex codebases.

All blog posts

Start with a free 2-month code

Enter your email address and SystemVerilog Studio sends a 2-month code by email. No account or payment details needed.