Skip to content

efabless/nldiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 nldiff (ALPHA)

License: Apache 2.0 CI Status Invite to the Open Source Silicon Slack Code Style: Black

A simple utility using Pyverilog that lists the differences between two netlists.

Requirements

  • Python 3.8+ with PIP
  • IcarusVerilog

Installation

python3 -m pip install --upgrade --no-cache-dir nldiff

Usage

nldiff <first netlist> <second netlist>

Limitations

The tool is designed to operate on netlists coming out of OpenROAD and Yosys. In the interest of expedience, these limitations currently exist:

  • Port polarity and widths must be declared inside the module: the module's port argument list must only have the port names.
  • Only exactly one netlist allowed per file (flat netlist.)
  • Each instance declaration statement must declare exactly one instance: arrays of instances are not allowed and more than one instance in a declaration statement are not allowed.
  • Multi-dimensional nets and ports are not supported.

While the previous ones may be addressed in the future, the following will assuredly not:

  • Parameters are not supported.
    • wire, input and output widths must be expressed in the form of integer constants and not expressions.
  • Assign statements and procedural blocks are not supported.

License

The Apache License, version 2.0. See 'License'.

About

Simple netlist comparison utility

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages