Code of "Dynamic Supply Noise Aware Timing Analysis with JIT Machine Learning Integration".
- GNU C++ Compiler v7.3 with -std=c++1z
- Clang C++ Compiler v6.0 with -std=c++17
- PyTorch >= 1.6.0
~$ ./bin/ot-shell
ot> cd example/simple
ot> read_celllib osu018_stdcells.lib
ot> read_verilog simple.v
ot> read_sdc simple.sdc
ot> read_noise_models ../sample/models_trace # The path of MLP models
ot> report_timing
For further usage instructions, please refer to the OpenTimer
-
Place the pre-trained MLP (Multi-Layer Perceptron) weights from PyTorch, saved with the '.pth' extension, in the directory 'OpenTimer-PI/sample.'
-
Execute the script 'trace_pt_script.py' located in the aforementioned directory to generate the Intermediate Representations.
-
Recompile OpenTimer.
~$ cd OpenTimer-PI
~$ mkdir build
~$ cd build
~$ cmake ../
~$ make
After successful build, you can find binaries and libraries in the folders bin
and lib
, respectively.
We are greatly appreciative of the open-source project OpenTimer , upon which we have built and completed this endeavor