Way™ Milkyway C++ API

EDA leader Synopsys helps you avoid file transfer by providing direct C-API access to the popular Milkyway physical design database. The Milkyway C-API is available to Synopsys customers as a product, and also to EDA companies via the Synopsys MAP-inSM program.

For all its advantages, the Milkyway C-API is difficult to understand. It appears less complete than it really is. This leads many developers to conclude that there is no way to use the Milkyway C-API.

Voom developed the Way™ C++ interface layer to enable quick development of reliable, maintainable C++ Milkyway-based applications like Mower. Way makes important improvements on the standard Milkyway C-API:

Milkyway C-API

Voom Way C++ API

All global functions Class hierarchy in namespace
Inconsistent memory management Automatic memory management verified free of memory leaks
No constness Constness
Return code error handling Exceptions
Objects share the same type Type safe
No operators Operators
Iterators with start(), next() and quit() Iterators with operators and automatic quit
Documentation for most functions Doxygen documentation for all classes and methods
Missing objects Several missing objects implemented
Missing constants Missing constants defined
Unusable functions included Useless functions discovered and documented
Subtle changes between versions Unit tests detect changes in future Milkyway versions
Scarce examples Unit test for every public method
Linkable library All source code supplied
Free to EDA vendors On-site support

Way offers these advantages to C++ developers while remaining true to Milkyway concepts. Without introducing overhead, Way organizes the Synopsys C-API into classes that consistently perform the housekeeping that every Milkyway client must do.

No way? Way.

UA-1131005-1