Skip to content

hoangt/FPGA-Placement-Framework

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The FPGA Placement Framework

An FPGA placement framework implemented in Java, including benchmarks

What can I do with this tool flow?

  • Simulated Annealing Placement
  • Analytical Solver Iterative Placement
  • Steepest Gradient Descent Iterative Placement

Usage

Some parts of this toolflow require external packages, you can find these in the file "requirements".

To calculate point to point delays, vpr is used (see option --vpr_command). When compiling vpr, the macro PRINT_ARRAYS has to be defined in "place/timing_place_lookup.c".

Architecture files are currently json-formatted and based on the vpr xml-files.

The command line options can be found by calling interfaces.CLI with the option "--help". The most simple invocation of the toolflow is:

java -cp bin:lib/json-simple-1.1.1.jar interfaces.CLI
benchmarks/k6_frac_N10_mem32K_40nm.xml benchmarks/or1200.blif --placer wld_ap

License

The FPGA Placement Framework is licensed by Ghent University. The license is included in all licensed code and in the repository, it is also printed below.

SOFTWARE LICENSE AGREEMENT

This software license agreement (hereinafter referred to as the "Agreement") provides the terms and conditions under which Universiteit Gent - Ghent University (hereinafter referred to as "UGent") is willing to grant you (being the person or entity installing and using the Licensed Software for Non-Commercial Purposes, hereinafter referred to as the "Licensee") a non-exclusive, limited right to use the Licensed Software under UGent Copyright.

By downloading the Licensed Software, or installing Licensed Software, or using Licensed Software, or clicking on the "accept" button under this Agreement, Licensee agrees to accept the terms and conditions of this Agreement and agrees to be bound by this Agreement. If Licensee does not agree with any of the terms or conditions of this Agreement, he should not download or install or use the Licensed Software.

(1) Licensee warrants and represents that the person accepting this Agreement on behalf of Licensee is its legally authorized representative and is duly authorized to accept agreements of this type on behalf of Licensee and obligate Licensee to the terms and conditions herein. Any breach of this warranty and representation is a material breach of this Agreement and, in such event, this Agreement and the rights granted to Licensee shall terminate automatically.

(2) Definitions - For the purposes of this Agreement, the following terms shall have the following meanings: a) "Software": refers to the computer software supplied with this Agreement named "The FPGA Placement Framework" and provided in Python and Java code form. b) "Licensed Software": refers to the Software, and any other computer software and documentation, if any, supplied with this Agreement. c) "Adaptation": refers to any work based on the Licensed Software, including: 1) any work which incorporates all or part of the Licensed Software, 2) any work which includes modifications to the Software, including but not limited to bug fixes, 3) any work which would be regarded as a derivative work of the Software under the Belgian Copyright Law, and 4) any work which is otherwise covered by any of UGent's intellectual property rights in the Licensed Software. d) "Grant Back Software": refers to any 1) modification of the objects distributed as the Software, including but not limited to the addition, deletion, and modification of verbs and properties on the objects, 2) creation of children to the objects distributed as the Software. e) "Copyright Holder": refers to Universiteit Gent - Ghent University, public institution with legal personality, having its administrative offices in Belgium, B-9000 Gent, Sint-Pietersnieuwstraat 25 (herein also referred to as "UGent") f) "Non-Commercial Purpose": refers to use of the Licensed Software solely for the purpose of education or research. "Non-Commercial Purpose" excludes, without limitation, any use of the Software as part of or in connection with a product (including software) or service which is sold, offered for sale, licensed, leased, loaned or rented.

(3) Adaptations - Licensee may create Adaptations of the Licensed Software only if a. Licensee treats the Adaptations as Licensed Software under this Agreement, and b. the Adaptations include all copyright notices appearing in the Licensed Software, and c. any Adaptations of the Licensed Software do not disable, modify or change the Licensed Software's requirement that an end-user accept the terms and conditions of the license agreement(s) contained in such Licensed Software before use and/or installation and d. any Adaptations of the Licensed Software do not modify or change the terms and conditions of such license agreement(s).

(4) Grant Back - Licensee hereby grants UGent a non-exclusive, royalty-free, fully paid-up, worldwide, perpetual license to: a. Reproduce and prepare derivative works based on and distribute all or part of any Grant Back Software; and b. make, have made, use, offer to sell, sell, license or import any products (including software) or services under any intellectual property rights owned or licensed by Licensee which relate to (1) all or part of any Grant Back Software or (2) methods or concepts embodied in, or implemented through the execution of any Grant Back Software. Licensee shall provide UGent with copies of Grant Back Software in source code form dirk.stroobandt@ugent.be.

