Giter Site home page Giter Site logo

automata-to-routing's Introduction

Automata to Routing

Automata to Routing is an open-source toolchain to design and evaluate island style spatial automata processing architectures. ATR leverages three open-source tools 1) ANMLZoo, 2) VASim, and 3) VTR to accomplish this task.

Usage

ATR is run by running vpr using an automata circuit file on a valid spatial automata architecture description file. An example script used to run experiments for the FCCM'17 paper is in scripts/run_all.sh.

A simple example using the current mandatory flags is shown below:

vpr --allow_unrelated_clustering off --sweep_dangling_blocks off --timing_analysis off d480.xml <blif_file>.blif

Blif Emission

VASim is capable of generating .blif files from ANML or MNRL graph formats. An example using VASim to generate a blif file after optimizing the automata and enforcing a fan-in of 8 is shown below.

vasim -Ox --enforce-fanin 8 --blif example.anml

Spatial Automata Architecture Description

Most of the difficulty of this project was learning VPR's architecture description format, and building a file that would approximate the Micron D480 Automata Processor. Please refer to the VTR/VPR GitHub or mailing lists for architecture description definition questions.

Note that architectures and .blif files must be co-designed. You may need to modify VASim, or build your own .blif generation tool to be useful with your own architecture.

The original architecture description file used to generate results for the FCCM'17 paper (archs/d480_8row_fccm17.xml) is presented. We used this file with VPR 8.0.0-dev+6e709d2.

archs/d480.xml is maintained to be compatible with the current development trunk of vpr.

TODO

Automata-to-Routing left many interesting questions unanswered. If you are a researcher interested in augmenting ATR or evaluating your own spatial automata processing architecture. This tool is for you!

  • Add timing/power/area modeling.
  • Add functionality for .blif emission and architecture support for boolean logic and counter elements available in the ANML specification.
  • Experiment with VPR command line parameters to get closer to the performance of Micron's compiler.

Citing ATR

Please cite the FCCM'17 paper if you use ATR in your work.

@inproceedings{ATR,  
  title={{Automata-to-Routing: An Open Source Toolchain for Design-Space Exploration of Spatial Automata Processing Architectures}},  
  author={Wadden, Jack and Khan, Samira and Skadron, Kevin},  
  booktitle={Proceedings of the IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM)},  
  year={2017}  
}

LICENSE

The license of the architecture description file and script is BSD 3-clause. Because each .blif file is derived from an ANML file in the ANMLZoo benchmark suite. Each .blif file retains the license available in each benchmark directory at https://github.com/jackwadden/ANMLZoo. Note that the ANMLZoo benchmark suite is subject to change. These files are only kept to support those attempting to compare to the original FCCM paper without the need for VASim, and are not meant to be updated as ANMLZoo evolves.

Acknowledgements

This work was started at the University of Virginia and was supported by the following organizations at some point in time: The ARCS Foundation, the National Science Foundation (EF-1124931), Micron Technologies, and the Center for Future Architectures Research (C-FAR), one of the six centers of STARnet, a Semiconductor Research Corporation program sponsored by MARCO and Darpa.

automata-to-routing's People

Contributors

jackwadden avatar

Watchers

 avatar  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.