Giter Club home page Giter Club logo

joaopaulocl / vtr-verilog-to-routing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from verilog-to-routing/vtr-verilog-to-routing

0.0 0.0 0.0 166.3 MB

Verilog to Routing -- Open Source CAD Flow for FPGA Research

Home Page: https://verilogtorouting.org

License: Other

Makefile 0.18% Verilog 5.27% Python 4.41% Shell 0.95% Perl 2.36% C 4.40% C++ 80.20% Yacc 0.79% Lex 0.33% JavaScript 0.67% CSS 0.04% HTML 0.07% CMake 0.22% Dockerfile 0.05% Cap'n Proto 0.05% Nix 0.01%

vtr-verilog-to-routing's Introduction

Verilog to Routing (VTR)

Build Status Documentation Status

Introduction

The Verilog-to-Routing (VTR) project is a world-wide collaborative effort to provide a open-source framework for conducting FPGA architecture and CAD research and development. The VTR design flow takes as input a Verilog description of a digital circuit, and a description of the target FPGA architecture. It then performs:

  • Elaboration & Synthesis (ODIN II)
  • Logic Optimization & Technology Mapping (ABC)
  • Packing, Placement, Routing & Timing Analysis (VPR)

to generate FPGA speed and area results. VTR includes a set of benchmark designs known to work with the design flow.

VTR can also produce FASM to program some commercial FPGAs (via Symbiflow)

Placement (carry-chains highlighted) Critical Path
Logical Connections Routing Utilziation

Documentation

VTR's full documentation includes tutorials, descriptions of the VTR design flow, and tool options.

Also check out our additional support resources.

License

Generally most code is under MIT license, with the exception of ABC which is distributed under its own (permissive) terms. See the full license for details.

How to Cite

The following paper may be used as a general citation for VTR:

K. E. Murray, O. Petelin, S. Zhong, J. M. Wang, M. ElDafrawy, J.-P. Legault, E. Sha, A. G. Graham, J. Wu, M. J. P. Walker, H. Zeng, P. Patros, J. Luu, K. B. Kent and V. Betz "VTR 8: High Performance CAD and Customizable FPGA Architecture Modelling", ACM TRETS, 2020.

Bibtex:

@article{vtr8,
  title={VTR 8: High Performance CAD and Customizable FPGA Architecture Modelling},
  author={Murray, Kevin E. and Petelin, Oleg and Zhong, Sheng and Wang, Jai Min and ElDafrawy, Mohamed and Legault, Jean-Philippe and Sha, Eugene and Graham, Aaron G. and Wu, Jean and Walker, Matthew J. P. and Zeng, Hanqing and Patros, Panagiotis and Luu, Jason and Kent, Kenneth B. and Betz, Vaughn},
  journal={ACM Trans. Reconfigurable Technol. Syst.},
  year={2020}
}

Download

For most users of VTR (rather than active developers) you should download the latest official VTR release, which has been fully regression tested.

Building

On unix-like systems run make from the root VTR directory.

For more details see the building instructions.

Docker

We provide a Dockerfile that sets up all the necessary packages for VTR to run. For more details see here.

Mailing Lists

If you have questions, or want to keep up-to-date with VTR, consider joining our mailing lists:

VTR-Announce: VTR release announcements (low traffic)

VTR-Users: Discussions about using VTR

VTR-Devel: Discussions about VTR development

VTR-Commits: VTR revision control commits

Development

This is the development trunk for the Verilog-to-Routing project. Unlike the nicely packaged releases that we create, you are working with code in a constant state of flux. You should expect that the tools are not always stable and that more work is needed to get the flow to run.

For new developers, please do the tutorial. You will be directed back here once you ramp up.

VTR development follows a classic centralized repository (svn-like) workflow. The 'master' branch is supposed to be the most current stable version of the project. Developers checkout a local copy of the code at the start of development, then do regular updates (e.g. git pull --rebase) to keep in sync with the GitHub master. When a developer has a tested, working change to put back into the trunk, he/she performs a git push operation. Unstable code should remain in the developer's local copy.

We do automated testing of the trunk using BuildBot to verify functionality and Quality of Results (QoR).

IMPORTANT: A broken build must be fixed at top priority. You break the build if your commit breaks any of the automated regression tests.

For additional information see the developer README.

Contributing to VTR

If you'd like to contribute to VTR see our Contribution Guidelines.

Contributors

Please keep this up-to-date

Professors: Kenneth Kent, Vaughn Betz, Jonathan Rose, Jason Anderson, Peter Jamieson

Research Assistants: Aaron Graham

Graduate Students: Kevin Murray, Jason Luu, Oleg Petelin, Mohamed Eldafrawy, Jeffrey Goeders, Chi Wai Yu, Andrew Somerville, Ian Kuon, Alexander Marquardt, Andy Ye, Wei Mark Fang, Tim Liu, Charles Chiasson, Panagiotis (Panos) Patros, Jean-Philippe Legault, Aaron Graham, Nasrin Eshraghi Ivari, Maria Patrou, Scott Young

Summer Students: Opal Densmore, Ted Campbell, Cong Wang, Peter Milankov, Scott Whitty, Michael Wainberg, Suya Liu, Miad Nasr, Nooruddin Ahmed, Thien Yu, Long Yu Wang, Matthew J.P. Walker, Amer Hesson, Sheng Zhong, Hanqing Zeng, Vidya Sankaranarayanan, Jia Min Wang, Eugene Sha, Jean-Philippe Legault, Richard Ren, Dingyu Yang, Alexandrea Demmings, Hillary Soontiens, Julie Brown

Companies: Intel, Huawei, Lattice, Altera Corporation, Texas Instruments, Google, Antmicro

Funding Agencies: NSERC, Semiconductor Research Corporation

vtr-verilog-to-routing's People

Contributors

aarongraham9 avatar acomodi avatar ademmings avatar crmymh avatar danielmhchen avatar gatecat avatar ginginsha avatar golvok avatar hackerfoo avatar j-b-1-7 avatar jean-w avatar jeanlego avatar jgoeders avatar kmurray avatar lemonpi avatar litghost avatar liusuya avatar mithro avatar mohamedeldafrawy avatar mustafabbas avatar mw123 avatar nrootn avatar opetelin avatar sdamghan avatar senwang88 avatar tinayang3024 avatar vaughnbetz avatar wainberg avatar wjiamin avatar zimplex avatar

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.