(5) Distributing and Receiving Adaptations - Licensee may provide an Adaptation to other people or entities only if: a. either such other people or entities have already downloaded the Licensed Software directly from UGent and have agreed to the same terms as this Agreement, and b. the Adaptation is provided by Licensee for Non-Commercial Purposes, without any charge or fee, c. the Adaptation is provided with a short summary of the difference between the Adaptation and the Licensed Software downloaded from UGent, d. such other people or entities treat the Adaptation as Licensed Software under this Agreement with UGent, and e. before Licensee sends such Adaptation to any other people or entities, Licensee first provides UGent with a copy of the Adaptation (in source code form) and the summary. Licensee shall treat as Licensed Software under this Agreement any Adaptation it may receive from another person or entity.

(6) No Other Rights - Licensee acknowledges that it obtains no ownership rights in the Licensed Software under the terms of this Agreement. All rights in the Licensed Software including but not limited to trade secrets, trademarks, service marks, patents, and copyrights are, shall be and will remain the property and ownership of UGent. All copies of the Licensed Software delivered to Licensee or made by Licensee remain the property of UGent. Except as expressly authorized under this Agreement, Licensee shall not use, copy, distribute, display or transfer the licensed software in any form.

(7) Third party rights - Licensee warrants that it has obtained lawful permission to use all hardware and software required in order to use the Licensed Software including but not limited to obtaining appropriate licenses to use and create software in the Java and Python program languages.

(8) Warranty Disclaimer - UGent has no obligation to support or maintain the Licensed Software and grants Licensee this right to use the Licensed Software "as is". Licensee, and anyone to whom Licensee provides the Licensed Software pursuant to this Agreement, assume total responsibility and risk for Licensee's use of the Licensed Software. UGent does not make, and expressly disclaims, any express or implied warranties, representations or endorsements of any kind whatsoever, including, without limitation, the implied warranties of merchantability or fitness for a particular purpose, and the warranties of title or non-infringement.

In no event shall UGent be liable for (a) any incidental, consequential, or indirect damages (including, without limitation, damages for loss of profits, business interruption, loss of programs or information, and the like) arising out of the use of or inability to use the Licensed Software, even if UGent or any of its authorized representatives has been advised of the possibility of such damages, (b) any claim attributable to errors, omissions, or other inaccuracies in the Licensed Software, or (c) any claim by any third party. By way of example only, UGent does not warrant that the Licensed Software will be error-free. As used in this section, "UGent" includes its employees, directors, officers, agents, representatives, subcontractors, service providers and suppliers.

(9) Sole Remedy - If for any reason the Software is unusable or does not perform as Licensee intended or expected, then Licensee's sole remedy shall be to either terminate this Agreement or to modify the Software to create an Adaptation which is usable or performs as intended or expected. This limitation on remedies shall apply even if Licensee cannot modify the Software to make the Software usable or perform as intended or expected. Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to Licensee. In the event applicable state or federal law does not allow the complete exclusion of any warranties as set forth in this Agreement, UGent's liability is limited to the greatest extent permitted by law.

(10) Communications - By downloading and installing the Licensed Software, Licensee agrees that UGent may send e-mail messages or communications relating to the Licensed Software to Licensee, its employees and representatives.

(11) Termination - This Agreement and the rights granted to Licensee shall terminate automatically if Licensee fails to comply with any of the terms and conditions of this Agreement. Upon termination, all licenses granted herein shall terminate and Licensee shall immediately destroy all copies of the Licensed Software.

(12) Applicable Law - This Agreement shall be governed by and construed in accordance with the laws of the Belgium, without regard to its conflicts of law rules. The Commercial courts of Gent, Belgium are exclusively competent.

(13) Assignment - Neither this Agreement nor any of Licensee's rights hereunder shall be assigned, sublicensed, or transferred (in insolvency proceedings, by mergers, acquisitions or otherwise) by Licensee without the written consent of UGent. Any assignment or other transfer which is inconsistent with the foregoing shall be null and void ab initio. UGent may assign all or a portion of its rights and obligations hereunder.

Contact us

The FPGA Placement Framework is released by Ghent University, ELIS department, Hardware and Embedded Systems (HES) group (http://hes.elis.ugent.be).

If you encounter bugs, want to use the FPGA Placement Framework but need support or want to tell us about your results, please contact us. We can be reached at Elias.Vansteenkiste@gmail.com

Referencing the FPGA Placement Framework

If you use the FPGA Placement Framework in your work, please reference in your publications the following paper:

You may also refer to one of our others papers if you think it is more related.

Contributors

Active Contributors

Past Contributors

Development

The FPGA Placement Framework is a work in progress, input is welcome.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 96.4%
  • Python 3.6%