A new SystemVerilog editor

Edaphic Studio is developing a new SystemVerilog editor with unique features. Our goal is to be the best day-to-day SystemVerilog editor - reducing errors and increasing productivity as you type without using external tools

 

Live SystemVerilog Analysis

Edaphic Studio has an advanced analysis engine built-in to the editor. It continually analyses your code as you type. It will highlight errors and warnings and in many cases provide quick fixes.

No more slow compile then fix errors cycle.


Easy code navigation

Edaphic Studio allows you to quickly navigate to any code definition, see all usages of a given object and even rename throughout your project.

This feature that makes understanding any code much more manageable and will be hard to live without once you are used to it.


Powered by JetBrains

Edaphic Studio builds upon JetBrains state of the art IDE technology. JetBrains IDEs provides a modern, actively developed platform with great built-in features and an active plug-in community. Starting from a great IDE allows many built-in features.


SystemVerilog editing features

There are several great editing features built-in for code completion, overview, formatting, folding and more. Each one making editing a little bit easier.


 

SystemVerilog Analysis Engine

The central part of Edaphic Studio is it's built-in SystemVerilog analysis engine. This engine scans your project to understand hierarchies and connections as well as analyzes your code as you type. Think of it as a fast, continuously updating compiler that doesn't rely on any external tools.

 
 

Errors clearly marked in editor

Error checking as you type!

The engine works relentlessly, every time a file is modified the result is re-analyzed. Just look at the upper right corner of any opened file to see it's current status. A green check-mark and all is good, a red exclamation-point and you have errors, and yellow streak indicates warnings.

Streamline the compile & fix errors cycle!

Our goal with this engine is to cut down drastically on the slow SystemVerilog compile and fix errors cycle. A green check-mark should mean your code will compile and link. We are not fully there yet, but we are working on it, and the errors and warnings we detect already make a meaningful difference. With your support, we will make this engine more capable.


Supports all of SystemVerilog - including macros!

The engine supports the full SystemVerilog syntax today including Compiler Directives like define, macros and conditional code. It translates all macro usages into the resulting structure before doing the analysis. This Compiler Directive support allows Edaphic Studio to understand the actual intent and report errors and warnings for even complex code scenarios.

Clicking on the image to the right will take you to a page detailing how the Analysis engine works with Compiler Directives.

This code analysis is done on-the-fly and without relying on any external tools. It just works on all platforms.

Step-by-step example of how analysis engine works.

Step-by-step example of how analysis engine works.


Smart hierarchy based code completion

 

Understands hierarchies and scope

The engine further builds up a hierarchical understanding of your project, which means it understands how classes, packages, and modules interconnect. This level of knowledge allows for easy code navigation, proper code completion.


 

Go to any object's definition

Edaphic Studio provides SystemVerilog aware, built-in navigation that allows you to go to the definition of any code object quickly. It's easy to use, and once you get used to it, you will use it all the time. It makes understanding any code so much easier.

The keymap [Ctrl]+b ([Command]+b on the Mac) takes you to the definition of any code object be it a variable, class, module, task, function, etc. Code navigation also works in reverse - If you hit [Ctrl]+b while standing on a definition, it brings up a list of all usages of the current object.

The code navigation is syntax, scope, and hierarchy aware which means it will always take you to the correct definition. Code navigation is dynamically updated and is not dependent on external tools or regular expressions lists.

When you place the cursor on an object, the editor automatically highlights all usages of it in the same file which makes it easy to glance its usages quickly.

Below are a few examples of how it all works

 
 

Simple navigation example

This short animation highlights how easy it is to go to the definition of any SystemVerilog object. Merely place the marker on any code object and hit ctrl-b.

