Naja: an open source framework for EDA post synthesis flow development

From F-Si wiki
Jump to navigation Jump to search

Downloads

Abstract

Naja is an EDA project aiming at offering an open source access to fundamental data structures and APIs for the development of essential post logic synthesis EDA algorithms such as: netlist simplification (constant and dead logic propagation), logic replication, netlist partitioning, ASIC and FPGA place and route, …

Naja is a set of C++ APIs with two main interacting components:

  • SNL (Hierarchical and Structural Netlist): The entry door into the Naja ecosystem.
    • High user fidelity
    • User interactions
    • Serialization dump and load allows avoiding the use of standard formats (Verilog, EDIF, …) for saving the data structure on disk and thus not losing any information impossible to represent in such formats.
    • Pointer based
    • Python wrapper and interface
  • DNL (Dissolved and Flat Netlist):
    • Fast flat traversal
    • Low memory footprint
    • Multi threading support
    • Algorithmic interactions
    • Index based

The talk will detail each component, explain their interaction and present ongoing projects built on top of the framework.

Software

General information

Repository: https://github.com/xtofalex/naja