Open Source / v0.1.2 / RTL → Layout

Full EDA Suite for Linux

RTL synthesis, place & route, static timing analysis, and native GUI viewers. Works exactly like Cadence Genus, Innovus, and Tempus. Free. Open source.

↓ Download for Linux Read the Docs
agni RTL Synthesis
agni-gui Schematic Viewer
sutra Place & Route
sutra-gui Layout Viewer
kala Static Timing
bash — full RTL-to-routed-layout flow
# ── Step 1: Synthesis (agni = Genus equivalent) ── $ agni agni> read_hdl counter_4bit.v agni> elaborate counter_4bit agni> use_pdk ortus_130nm agni> create_clock -period 2000 clk agni> syn_generic agni> syn_map [Agni] Synthesis done — 127 cells, 1831 µm², 1.09 GHz agni> write_hdl counter_netlist.v [Agni] Written: counter_netlist.v agni> launch_gui # opens agni-gui schematic viewer [Agni] Launched agni-gui (pid 18437) ← counter_netlist.v # ── Step 2: Place & Route (sutra = Innovus equivalent) ── $ sutra sutra> read_netlist counter_netlist.v sutra> use_pdk ortus_130nm sutra> set_top counter_4bit sutra> create_floorplan sutra> place_design sutra> clock_tree_synthesis sutra> route_design [Sutra] Routing done — 312 nets, 1847 segments, 4203 µm wire sutra> write_def counter.def sutra> launch_gui # opens sutra-gui layout viewer [Sutra] Launched sutra-gui (pid 18512) ← /tmp/sutra_layout_counter_4bit.json # ── Step 3: Static Timing Analysis (kala = Tempus equivalent) ── $ kala kala> read_netlist counter_netlist.v kala> use_pdk ortus_130nm kala> set_top counter_4bit kala> create_clock -period 2000 clk kala> check_timing ┌─────────────────────────────────┐ │ Timing Check: PASS ✓ │ │ Period : 2000 ps │ │ WNS : 219 ps │ └─────────────────────────────────┘

Five tools. One flow.

Same model as Cadence: separate tools, shared libraries, clean handoffs.

agni ≈ Cadence Genus / Synopsys DC

RTL Synthesis

Reads Verilog RTL, runs technology-independent optimisation, maps to your standard cell library. Produces a gate-level netlist with timing and area reports.

read_hdl elaborate use_pdk syn_generic syn_map write_hdl report_timing report_area
agni-gui ≈ Synopsys Design Vision

Schematic Viewer

Native Qt5 schematic viewer. Renders the mapped netlist as a gate-level schematic with real gate symbols (AND/NAND/OR/DFF/MUX), logic depth layout, and hierarchy browser.

agni-gui netlist.v # or from inside agni: agni> write_hdl netlist.v agni> launch_gui
sutra ≈ Cadence Innovus

Place & Route

Floorplanning, simulated-annealing placement with timing-driven net weights, H-tree clock distribution, congestion-aware global routing (MST + L-shape on M2/M3), DEF output.

create_floorplan place_io place_design clock_tree_synthesis route_design write_def
sutra-gui ≈ Cadence Innovus GUI

Layout Viewer

Native Qt5 layout viewer. Dark canvas with cell colouring (green = combinational, blue = FF), per-layer routing visibility (M1/M2/M3/clock), zoom/pan, scale ruler, cell selection.

sutra> route_design sutra> launch_gui # sutra exports layout JSON and opens sutra-gui
kala ≈ Cadence Tempus / Synopsys PT

Static Timing Analysis

Standalone STA engine. Builds a timing graph from the mapped netlist, propagates arrival times using Liberty cell delays, reports WNS, TNS, critical path, and gives a PASS/FAIL timing check.

create_clock report_timing report_slack check_timing

Install in 3 steps

Works on Ubuntu 20.04+, Debian 11+, RHEL 8+, and any x86-64 Linux. GUI tools require libqt5widgets5.

1

Download the latest release

Pre-built binaries. No compilation needed.

wget https://ortus.siliconpath.in/download/ortus-linux-x64.tar.gz tar -xzf ortus-linux-x64.tar.gz cd ortus-*-linux-x64
2

Run the installer

Installs all tools to /opt/ortus/bin/ and symlinks to /usr/local/bin/. For GUI tools, install Qt5 runtime first.

# Install Qt5 runtime (for agni-gui and sutra-gui) sudo apt-get install -y libqt5widgets5 sudo bash install.sh # OR install for your user only (no sudo needed) bash install.sh --user
3

Source the environment and run

