In this paper we present the language Stratus dedicated to the parametrized generation of VLSI modules. Stratus extends the Python language with a set of methods and functions for the procedural generation of netlist and layout views of structured cell based designs. It also provides a programming framework for the development of various optimization techniques that can be applied during module generation. From the designer's point of view, Stratus takes full advantage of Python: a portable, interpretative, easy to learn and object-oriented language. Stratus is the design capture component of the open-source academic physical synthesis platform Coriolis, based upon the Hurricane C++ integrated data-base, which provides both C++ and Python high level APIs. Stratus extends this Python API, and allows the designer to use both low level and high level placement, global routing and detailed routing directives.
[1]
Alain Greiner,et al.
Using C to write portable CMOS VLSI module generators
,
1994,
EURO-DAC '94.
[2]
Christophe Alexandre,et al.
Zephyr: A Static Timing Analyzer Integrated in a Trans-hierarchical Refinement Design Flow
,
2006,
PATMOS.
[3]
Jan Decaluwe.
MyHDL: a python-based hardware description language
,
2004
.
[4]
Christophe Alexandre,et al.
TSUNAMI: an integrated timing-driven place and route research platform
,
2005,
Design, Automation and Test in Europe.
[5]
Timothy J. Barnes.
SKILL: A CAD system extension language
,
1991,
DAC '90.
[6]
Alain Greiner.
ALLIANCE: A complete Set of CAD Tools for teaching VLSI Design
,
1992
.
[7]
Wael Hassan.
Simplified Wrapper and Interface Generator
,
2000
.