Skip to content

lesc-ufv/ropper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

               Ropper-logo

      Ropper - A Placement and Routing tool written in C++

About

This tool is inspired by Dr. Mathias Soeken's work.

The work was split into several submodules, they will all be public as they mature in development, the public ones can be already accessed throught this link.

Our work was published in the 32nd Symposium on Integrated Circuits and Systems Design. In case you would like to make a citation, please use the latex code below, thank you.

@article{ropper,
author = {Ruan Evangelista Formigoni and Ricardo S. Ferreira and Jos\'{e} Augusto M. Nacif},
year = {2019},
month = {7},
title = {Ropper: A Placement and Routing Framework for Field-Coupled Nanotechnologies},
journal = {32nd Symposium on Integrated Circuits and Systems Design (SBCCI '19), August 26--30, 2019, Sao Paulo, Brazil},
doi = {10.1145/3338852.3339838}
}

Installation and Usage

Compiling

It is possible to compile with one of two UIs or just compile the software as a library:

UI (args): This option introduces the usage shown below:

build/main -i circuits/C17.v -o output.json

To compile with this UI use the command:

cmake -D UI=args -H. -Bbuild && cmake --build build

UI (alice): This option uses the alice command shell library.

To compile with this UI use the command:

cmake -D UI=alice -H. -Bbuild && cmake --build build

Library: Allows the usage as a library.

cmake -D UI=library -H. -Bbuild && cmake --build build

If no interface is specified, the library option is set as the default one.

For more detailed installation instructions, usage and configuration read the wiki.

Algorithms

Statistics

Test runs

Circuit Gates Placement Algorithm Routing Algorithm Exec. Time Version
C17 11 Simulated Annealing Breadth-First Search 8.0602 seconds (avg. of 10) Alpha-0.1
C17 11 Simulated Annealing Dynamic Programming 0.935628 seconds (avg. of 100) Alpha-0.2

Planned Features

  • Dynamic field area calculations.

  • Compile-time field distance calculations with constexpr. Template metaprogramming in TBA library.

  • Algorithms

    • Routing
      • Breadth-First Search
      • Dynamic Programming
    • Placement
      • Simulated Annealing
      • Ant colony optimization Moved to TBA library.
      • Firefly algorithm Moved to TBA library.
      • Particle swarm optimization Moved to TBA library.
  • Json format P&R output information.

  • Cairo .png graphical output. Using SVG Graphics in TBA library.

TBA = To Be Announced

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages