Giter Site home page Giter Site logo

verilog-to-routing / tatum Goto Github PK

View Code? Open in Web Editor NEW
51.0 9.0 9.0 2.14 MB

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

Home Page: https://kmurray.github.io/tatum/

License: MIT License

CMake 3.27% C++ 88.86% Python 4.03% Shell 0.38% Lex 1.34% Yacc 1.75% Makefile 0.38%
sta cad eda tatum

tatum's Introduction

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.

tatum's People

Contributors

kmurray avatar litghost avatar niubits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tatum's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.