Skip to content

Tatum: A Fast, Flexible Static Timing Analysis (STA) Engine for Digital Circuits

License

Notifications You must be signed in to change notification settings

verilog-to-routing/tatum

Repository files navigation

Tatum: A Fast, Flexible Static Timing Analysis (STA) Engine for Digital Circuits

Build Status

Overview

Tatum is a block-based Static Timing Analysis (STA) engine suitable for integration with Computer-Aided Design (CAD) tools, which analyze, implement and optimize digital circuits. Tatum supports both setup (max-delay) and hold (min-delay) analysis, clock skew, multiple clocks and a variety of timing exceptions.

Tatum is provided as a library (libtatum) which can be easily integrated into the host application. Tatum operates on an abstract timing graph constructed by the host application, and can be configured to use an application defined delay calculator.

Tatum is optimized for high performance, as required by optimizing CAD tools. In particular:

  • Tatum performs only a single set of graph traversals to calculate timing information for all clocks and analyses (setup and hold).
  • Tatum's data structures are cache optimized
  • Tatum supports parallel analysis using multiple CPU cores

How to Cite

If your work uses Tatum please cite the following as a general citation:

K. E. Murray and V. Betz, "Tatum: Parallel Timing Analysis for Faster Design Cycles and Improved Optimization", IEEE International Conference on Field-Programmable Technology (FPT), 2018

Bibtex:

@inproceedings{c:tatum,
    author = {Murray, Kevin E. and Betz, Vaughn},
    title = {Tatum: Parallel Timing Analysis for Faster Design Cycles and Improved Optimization},
    booktitle = {IEEE International Conference on Field-Programmable Technology (FPT)},
    year = {2018}
}

Documentation

Comming soon.

Download

Comming soon.

Projects using Tatum

Tatum is designed to be re-usable in a variety of appliations.

Some of the known uses are:

  • The Verilog to Routing (VTR) project for Field-Programmable Gate Array (FPGA) Architecture and CAD research. Tatum is used as the STA engine in the VPR placement and routing tool.
  • The CGRA-ME framework for Coarse-Grained Reconfigurable Array (CGRA) Architecture research.

If your project is using Tatum please let us know!

History

Why was Tatum created?

I had need for a high performance, flexible STA engine for my research into FPGA architecture and CAD tools. I could find no suitable open source STA engines, and wrote my own.

Name Origin

A tatum is a unit of time used in the computational analysis of music [1], named after Jazz pianist Art Tatum.