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.