Smart RTL Code Editor & Split Window
SiliFlow builds on a custom-themed Monaco Studio (siliflow-dark) tailored for Verilog-2001 (IEEE 1364) and SystemVerilog (IEEE 1800-2017) (logic, always_ff, always_comb, always_latch, interface, modport, typedef, enum, struct, package, import, generate).
1. Dual-Pane Split Window (Ctrl+\)
Inspect RTL, testbenches, interfaces, or visualizers side by side without switching tabs:
- Horizontal & Vertical Split: Open Split Right (Ctrl+\) or Split Down via View → Editor Layout, or flip between Side-by-Side / Top-Bottom layouts anytime.
- Open Visualizers to the Side (
Alt+Click): HoldAltwhile clicking Waveform, FSM, or Schematic in the top Action Island to dock the visualizer directly into the secondary pane. - Resizable Split Divider: Drag the center divider smoothly (
20%–80%clamped, saved per layout) or double-click the divider to reset to50 / 50. - Focused Pane Isolation: Focus either pane by clicking or pressing Ctrl+1 / Ctrl+2. Edit actions (
Ctrl+S,Ctrl+W, Find/Replace, Comment,Ln/Coltelemetry) target the focused pane cleanly. - Cross-Pane Drag & Drop: Drag tabs to reorder or move across panes with automatic deduplication, synchronized shared file buffers, safe dirty-buffer checks, and automatic single-pane collapse when the secondary pane empties.
- Code-Aware Cross-Probing: Jumping from Problems, Search, Module Hierarchy, Schematic, STA, or CDC automatically focuses a code pane so open Waveform/FSM/Schematic views remain undisturbed.
2. Workspace Symbol Index & F12 Go to Definition
SiliFlow’s background VerilogWorkspaceIndex indexes all .v and .sv files across your project—including unopened files:
- Go to Definition (F12 /
Ctrl+Click): Jump across files tomodule,port,wire,reg,param,task,instance,interface,package,typedef, andclassdeclarations. - Intelligent Autocomplete (Ctrl+Space): Suggests workspace HDL symbols, ports/parameters with widths and directions, and relative paths inside
`include "..."directives. - Hover Telemetry: Hover over any identifier to inspect signal declaration type, bit vector width, and source file location.
- Built-In ViewState Cache: Cursor position, selections, and scroll offsets stay preserved across tab switches.
3. 350ms Merged Live Linting & STA Overlays
Every edit triggers a debounced 350ms background lint pass combining diagnostics from:
- Icarus Verilog (
iverilog) - Verilator (
verilator) - Slang (
slang) (IEEE 1800 SystemVerilog structural diagnostics)
Syntax errors and warnings appear immediately as inline red/yellow squigglies and feed the bottom Problems tab (Ctrl+Shift+M) without clobbering diagnostics from other files.
When Static Timing Analysis runs, SiliFlow also displays inline glowing critical-path line markers and path-hop hover tooltips directly in Monaco and flashes target lines when clicked from the STA panel.
4. Built-In HDL Code Scaffolds (Tools → RTL Code Generators)
Right-click any Verilog/SystemVerilog file in the Explorer or open Tools → RTL Code Generators to scaffold:
- Copy Module Instantiation: Extracts parameters and ports to generate
module_name #(...) u_inst (...);. - Generate Verilog Testbench (
.v) or SystemVerilog Testbench (.sv): Scaffolds clock/reset generation,$dumpfile, DUT port bindings, and$finish. - Generate SystemVerilog Interface (
.sv): Emits parameterizedinterfaceboilerplate withmasterandslavemodports. - New From Template (File → New From Template): SystemVerilog Module, Verilog Testbench, SystemVerilog Testbench, SystemVerilog Interface, or
project.json.
5. Editor Settings & Shortcuts
Customize ergonomics in Settings (Ctrl+,): Font size (8–32px, default 13px), Tab width (2/4/8), Spaces vs. Tabs, Minimap toggle, and Word Wrap (Alt+Z). Zoom quickly using Ctrl+=, Ctrl+-, and Ctrl+0, search workspace-wide with Ctrl+Shift+F, or middle-click any tab (press and release) to close it.