You will also want to learn the keymap for navigating back. On Linux it's [Alt][Shift][Left Arrow], on Windows it's [Ctrl][Alt][Left Arrow] and on the Mac [Command]+[

 

Correct code navigation based on syntax understanding

Syntax aware navigation

It is not uncommon, and legal, in SystemVerilog to name a module instantiation the same name as the module. Since Edaphic Studio understands SystemVerilog syntax, it correctly knows what objects refer to the instance and what refers back to the original module. In the screenshots above you can see that the editor resolves the usages correctly.

 

Edaphic.Studio understand variable scope and shadowing.

Scope aware navigation

Edaphic Studio correctly understands object scoping. It's bad coding practice to have one variable shadow another variable, but Edaphic Studio will still go to the correct definition as can be seen in the examples above.

This understanding of scope makes it easy to rename variables even when they have the same name.

 

Edaphic.Studio follows class inheritance rules to find definitons of functions

Class based navigation

Edaphic Studio will follow class inheritance rules to figure out what class members are available. Becuase of this it correctly identifies the function referred to for variable instance as can be seen in this basic example.

Edaphic Studio does this resolution on the fly for real-world projects using UVM or other packages.

SystemVerilog editor features

Edaphic Studio smartly supports expected IDE editor features like code completion, formatting, and folding. With the analysis engines understanding of SystemVerilog syntax and the current project, it can provide powerful and smart options for each feature. Scroll down to learn more.


Code Completion

Built-in scope traversal automatically builds up a list of relevant auto-complete targets. It understands all SystemVerilog hierarchies like class, module or packages. As a result, your choices for code-completion are always appropriate. You can use the up and down arrows to select the correct target then hit tab for completion. Auto-completion uses fuzzy matching logic. No need to remember the function name exactly. Type what you remember and Edaphic.Studio will sort it out.

Please take a look at the examples below to see what Edaphic.Studio can do.


Code Formatting

Edaphic.Studio formats SystemVerilog code. Formatting is more than indentation it defines allowed spacing between code objects as well as the alignment for multiple lines of the same type (like variable declarations).

Formatting is a personal preference and Edaphic.Studio has several settings for formatting allowing you to find a style that works for you and your company.

 
 

Automatic Header File view

EdaphicStudio supports Structure View ([ALT][7]) that brings up a code summary window. We like to think of it as an automatic header file view as it is an excellent way to see all functions, tasks, and variables available for a class but it also works as well for modules, packages, and programs.

 

Structure View example

 

Folding

Edaphic Studio supports folding of almost any code block be it a module instantiation, port list declaration, function etc. Simply click on the fold marker in the left gutter (see image) to fold. If you hover over a folded block you get a quick glance of contents. Simply clicking on a folded block will expand it again.

 

Code folding

 

Smart Ligatures

Edaphic.Studio smartly supports ligatures for SystemVerilog. It will suppress ligatures for nonblocking and clockng assignment keeping your code easy to read!

Easy to read ligatures on line 6. Suppress on nonblocking and clocking assignment lines.

Built on-top of JetBrains technology

Edaphic Studio starts from JetBrains' IDE technology. JetBrains develops world-leading IDEs for Java, Ruby, Python, C/C++, Rust and is the official IDE for Android app development.

Starting from best-of-breed existing technology allows us to integrate many expected IDE features like project management and revision control.

JetBrains also have an active 3rd party app store for even more features and languages.

Below are some examples of great built-in features available on all platforms.

Edaphic Studio is not associated with JetBrains

Screen Shot 2018-03-30 at 10.52.35 AM.png

Version Control Built-in

Graphical version control comes standard. Provides a great summary of which files has changes and a grapical diff of each change. 

You can perform automatic reformatting of code during commit or update the copyright header

Support all major revision control programs like GIT, SVN, CVS and Perforce

Edaphics.Studio - Run action.png

Keyboard Driven coding

All commonly used commands are mapped to configurable keyboard short-cuts. To any command you can also hit ctrl-alt-a to bring up the run any command action where you can fuzzy search for a command

Key mappings can be configured to be similar to emacs and there is even a powerul vim emulation mode built in. 

Screen Shot 2018-03-30 at 10.57.01 AM.png

Integrated Terminal

With Edaphic.Studio the need to use the command line is reduced. But when you need it there is a great terminal built-in. Simply hit ctrl-f12 to bring up a terminal.

Screen Shot 2018-03-30 at 2.14.22 PM.png

Polygot Experience

Starting from leading software IDE technology allows us to include many languages from a thriving user community. All common languages like Python, Perl, Ruby, Shell scripts, Rust and many more are supported through plug-ins

os_logos_square.png

Works Where you work

Edaphic.Studio is easy to install and works where you work be it on Linux, Windows or even Mac. You can even install it without admin privileges in your home account - though we do recommend central install.

Updates are automatically pushed and installed with a click.

Update1.png

Updates automatically

Edaphic.Studio will notify you when new updates are available. When you have a minute over just click "update" and restart your editor to get the latest features and bug fixes