The first GPU-accelerated, fully-featured static timing analysis (STA) engine
Now free for academic and evaluation use.
Features
Steiner tree
(optional)
Delay
calculation
Arrival
propagation
Top-k path
search
End-to-end GPU-accelerated
Timing Exceptions
- set_disable_timing
- set_false_path
- set_multicycle_path
- set_max_delay
- create_generated_clock
- ... and many more!
Delay Modeling
- Elmore delay
- NLDM
- Arnoldi reduced-order model
- External delay annotation (.sdf)
- ("CCS Coming soon)
Interoperability
- Read industry standard .v, .lib, .sdc
- Build Netlist directly from your database
- Extract parasitics from pin positions (FLUTE)
- Operate on GPU-raw internal arrays
Awards
ACM Student Research Competition (SRC) 2022
(Undergraduate)
First Place
ICCAD 2024 CAD Contest Problem C
(GPU-accelerated timing-driven gate sizing)
First Place
ISPD 2025 Contest
(Performance-driven large scale global routing)
First Place
Download the library
HeteroSTA is released as a dynamic library (.so) and a corresponding C header file (.h). Use the following link to download the latest release v1.0 (preview version).
The release contains two libraries for CPU-only and GPU-enabled machines, respectively.
The dynamic library allows you to easily integrate HeteroSTA into your existing EDA applications such as placers, routers, etc. to build a powerful timing optimization pipeline - see the code and the docs to learn how to do that!
To run HeteroSTA using GPU, you need to have a NVIDIA GPU with compute capability >= 5.2 and have the CUDA driver installed.
Obtain a license
HeteroSTA is free for academic and non-commercial use. You need to obtain a license and it is automatically granted without any waiting. Simply fill in your contact information below.
After submission, an email from heterosta@pkueda.org.cn will be sent to you. By verifying your email address, we will send you a string which looks likelic:heterosta:xxxxxxxx. Fill that into your program entry between heterosta_init_license(...) to initialize the license.
Getting involved
Full documentation can be read here.
Bug report, feature request, questions are welcome! Please raise them at GitHub Issues.