Nirmaan: Software Development Toolkit for Post Layout EDA
Nirmaan is a unique software development toolkit for EDA tool developers for accelerating the development of optimized Post-Layout EDA tools, including DFM/DFY and computational lithography tools. At sub-90 nanometer geometries, the Post-Layout tool development challenges include handling of huge layout and mask data in excess of 100 GBs and performing complex geometrical operations accurately in a fast and robust manner. Nirmaan is first of its kind, versatile software development toolkit that addresses this challenge and lets you develop Customized Post-Layout EDA solutions that are highly complementary to other such tools. Nirmaan includes efficient and scaleable geometric database and a host of fast geometrical operations commonly required for developing a whole range of Post-Layout EDA tools. Native interfaces are provided to most of the major industry standard Layout and Mask data formats and the other formats are going to be supported in near future. These interfaces enables plug and play with existing design environments.
Nirmaan enables Corporate CAD groups in semiconductor companies and EDA startups to cut-down their Post-Layout Tool development time and effort by more than 2X. Currently, the only alternative for Post-Layout EDA tool developers is to develop their own geometric database and geometrical operations along with the standard input and output format interfaces as part of their EDA tool development. Nirmaan is the first offering in the market that provides a ready-made, performance tuned and customizable infrastructural platform for these developers. Moreover, Nirmaan's innovative developer licensing model allows royalty free use of derivative tools using Nirmaan, thus reducing Total Cost of ownership of EDA tools.

Key Benefits
- Versatile Software Development Toolkit lets you develop Customized Post-Layout EDA Solutions.
- Ready-made common infrastructure cuts down Post-Layout tool development time by more than 2X.
- Efficient, Scaleable and Persistent Geometric Database easily handles over 100GBs of polygonal data.
- Host of Built-in, Fast and Memory-efficient Geometrical operations.
- Native Interfaces with all major industry layout and mask data standards, including GDSII, OASIS, MEBES, OASIS.MASK and OpenAccess (more to come).
- Re-usable platform for a range of Post-Layout tools including Rule Checking, MDP, MRC, RET, DFM/DFY tools and computational lithography tools.
- Custom Virtual Memory Management to optimally handle Disk I/O.
- Unique Hybrid Data Organization that combines the best features of Flat and Hierarchical Processing.
- First of its kind C++ API access to infrastructure lets you create your own custom tool binaries.
- Easy to use TCL API allows you to build prototypes of your custom tools quickly.
- Sample demo applications built using Nirmaan's C++ API along with their source code would act as reference implementation guide to the tool developers.
- Innovative business model of Developer based licensing lets you use your own custom developed tools without any royalty.
- Widely accepted by leading semiconductor and EDA companies
Key Features
- Layout/ mask format supported
- GDSII
- OASIS
- MEBES
- OASIS.VSB
- OpenAccess 2.2
- SoftJin's compressed format for GDSII, MEBES
- Supported Geometry Type
- Manhattan
- Octangular
- All-angle
- Multiple types of Structural Data Organization Supported
- Flat: Suitable of parallelism
- Hybrid: Partially flattened, combines the best feature of Flat and Hierarchical
- Hierarchical
- In-built Geometrical Operations
- Boolean - Union (OR), Intersection (AND), Difference (SUB), Comparison (XOR), Reversal (NOT)
- Sizzing (positive and negative)
- Window Query
- Rasterization
- Trapezoidalization (Default Fracturing)
- Rule Checks - Width, Space, Jog, Notch, Angle, Area etc.
- Database access, traversal and manipulation
- Interface to access database and operations
- C++ API
- TCL command line interface
- Operating systems supported
- 32 bit and 64 bit Linux
- 32 bit Windows
High Performance Geomterical Processing
Nirmaan is designed keeping in mind the existing and emerging performance challenges associated with processing huge IC layout and mask data of sub-65 nm regime.
- Nirmaan stores and represents geometric data in three organizational levels - Structural, Spatial and Raw Geometry level. At Structural level, Nirmaan has the capability to configure and store geometrical data in Flat, Hierarchical or Hybrid (a unique partially flattened data organization) modes. SoftJin's Hybrid data organization resembles Flat data organization in terms of its spatial properties and is thus well suited for parallelization. At the same time, it is closer to Hierarchical organization in exploiting the hierarchy of the data for efficient computation and reduced data size
- Recognizing that the key performance bottleneck is not just computation but also the disk I/O associated with the reading/writing and the virtual memory involved during the data intensive operations, Nirmaan includes a variety of techniques including proprietary Virtual Memory Management (to optimize Disk I/O and reduce Thrashing), Cache-centric Algorithms for data processing and techniques for output file size reduction.
- As an underlying infrastructure, Nirmaan can also be used to develop Distributed Computing and Multi-threaded Post-Layout Applications.
Unprecedented Flexibility
The key to Nirmaan's usability is the unprecedented flexibility it provides to Post-Layout EDA developers to create custom solutions of their choice.
- A host of fast and memory efficient geometrical operations that are commonly needed for a range of Post-Layout tools are included in the toolkit. These include all the commonly used Boolean, Rule Checking, Resizing, Window Querying operations. These operations work on Nirmaan's internal database and can be performed at polygon, cell, window and layer levels. These operations support Manhattan, Octangular as well as all-angle layout geometries.
- A collection of operations are provided to directly access, traverse and manipulate the Nirmaan Database.
- All the geometrical operations including Database access are exposed to developers through C++ API functions. Developers can write their own custom application using these API functions and link Nirmaan's object code libraries to create a single executable for the derivative tool.
- For ease of quick prototyping or instant end-use of Nirmaan's functionality, a TCL based command line interface (Nsh) is also available as a licensable option.
- Most of the major industry standard Layout and Mask formats are natively supported, thus freeing developer resources from developing these interfaces.
