RTL Utilities, Translators and Parsers

Comprehensive collection of Verilog, VHDL, and UPF tools for modern EDA workflows

Collection of utilities that transform the quality and efficiency of SoC designs by orders of magnitude. Many of these tools are not available from EDA vendors but are essential during design cycles. All applications are highly configurable and available as libraries to meet custom requirements.

Parsers and Generators

SystemVerilog Parser

Complete IEEE LRM-compliant SystemVerilog parser with Java, Python, and Tcl APIs. Parses RTL and populates object model with rich APIs for design information access.

VHDL Parser

IEEE LRM-compliant VHDL parser supporting synthesizable subset with Java, Python, and Tcl APIs. Complete object model with elaboration capabilities.

Verilog Netlist Parser

Specialized netlist parser with elaboration and data model. Includes sample applications and comprehensive API documentation.

Liberty .lib Parser

Java-based Liberty parser supporting widely used constructs. Ideal for tool developers building lib-related applications.

VCD File Parser

Library to parse VCD files, populate datamodel, and access information through APIs. Supports Java, Python, and Tcl.

UPF Editor & Parser

IEEE 1801-2013 compliant UPF 2.3.x parser with smart IDE, color highlighting, content proposal, and Tcl API.

Translators and Converters

verilog2vhdl

Convert Verilog to VHDL while maintaining structure and function for easy correlation. Primarily targeted for Verilog-95 constructs.

vhdl2verilog

Convert VHDL to Verilog keeping same structure. May require manual tuning for complex constructs like nested records.

verilog2systemc

Convert Verilog to SystemC keeping original structure. Generated output requires fine tuning but provides excellent starting point.

vhdl2systemc

Converts VHDL to SystemC via internal Verilog representation. Generated SC requires manual refinement.

verilog2ipxact

Generate IP-XACT Component or Design from Verilog module definition with ports and parameters.

vhdl2ipxact

Generate IP-XACT component definition from VHDL entity with complete interface mapping.

ipxact2verilog

Generate Verilog module from IP-XACT. Supports protocol-based interface generation from register definitions.

ipxact2vhdlentity

Generate VHDL entity from IP-XACT Component definition with complete port and generic mappings.

verilog2lib

Create Liberty .lib library file from Verilog module definition.

lib2verilog

Convert Liberty .lib cells into empty Verilog modules for integration purposes.

Testbench Generators

Verilog Testbench Generator

Generate Verilog testbench for any module with random test vectors. Simple utility for quick validation.

VHDL Testbench Generator

Generate VHDL testbench for any entity with random test vectors. Ideal for learning and quick RTL validation.

Hierarchy Manipulation

createhierarchy

Group instances to build new Tile/Partition in SoC. Supports behavioral RTL, SV Generate, multi-dimensional arrays.

removehierarchy

Remove Verilog RTL hierarchies as specified. Maintains design functionality while flattening structure.

flatteninstances

Flatten selective hierarchies in SoC while keeping RTL intent intact.

flattenverilog

Flatten all RTL hierarchies in module while maintaining design intent.

mergemodules

Pull instances from two SoCs/HMs to build new HM/Tile, maximizing reuse across SoCs.

punchports

Insert new pin deep in hierarchy and pull to top by creating ports in necessary hierarchical paths.

Comparison and Analysis

comparemoduleinterfaces

Compare port and parameter changes between two Verilog modules. Assess integration impact for IP releases.

compareentities

Compare VHDL entities for port or generic changes. Compare between release versions.

ipxactcoherencychecker

Validate consistency between IP-XACT Component and Verilog/VHDL implementation.

Wrapper Generators

genwrapperverilog

Generate Verilog wrapper with simple Verilog-95 ports by flattening complex ports and parameters. Also wraps VHDL entities.

genwrappervhdl

Generate VHDL wrapper on top of Verilog module or VHDL entity with interface conversion.

genemptymodule

Generate empty/blackbox Verilog modules keeping includes, ports, and parameters intact.

Additional Utilities

VHDL/Verilog Sorting

Read files and print sorted list by analyzing dependencies. Supports configurations and mixed HDL.

Verilog PreProcessor

Resolve macros like nested `ifdef, `define for cleaner RTL analysis.

Verilog Document Generator

Generate IP documentation from Verilog definition with hierarchy, registers, ports, and parameters.

uniquifyverilog

Uniquify modules, classes, structures, interfaces, packages by prepending prefix and updating references.

swapcells

Swap Verilog modules, library cells, or memories with another definition.

SDC Constraint Parser

Read SDC Tcl files, populate datamodel by evaluating commands and expressions, compare structures.

All tools available in DesignPlayer bundle

Download DesignPlayer

200K+ usages, 50K+ downloads from Intel, Qualcomm, Mediatek, LG, NVIDIA, Samsung, Broadcom, NXP, Huawei, TI, AMD, ARM, and 40+ more leading companies