# Add to ~/.bashrc for permanent access source /opt/ortus/etc/setup.sh # Verify — all five tools agni --help sutra --help kala --help agni-gui --help sutra-gui --help # Run the example full flow agni -f examples/counter_synth.tcl sutra -f examples/pnr.tcl kala -f examples/sta.tcl

Industry-standard commands. Beginner-friendly flow.

Ortus follows the same TCL command structure and tool flow used in professional EDA, great for students learning the field and engineers exploring open alternatives.

Synthesis: agni vs Cadence Genus

Cadence Genus
read_hdl counter.v elaborate counter_4bit read_libs sky130_hd.lib create_clock -period 2.0 clk syn_generic syn_opt write_hdl netlist.v report_timing report_area
agni (Ortus)
read_hdl counter.v elaborate counter_4bit use_pdk ortus_130nm create_clock -period 2000 clk syn_generic syn_map write_hdl netlist.v report_timing timing.json report_area area.json

Place & Route: sutra vs Cadence Innovus

Cadence Innovus
read_netlist netlist.v read_libs sky130_hd.lib floorPlan -die_size ... place_design clockDesign routeDesign write_def design.def start_gui
sutra (Ortus)
read_netlist netlist.v use_pdk ortus_130nm set_top counter_4bit create_floorplan place_design clock_tree_synthesis route_design write_def counter.def launch_gui

Static Timing: kala vs Cadence Tempus

Cadence Tempus
read_netlist netlist.v read_libs sky130_hd.lib create_clock -period 2.0 clk report_timing report_checks -path_delay max check_timing
kala (Ortus)
read_netlist netlist.v use_pdk ortus_130nm set_top counter_4bit create_clock -period 2000 clk report_timing timing.json report_slack slack.json check_timing

Built for engineers. Not for procurement.

A complete physical design flow — no license server, no dongle, no annual renewal.

Fast C++ engine

Synthesis, placement, and routing all implemented in C++17. Most designs complete in seconds, not hours.

📜

TCL script flow

Write .tcl scripts just like Genus or Innovus — or drop into the interactive shell by just typing the tool name.

🖥

Native Qt5 GUI viewers

agni-gui shows gate-level schematics. sutra-gui shows the placed & routed layout with per-layer visibility — like Innovus.

🔀

Congestion-aware router

MST Steiner tree + 32×32 congestion grid. Chooses L-shape orientation to avoid hot spots. H-tree for clock nets.

Timing-driven placement

Net weights from timing criticality feed into simulated annealing. Clock nets weighted 3× to minimise skew.

🏭

Liberty PDK support

Ships with ortus_130nm and sky130_hd. Plug in any Liberty .lib from your foundry — TSMC, Samsung, SkyWater.

📊

JSON reports

All reports — timing, area, placement, routing, slack — output as clean JSON for CI/CD and scripting.

🔓

Free forever

No license server. No floating licenses. No call-home. Download, install, run on as many machines as you need.


Ortus vs the industry

Same professional workflow. Zero licensing cost.

Feature Synopsys (DC + ICC2 + PT) Cadence (Genus + Innovus + Tempus) Ortus EDA
RTL Synthesis ✓ DC / Design Compiler ✓ Genus ✓ agni
Place & Route ✓ IC Compiler 2 ✓ Innovus ✓ sutra
Static Timing Analysis ✓ PrimeTime ✓ Tempus ✓ kala
Native layout GUI ✓ IC Compiler GUI ✓ Innovus GUI ✓ sutra-gui (Qt5)
Schematic viewer ✓ Design Vision ✓ Genus GUI ✓ agni-gui (Qt5)
TCL script flow ✓ Yes ✓ Yes ✓ Yes
Liberty PDK support ✓ Yes ✓ Yes ✓ Yes
Annual license cost ✗ ~$1M+/yr ✗ ~$1M+/yr ✓ Free
Open source ✗ No ✗ No ✓ Yes

Get Ortus EDA

Pre-built binaries for Linux x86-64. No compilation required.

Ortus EDA Suite v0.1.2 — Linux x86-64

All five tools, ortus_130nm + sky130_hd PDKs, Examples, User guide, Install script

Ubuntu 20.04+ Debian 11+ RHEL 8+ x86-64 Qt5 GUI
agni— RTL synthesis (Genus equivalent)
agni-gui— Schematic viewer (Design Vision equivalent)
sutra— Place & route (Innovus equivalent)
sutra-gui— Layout viewer (Innovus GUI equivalent)
kala— Static timing analysis (Tempus equivalent)
↓ Download Binary View Source
One-liner install
wget https://ortus.siliconpath.in/download/ortus-linux-x64.tar.gz && tar -xzf ortus-linux-x64.tar.gz && cd ortus-*-linux-x64 && sudo bash install.sh