Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 VTR Flow  



1.1  ODIN II  





1.2  ABC  





1.3  VPR  





1.4  FASM  







2 See also  





3 References  





4 External links  














Verilog-to-Routing







Add links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Verilog to Routing
Developer(s)The VTR Development Team
Stable release

8.0.0 / 24 March 2020; 4 years ago (2020-03-24)

Repository
Written inC/C++
Operating systemUnix-like
TypeElectronic Design Automation
LicenseMIT License
Websiteverilogtorouting.org

Verilog-to-Routing (VTR) is an open source CAD flow for FPGA devices.[1][2][3] VTR's main purpose is to map a given circuit described in Verilog, a Hardware Description Language, on a given FPGA architecture for research and development purposes; the FPGA architecture targeted could be a novel architecture that a researcher wishes to explore, or it could be an existing commercial FPGA whose architecture has been captured in the VTR input format. The VTR project has many contributors, with lead collaborating universities being the University of Toronto, the University of New Brunswick, and the University of California, Berkeley . Additional contributors include Google, The University of Utah, Princeton University, Altera, Intel, Texas Instruments, and MIT Lincoln Lab.

VTR Flow[edit]

The VTR design flow usually consists of three main component applications: ODIN II which compiles Verilog code to a circuit in Berkeley Logic Interchange Format (BLIF), a human-readable graph representation of the circuit;[4] ABC which optimizes the BLIF circuit produced by ODIN II; and VPR which packs, places and routes the optimized circuit on the given FPGA architecture. There are some additional optional tools that can process the VTR output further. For example, the FASM FPGA Assembly tool can produce programming bitstreams for some commercial FPGAs (Xilinx Artix and Lattice ice40) at the end of the VTR flow, while the OpenFPGA tool integrates with VTR to produce a standard cell layout of a novel (proposed) FPGA. It is also possible to use different tools for the first (HDL synthesis) stage of the VTR flow; for example the Titan Flow [5] uses Quartus to perform the HDL to logic synthesis stage, and then VPR to perform placement and routing, while Symbiflow uses the Yosys synthesis tool followed by VPR placement and routing.

ODIN II[edit]

ODIN II is the HDL compiler of the VTR flow. It transforms a given Verilog code to a BLIF circuit, performs code and circuit optimizations, visualizes circuits,[6] and performs partial mapping of logic to available hard blocks of the given architecture. Also, it can simulate the execution of circuits both for validation as well as power, performance and heat analysis. ODIN II is maintained by the University of New Brunswick.[7]

From the Verilog to Routing website, it is noted: "Odin-II has been deprecated and will be removed in a future version. Now VTR uses Parmys as the default frontend which utilizes Yosys as elaborator with partial mapping features enabled." https://docs.verilogtorouting.org/en/latest/odin/

ABC[edit]

ABC optimizes BLIF circuits by performing logic optimization and technology mapping. ABC is maintained by the University of California, Berkeley.[8]

VPR[edit]

Versatile Place and Route (VPR) is the final component of VTR. Its input is a BLIF circuit, which it packs, places and routes on an input FPGA architecture.

During packing, neighboring and related logic elements of the circuit are clustered together into Logic Blocks matching the hardware of the FPGA. During placement, these logic blocks as well as hard blocks are assigned to the available hardware resources of the FPGA. Finally, during routing the signal connections between blocks are made. VPR is primarily developed by the University of Toronto, with contributions from many other universities and companies.[9]

FASM[edit]

The FPGA Assembly (genfasm) tool will produce a programming bitstream from a VTR implementation (placement and routing of a circuit) on commercial architectures for which complete VTR architecture files describing the FPGA device have been produced. Currently this includes the Xilinx Artix and Lattice ice40 FPGA families. This tool is primarily developed by Google.

See also[edit]

References[edit]

  1. ^ Murray, Kevin E.; Petelin, Oleg; Zhong, Sheng; Wang, Jia Min; ElDafrawy, Mohamed; Legault, Jean-Philippe; Sha, Eugene; Graham, Aaron G.; Wu, Jean; Walker, Matthew J. P.; Zeng, Hanqing; Patros, Panagiotis; Luu, Jason; Kent, Kenneth B.; Betz, Vaughn (2020). "VTR 8: High Performance CAD and Customizable FPGA Architecture Modelling". ACM Transactions on Reconfigurable Technology and Systems. doi:10.1145/3388617. S2CID 218517896.
  • ^ Luu, Jason; Ahmed, Nooruddin; Kent, Kenneth B.; Anderson, Jason; Rose, Jonathan; Betz, Vaughn; Goeders, Jeffrey; Wainberg, Michael; Somerville, Andrew; Yu, Thien; Nasartschuk, Konstantin; Nasr, Miad; Wang, Sen; Liu, Tim (2014). "VTR 7.0: Next Generation Architecture and CAD System for FPGAs". ACM Transactions on Reconfigurable Technology and Systems. 7 (2): 1–30. doi:10.1145/2617593. S2CID 14724049.
  • ^ Rose, Jonathan; Luu, Jason; Yu, Chi Wai; Densmore, Opal; Goeders, Jeffrey; Somerville, Andrew; Kent, Kenneth B.; Jamieson, Peter; Anderson, Jason (2012). "The VTR project: Architecture and CAD for FPGAs from verilog to routing". Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate Arrays - FPGA '12. p. 77. doi:10.1145/2145694.2145708. ISBN 9781450311557. S2CID 6971747.
  • ^ "Berkeley logic interchange format (BLIF)". Oct Tools Distribution. 2: 197–247. 1992.
  • ^ Murray, Kevin; Whitty, Scott; Liu, Suya; Luu, Jason; Betz, Vaughn (2015). "Timing-Driven Titan: Enabling Large Benchmarks and Exploring the Gap Between Academic and Commercial CAD". ACM Transactions on Reconfigurable Technology and Systems. 8 (2): 10. doi:10.1145/2629579. S2CID 17502221.
  • ^ Nasartschuk, Konstantin; Herpers, Rainer; Kent, Kenneth B. (2012). "Visualization support for FPGA architecture exploration". 2012 23rd IEEE International Symposium on Rapid System Prototyping (RSP). pp. 128–134. doi:10.1109/RSP.2012.6380701. ISBN 978-1-4673-2789-3. S2CID 27165710.
  • ^ Jamieson, Peter; Kent, Kenneth B.; Gharibian, Farnaz; Shannon, Lesley (2010). "Odin II - an Open-Source Verilog HDL Synthesis Tool for CAD Research". 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines. pp. 149–156. doi:10.1109/FCCM.2010.31. ISBN 978-1-4244-7142-3. S2CID 9780102.
  • ^ "A system for sequential synthesis and verification". Berkeley A. B. C. 2009.
  • ^ "VPR: A new packing, placement and routing tool for FPGA research". Field-Programmable Logic and Applications. Springer Berlin Heidelberg. 1997.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Verilog-to-Routing&oldid=1228598885"

    Category: 
    Electronic design automation software
    Hidden category: 
    CS1: long volume value
     



    This page was last edited on 12 June 2024, at 03:32 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki