Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STA-Visualizer

Interactive Static Timing Analysis (STA) visualizer for understanding Setup & Hold timing with live waveforms, timing diagrams, slack equations, skew, jitter, and path analysis.

An interactive Static Timing Analysis (STA) playground for learning Setup & Hold timing visually.

Live timing diagrams • Interactive waveforms • Slack calculations • Clock skew • Jitter • Path analysis


🌐 Live Demo

Full Cycle Path STA

https://mohammeds2lah.github.io/STA-Visualizer/Full_Cycle_Path_STA/

Half Cycle Path STA

https://mohammeds2lah.github.io/STA-Visualizer/Half_Cycle_Path_STA/

Full & Half Cycle Path STA

https://mohammeds2lah.github.io/STA-Visualizer/Full_Half_Cycle_Path_STA/


Why this project?

Static Timing Analysis is one of the most important topics in digital design, ASIC, and FPGA development, yet it is usually taught using static equations on slides or whiteboards.

This project was built to make STA intuitive.

Instead of reading equations, you can interact with every timing parameter and immediately see how it changes:

  • Timing diagrams
  • Launch and capture waveforms
  • Setup and Hold equations
  • Slack values
  • Clock skew
  • Clock jitter
  • Combinational delay
  • Cell sizing
  • Threshold voltage (LVT/RVT/HVT)

Everything updates live.


Features

  • Interactive Setup & Hold timing visualization
  • Supports all three standard timing paths
    • IN → REG
    • REG → REG
    • REG → OUT
  • Live timing waveforms
  • Interactive timing diagrams
  • Real-time Setup & Hold slack calculation
  • Clock skew visualization
  • Clock jitter modeling
  • Cell sizing exploration
  • LVT / RVT / HVT comparison
  • Buffer insertion for hold fixing
  • Corner-aware timing calculations

What can you explore?

Try experimenting with:

  • Increase clock frequency
  • Add positive clock skew
  • Add negative clock skew
  • Change LVT ↔ RVT ↔ HVT
  • Upsize logic cells
  • Insert delay buffers
  • Increase jitter
  • Observe setup and hold slack

The visual feedback makes it much easier to understand the trade-offs than reading equations alone.


Educational purpose

This project is intended as an educational visualization tool.

It demonstrates the concepts behind Static Timing Analysis but is not intended to replace signoff STA tools such as PrimeTime or Tempus.


Contributing

Ideas and bug reports are always welcome.

If you're interested in digital design education or STA visualization, I'd be happy to collaborate.


Author

Mohammed Aboshosha

If you find this project useful, consider giving it a ⭐ on GitHub.


License

This project is licensed under the MIT License.

Copyright (c) 2026 Mohammed Aboshosha.


Credits & Attribution

This project was created and is maintained by Mohammed Aboshosha.

If you use this project in:

  • university courses,
  • tutorials,
  • workshops,
  • conference presentations,
  • YouTube videos,
  • blog posts,
  • or other educational material,

a link back to this repository is greatly appreciated.

Repository: https://github.com/MohammedS2lah/sta-visualizer


Disclaimer

STA Visualizer is an educational tool designed to help students and engineers understand Static Timing Analysis concepts through interactive visualization.

It is not intended to replace professional signoff STA tools such as Synopsys PrimeTime, Cadence Tempus, or OpenSTA.

About

Interactive Static Timing Analysis (STA) visualizer for understanding Setup & Hold timing with live waveforms, timing diagrams, slack equations, skew, jitter, and path analysis.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages